github.com/vishvananda/netlink@v1.3.1/nl/seg6local_linux.go (about)

     1  package nl
     2  
     3  import ()
     4  
     5  // seg6local parameters
     6  const (
     7  	SEG6_LOCAL_UNSPEC = iota
     8  	SEG6_LOCAL_ACTION
     9  	SEG6_LOCAL_SRH
    10  	SEG6_LOCAL_TABLE
    11  	SEG6_LOCAL_NH4
    12  	SEG6_LOCAL_NH6
    13  	SEG6_LOCAL_IIF
    14  	SEG6_LOCAL_OIF
    15  	SEG6_LOCAL_BPF
    16  	SEG6_LOCAL_VRFTABLE
    17  	__SEG6_LOCAL_MAX
    18  )
    19  const (
    20  	SEG6_LOCAL_MAX = __SEG6_LOCAL_MAX
    21  )
    22  
    23  // seg6local actions
    24  const (
    25  	SEG6_LOCAL_ACTION_END           = iota + 1 // 1
    26  	SEG6_LOCAL_ACTION_END_X                    // 2
    27  	SEG6_LOCAL_ACTION_END_T                    // 3
    28  	SEG6_LOCAL_ACTION_END_DX2                  // 4
    29  	SEG6_LOCAL_ACTION_END_DX6                  // 5
    30  	SEG6_LOCAL_ACTION_END_DX4                  // 6
    31  	SEG6_LOCAL_ACTION_END_DT6                  // 7
    32  	SEG6_LOCAL_ACTION_END_DT4                  // 8
    33  	SEG6_LOCAL_ACTION_END_B6                   // 9
    34  	SEG6_LOCAL_ACTION_END_B6_ENCAPS            // 10
    35  	SEG6_LOCAL_ACTION_END_BM                   // 11
    36  	SEG6_LOCAL_ACTION_END_S                    // 12
    37  	SEG6_LOCAL_ACTION_END_AS                   // 13
    38  	SEG6_LOCAL_ACTION_END_AM                   // 14
    39  	SEG6_LOCAL_ACTION_END_BPF                  // 15
    40  	__SEG6_LOCAL_ACTION_MAX
    41  )
    42  const (
    43  	SEG6_LOCAL_ACTION_MAX = __SEG6_LOCAL_ACTION_MAX - 1
    44  )
    45  
    46  // Helper functions
    47  func SEG6LocalActionString(action int) string {
    48  	switch action {
    49  	case SEG6_LOCAL_ACTION_END:
    50  		return "End"
    51  	case SEG6_LOCAL_ACTION_END_X:
    52  		return "End.X"
    53  	case SEG6_LOCAL_ACTION_END_T:
    54  		return "End.T"
    55  	case SEG6_LOCAL_ACTION_END_DX2:
    56  		return "End.DX2"
    57  	case SEG6_LOCAL_ACTION_END_DX6:
    58  		return "End.DX6"
    59  	case SEG6_LOCAL_ACTION_END_DX4:
    60  		return "End.DX4"
    61  	case SEG6_LOCAL_ACTION_END_DT6:
    62  		return "End.DT6"
    63  	case SEG6_LOCAL_ACTION_END_DT4:
    64  		return "End.DT4"
    65  	case SEG6_LOCAL_ACTION_END_B6:
    66  		return "End.B6"
    67  	case SEG6_LOCAL_ACTION_END_B6_ENCAPS:
    68  		return "End.B6.Encaps"
    69  	case SEG6_LOCAL_ACTION_END_BM:
    70  		return "End.BM"
    71  	case SEG6_LOCAL_ACTION_END_S:
    72  		return "End.S"
    73  	case SEG6_LOCAL_ACTION_END_AS:
    74  		return "End.AS"
    75  	case SEG6_LOCAL_ACTION_END_AM:
    76  		return "End.AM"
    77  	case SEG6_LOCAL_ACTION_END_BPF:
    78  		return "End.BPF"
    79  	}
    80  	return "unknown"
    81  }