github.com/edwarnicke/govpp@v0.0.0-20230130211138-14ef5d20b1d0/binapi/fib_types/fib_types.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 // versions: 3 // binapi-generator: v0.4.0-dev 4 // VPP: 23.02-rc0~189-g57127b32a 5 // source: /usr/share/vpp/api/core/fib_types.api.json 6 7 // Package fib_types contains generated bindings for API file fib_types.api. 8 // 9 // Contents: 10 // 3 enums 11 // 3 structs 12 // 13 package fib_types 14 15 import ( 16 "strconv" 17 18 api "git.fd.io/govpp.git/api" 19 ip_types "github.com/edwarnicke/govpp/binapi/ip_types" 20 ) 21 22 // This is a compile-time assertion to ensure that this generated file 23 // is compatible with the GoVPP api package it is being compiled against. 24 // A compilation error at this line likely means your copy of the 25 // GoVPP api package needs to be updated. 26 const _ = api.GoVppAPIPackageIsVersion2 27 28 // FibPathFlags defines enum 'fib_path_flags'. 29 type FibPathFlags uint32 30 31 const ( 32 FIB_API_PATH_FLAG_NONE FibPathFlags = 0 33 FIB_API_PATH_FLAG_RESOLVE_VIA_ATTACHED FibPathFlags = 1 34 FIB_API_PATH_FLAG_RESOLVE_VIA_HOST FibPathFlags = 2 35 FIB_API_PATH_FLAG_POP_PW_CW FibPathFlags = 4 36 ) 37 38 var ( 39 FibPathFlags_name = map[uint32]string{ 40 0: "FIB_API_PATH_FLAG_NONE", 41 1: "FIB_API_PATH_FLAG_RESOLVE_VIA_ATTACHED", 42 2: "FIB_API_PATH_FLAG_RESOLVE_VIA_HOST", 43 4: "FIB_API_PATH_FLAG_POP_PW_CW", 44 } 45 FibPathFlags_value = map[string]uint32{ 46 "FIB_API_PATH_FLAG_NONE": 0, 47 "FIB_API_PATH_FLAG_RESOLVE_VIA_ATTACHED": 1, 48 "FIB_API_PATH_FLAG_RESOLVE_VIA_HOST": 2, 49 "FIB_API_PATH_FLAG_POP_PW_CW": 4, 50 } 51 ) 52 53 func (x FibPathFlags) String() string { 54 s, ok := FibPathFlags_name[uint32(x)] 55 if ok { 56 return s 57 } 58 str := func(n uint32) string { 59 s, ok := FibPathFlags_name[uint32(n)] 60 if ok { 61 return s 62 } 63 return "FibPathFlags(" + strconv.Itoa(int(n)) + ")" 64 } 65 for i := uint32(0); i <= 32; i++ { 66 val := uint32(x) 67 if val&(1<<i) != 0 { 68 if s != "" { 69 s += "|" 70 } 71 s += str(1 << i) 72 } 73 } 74 if s == "" { 75 return str(uint32(x)) 76 } 77 return s 78 } 79 80 // FibPathNhProto defines enum 'fib_path_nh_proto'. 81 type FibPathNhProto uint32 82 83 const ( 84 FIB_API_PATH_NH_PROTO_IP4 FibPathNhProto = 0 85 FIB_API_PATH_NH_PROTO_IP6 FibPathNhProto = 1 86 FIB_API_PATH_NH_PROTO_MPLS FibPathNhProto = 2 87 FIB_API_PATH_NH_PROTO_ETHERNET FibPathNhProto = 3 88 FIB_API_PATH_NH_PROTO_BIER FibPathNhProto = 4 89 ) 90 91 var ( 92 FibPathNhProto_name = map[uint32]string{ 93 0: "FIB_API_PATH_NH_PROTO_IP4", 94 1: "FIB_API_PATH_NH_PROTO_IP6", 95 2: "FIB_API_PATH_NH_PROTO_MPLS", 96 3: "FIB_API_PATH_NH_PROTO_ETHERNET", 97 4: "FIB_API_PATH_NH_PROTO_BIER", 98 } 99 FibPathNhProto_value = map[string]uint32{ 100 "FIB_API_PATH_NH_PROTO_IP4": 0, 101 "FIB_API_PATH_NH_PROTO_IP6": 1, 102 "FIB_API_PATH_NH_PROTO_MPLS": 2, 103 "FIB_API_PATH_NH_PROTO_ETHERNET": 3, 104 "FIB_API_PATH_NH_PROTO_BIER": 4, 105 } 106 ) 107 108 func (x FibPathNhProto) String() string { 109 s, ok := FibPathNhProto_name[uint32(x)] 110 if ok { 111 return s 112 } 113 return "FibPathNhProto(" + strconv.Itoa(int(x)) + ")" 114 } 115 116 // FibPathType defines enum 'fib_path_type'. 117 type FibPathType uint32 118 119 const ( 120 FIB_API_PATH_TYPE_NORMAL FibPathType = 0 121 FIB_API_PATH_TYPE_LOCAL FibPathType = 1 122 FIB_API_PATH_TYPE_DROP FibPathType = 2 123 FIB_API_PATH_TYPE_UDP_ENCAP FibPathType = 3 124 FIB_API_PATH_TYPE_BIER_IMP FibPathType = 4 125 FIB_API_PATH_TYPE_ICMP_UNREACH FibPathType = 5 126 FIB_API_PATH_TYPE_ICMP_PROHIBIT FibPathType = 6 127 FIB_API_PATH_TYPE_SOURCE_LOOKUP FibPathType = 7 128 FIB_API_PATH_TYPE_DVR FibPathType = 8 129 FIB_API_PATH_TYPE_INTERFACE_RX FibPathType = 9 130 FIB_API_PATH_TYPE_CLASSIFY FibPathType = 10 131 ) 132 133 var ( 134 FibPathType_name = map[uint32]string{ 135 0: "FIB_API_PATH_TYPE_NORMAL", 136 1: "FIB_API_PATH_TYPE_LOCAL", 137 2: "FIB_API_PATH_TYPE_DROP", 138 3: "FIB_API_PATH_TYPE_UDP_ENCAP", 139 4: "FIB_API_PATH_TYPE_BIER_IMP", 140 5: "FIB_API_PATH_TYPE_ICMP_UNREACH", 141 6: "FIB_API_PATH_TYPE_ICMP_PROHIBIT", 142 7: "FIB_API_PATH_TYPE_SOURCE_LOOKUP", 143 8: "FIB_API_PATH_TYPE_DVR", 144 9: "FIB_API_PATH_TYPE_INTERFACE_RX", 145 10: "FIB_API_PATH_TYPE_CLASSIFY", 146 } 147 FibPathType_value = map[string]uint32{ 148 "FIB_API_PATH_TYPE_NORMAL": 0, 149 "FIB_API_PATH_TYPE_LOCAL": 1, 150 "FIB_API_PATH_TYPE_DROP": 2, 151 "FIB_API_PATH_TYPE_UDP_ENCAP": 3, 152 "FIB_API_PATH_TYPE_BIER_IMP": 4, 153 "FIB_API_PATH_TYPE_ICMP_UNREACH": 5, 154 "FIB_API_PATH_TYPE_ICMP_PROHIBIT": 6, 155 "FIB_API_PATH_TYPE_SOURCE_LOOKUP": 7, 156 "FIB_API_PATH_TYPE_DVR": 8, 157 "FIB_API_PATH_TYPE_INTERFACE_RX": 9, 158 "FIB_API_PATH_TYPE_CLASSIFY": 10, 159 } 160 ) 161 162 func (x FibPathType) String() string { 163 s, ok := FibPathType_name[uint32(x)] 164 if ok { 165 return s 166 } 167 return "FibPathType(" + strconv.Itoa(int(x)) + ")" 168 } 169 170 // FibMplsLabel defines type 'fib_mpls_label'. 171 type FibMplsLabel struct { 172 IsUniform uint8 `binapi:"u8,name=is_uniform" json:"is_uniform,omitempty"` 173 Label uint32 `binapi:"u32,name=label" json:"label,omitempty"` 174 TTL uint8 `binapi:"u8,name=ttl" json:"ttl,omitempty"` 175 Exp uint8 `binapi:"u8,name=exp" json:"exp,omitempty"` 176 } 177 178 // FibPath defines type 'fib_path'. 179 type FibPath struct { 180 SwIfIndex uint32 `binapi:"u32,name=sw_if_index" json:"sw_if_index,omitempty"` 181 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 182 RpfID uint32 `binapi:"u32,name=rpf_id" json:"rpf_id,omitempty"` 183 Weight uint8 `binapi:"u8,name=weight" json:"weight,omitempty"` 184 Preference uint8 `binapi:"u8,name=preference" json:"preference,omitempty"` 185 Type FibPathType `binapi:"fib_path_type,name=type" json:"type,omitempty"` 186 Flags FibPathFlags `binapi:"fib_path_flags,name=flags" json:"flags,omitempty"` 187 Proto FibPathNhProto `binapi:"fib_path_nh_proto,name=proto" json:"proto,omitempty"` 188 Nh FibPathNh `binapi:"fib_path_nh,name=nh" json:"nh,omitempty"` 189 NLabels uint8 `binapi:"u8,name=n_labels" json:"n_labels,omitempty"` 190 LabelStack [16]FibMplsLabel `binapi:"fib_mpls_label[16],name=label_stack" json:"label_stack,omitempty"` 191 } 192 193 // FibPathNh defines type 'fib_path_nh'. 194 type FibPathNh struct { 195 Address ip_types.AddressUnion `binapi:"address_union,name=address" json:"address,omitempty"` 196 ViaLabel uint32 `binapi:"u32,name=via_label" json:"via_label,omitempty"` 197 ObjID uint32 `binapi:"u32,name=obj_id" json:"obj_id,omitempty"` 198 ClassifyTableIndex uint32 `binapi:"u32,name=classify_table_index" json:"classify_table_index,omitempty"` 199 }