aboutsummaryrefslogtreecommitdiffstats
path: root/examples/binapi/sr/sr.ba.go
diff options
context:
space:
mode:
Diffstat (limited to 'examples/binapi/sr/sr.ba.go')
-rw-r--r--examples/binapi/sr/sr.ba.go688
1 files changed, 398 insertions, 290 deletions
diff --git a/examples/binapi/sr/sr.ba.go b/examples/binapi/sr/sr.ba.go
index b870456..336cfe2 100644
--- a/examples/binapi/sr/sr.ba.go
+++ b/examples/binapi/sr/sr.ba.go
@@ -1,15 +1,18 @@
// Code generated by GoVPP's binapi-generator. DO NOT EDIT.
// versions:
-// binapi-generator: v0.4.0-alpha-1-g435c3f4-dirty
-// VPP: 20.01-45~g7a071e370~b63
+// binapi-generator: v0.4.0-dev
+// VPP: 20.05-release
// source: /usr/share/vpp/api/core/sr.api.json
/*
-Package sr contains generated code for VPP binary API defined by sr.api (version 1.2.0).
+Package sr contains generated code for VPP API file sr.api (2.0.0).
It consists of:
+ 6 aliases
+ 13 enums
20 messages
- 3 types
+ 7 types
+ 1 union
*/
package sr
@@ -24,6 +27,9 @@ import (
api "git.fd.io/govpp.git/api"
codec "git.fd.io/govpp.git/codec"
struc "github.com/lunixbochs/struc"
+
+ interface_types "git.fd.io/govpp.git/examples/binapi/interface_types"
+ ip_types "git.fd.io/govpp.git/examples/binapi/ip_types"
)
// This is a compile-time assertion to ensure that this generated file
@@ -36,50 +42,195 @@ const (
// ModuleName is the name of this module.
ModuleName = "sr"
// APIVersion is the API version of this module.
- APIVersion = "1.2.0"
+ APIVersion = "2.0.0"
// VersionCrc is the CRC of this module.
- VersionCrc = 0xbf277f96
+ VersionCrc = 0xd85c77ca
+)
+
+type AddressFamily = ip_types.AddressFamily
+
+type IfStatusFlags = interface_types.IfStatusFlags
+
+type IfType = interface_types.IfType
+
+type IPDscp = ip_types.IPDscp
+
+type IPEcn = ip_types.IPEcn
+
+type IPProto = ip_types.IPProto
+
+type LinkDuplex = interface_types.LinkDuplex
+
+type MtuProto = interface_types.MtuProto
+
+type RxMode = interface_types.RxMode
+
+// SrBehavior represents VPP binary API enum 'sr_behavior'.
+type SrBehavior uint8
+
+const (
+ SR_BEHAVIOR_API_END SrBehavior = 1
+ SR_BEHAVIOR_API_X SrBehavior = 2
+ SR_BEHAVIOR_API_T SrBehavior = 3
+ SR_BEHAVIOR_API_D_FIRST SrBehavior = 4
+ SR_BEHAVIOR_API_DX2 SrBehavior = 5
+ SR_BEHAVIOR_API_DX6 SrBehavior = 6
+ SR_BEHAVIOR_API_DX4 SrBehavior = 7
+ SR_BEHAVIOR_API_DT6 SrBehavior = 8
+ SR_BEHAVIOR_API_DT4 SrBehavior = 9
+ SR_BEHAVIOR_API_LAST SrBehavior = 10
)
-// SrIP6Address represents VPP binary API type 'sr_ip6_address'.
-type SrIP6Address struct {
- Data []byte `binapi:"u8[16],name=data" json:"data,omitempty" struc:"[16]byte"`
+var (
+ SrBehavior_name = map[uint8]string{
+ 1: "SR_BEHAVIOR_API_END",
+ 2: "SR_BEHAVIOR_API_X",
+ 3: "SR_BEHAVIOR_API_T",
+ 4: "SR_BEHAVIOR_API_D_FIRST",
+ 5: "SR_BEHAVIOR_API_DX2",
+ 6: "SR_BEHAVIOR_API_DX6",
+ 7: "SR_BEHAVIOR_API_DX4",
+ 8: "SR_BEHAVIOR_API_DT6",
+ 9: "SR_BEHAVIOR_API_DT4",
+ 10: "SR_BEHAVIOR_API_LAST",
+ }
+ SrBehavior_value = map[string]uint8{
+ "SR_BEHAVIOR_API_END": 1,
+ "SR_BEHAVIOR_API_X": 2,
+ "SR_BEHAVIOR_API_T": 3,
+ "SR_BEHAVIOR_API_D_FIRST": 4,
+ "SR_BEHAVIOR_API_DX2": 5,
+ "SR_BEHAVIOR_API_DX6": 6,
+ "SR_BEHAVIOR_API_DX4": 7,
+ "SR_BEHAVIOR_API_DT6": 8,
+ "SR_BEHAVIOR_API_DT4": 9,
+ "SR_BEHAVIOR_API_LAST": 10,
+ }
+)
+
+func (x SrBehavior) String() string {
+ s, ok := SrBehavior_name[uint8(x)]
+ if ok {
+ return s
+ }
+ return "SrBehavior(" + strconv.Itoa(int(x)) + ")"
}
-func (*SrIP6Address) GetTypeName() string { return "sr_ip6_address" }
+// SrPolicyOp represents VPP binary API enum 'sr_policy_op'.
+type SrPolicyOp uint8
-// Srv6Sid represents VPP binary API type 'srv6_sid'.
-type Srv6Sid struct {
- Addr []byte `binapi:"u8[16],name=addr" json:"addr,omitempty" struc:"[16]byte"`
+const (
+ SR_POLICY_OP_API_NONE SrPolicyOp = 0
+ SR_POLICY_OP_API_ADD SrPolicyOp = 1
+ SR_POLICY_OP_API_DEL SrPolicyOp = 2
+ SR_POLICY_OP_API_MOD SrPolicyOp = 3
+)
+
+var (
+ SrPolicyOp_name = map[uint8]string{
+ 0: "SR_POLICY_OP_API_NONE",
+ 1: "SR_POLICY_OP_API_ADD",
+ 2: "SR_POLICY_OP_API_DEL",
+ 3: "SR_POLICY_OP_API_MOD",
+ }
+ SrPolicyOp_value = map[string]uint8{
+ "SR_POLICY_OP_API_NONE": 0,
+ "SR_POLICY_OP_API_ADD": 1,
+ "SR_POLICY_OP_API_DEL": 2,
+ "SR_POLICY_OP_API_MOD": 3,
+ }
+)
+
+func (x SrPolicyOp) String() string {
+ s, ok := SrPolicyOp_name[uint8(x)]
+ if ok {
+ return s
+ }
+ return "SrPolicyOp(" + strconv.Itoa(int(x)) + ")"
}
-func (*Srv6Sid) GetTypeName() string { return "srv6_sid" }
+// SrSteer represents VPP binary API enum 'sr_steer'.
+type SrSteer uint8
+
+const (
+ SR_STEER_API_L2 SrSteer = 2
+ SR_STEER_API_IPV4 SrSteer = 4
+ SR_STEER_API_IPV6 SrSteer = 6
+)
+
+var (
+ SrSteer_name = map[uint8]string{
+ 2: "SR_STEER_API_L2",
+ 4: "SR_STEER_API_IPV4",
+ 6: "SR_STEER_API_IPV6",
+ }
+ SrSteer_value = map[string]uint8{
+ "SR_STEER_API_L2": 2,
+ "SR_STEER_API_IPV4": 4,
+ "SR_STEER_API_IPV6": 6,
+ }
+)
+
+func (x SrSteer) String() string {
+ s, ok := SrSteer_name[uint8(x)]
+ if ok {
+ return s
+ }
+ return "SrSteer(" + strconv.Itoa(int(x)) + ")"
+}
+
+type SubIfFlags = interface_types.SubIfFlags
+
+type AddressWithPrefix = ip_types.AddressWithPrefix
+
+type InterfaceIndex = interface_types.InterfaceIndex
+
+type IP4Address = ip_types.IP4Address
+
+type IP4AddressWithPrefix = ip_types.IP4AddressWithPrefix
+
+type IP6Address = ip_types.IP6Address
+
+type IP6AddressWithPrefix = ip_types.IP6AddressWithPrefix
+
+type Address = ip_types.Address
+
+type IP4Prefix = ip_types.IP4Prefix
+
+type IP6Prefix = ip_types.IP6Prefix
+
+type Mprefix = ip_types.Mprefix
+
+type Prefix = ip_types.Prefix
+
+type PrefixMatcher = ip_types.PrefixMatcher
// Srv6SidList represents VPP binary API type 'srv6_sid_list'.
type Srv6SidList struct {
- NumSids uint8 `binapi:"u8,name=num_sids" json:"num_sids,omitempty"`
- Weight uint32 `binapi:"u32,name=weight" json:"weight,omitempty"`
- Sids [16]Srv6Sid `binapi:"srv6_sid[16],name=sids" json:"sids,omitempty" struc:"[16]Srv6Sid"`
+ NumSids uint8 `binapi:"u8,name=num_sids" json:"num_sids,omitempty"`
+ Weight uint32 `binapi:"u32,name=weight" json:"weight,omitempty"`
+ Sids [16]IP6Address `binapi:"ip6_address[16],name=sids" json:"sids,omitempty" struc:"[16]IP6Address"`
}
func (*Srv6SidList) GetTypeName() string { return "srv6_sid_list" }
+type AddressUnion = ip_types.AddressUnion
+
// SrLocalsidAddDel represents VPP binary API message 'sr_localsid_add_del'.
type SrLocalsidAddDel struct {
- IsDel uint8 `binapi:"u8,name=is_del" json:"is_del,omitempty"`
- Localsid Srv6Sid `binapi:"srv6_sid,name=localsid" json:"localsid,omitempty"`
- EndPsp uint8 `binapi:"u8,name=end_psp" json:"end_psp,omitempty"`
- Behavior uint8 `binapi:"u8,name=behavior" json:"behavior,omitempty"`
- SwIfIndex uint32 `binapi:"u32,name=sw_if_index" json:"sw_if_index,omitempty"`
- VlanIndex uint32 `binapi:"u32,name=vlan_index" json:"vlan_index,omitempty"`
- FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
- NhAddr6 []byte `binapi:"u8[16],name=nh_addr6" json:"nh_addr6,omitempty" struc:"[16]byte"`
- NhAddr4 []byte `binapi:"u8[4],name=nh_addr4" json:"nh_addr4,omitempty" struc:"[4]byte"`
+ IsDel bool `binapi:"bool,name=is_del,default=false" json:"is_del,omitempty"`
+ Localsid IP6Address `binapi:"ip6_address,name=localsid" json:"localsid,omitempty"`
+ EndPsp bool `binapi:"bool,name=end_psp" json:"end_psp,omitempty"`
+ Behavior SrBehavior `binapi:"sr_behavior,name=behavior" json:"behavior,omitempty"`
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4294967295" json:"sw_if_index,omitempty"`
+ VlanIndex uint32 `binapi:"u32,name=vlan_index" json:"vlan_index,omitempty"`
+ FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
+ NhAddr Address `binapi:"address,name=nh_addr" json:"nh_addr,omitempty"`
}
func (m *SrLocalsidAddDel) Reset() { *m = SrLocalsidAddDel{} }
func (*SrLocalsidAddDel) GetMessageName() string { return "sr_localsid_add_del" }
-func (*SrLocalsidAddDel) GetCrcString() string { return "b30489eb" }
+func (*SrLocalsidAddDel) GetCrcString() string { return "26fa3309" }
func (*SrLocalsidAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
func (m *SrLocalsidAddDel) Size() int {
@@ -90,7 +241,6 @@ func (m *SrLocalsidAddDel) Size() int {
// field[1] m.IsDel
size += 1
// field[1] m.Localsid
- // field[2] m.Localsid.Addr
size += 16
// field[1] m.EndPsp
size += 1
@@ -102,10 +252,11 @@ func (m *SrLocalsidAddDel) Size() int {
size += 4
// field[1] m.FibTable
size += 4
- // field[1] m.NhAddr6
+ // field[1] m.NhAddr
+ // field[2] m.NhAddr.Af
+ size += 1
+ // field[2] m.NhAddr.Un
size += 16
- // field[1] m.NhAddr4
- size += 4
return size
}
func (m *SrLocalsidAddDel) Marshal(b []byte) ([]byte, error) {
@@ -120,20 +271,23 @@ func (m *SrLocalsidAddDel) Marshal(b []byte) ([]byte, error) {
buf = b
}
// field[1] m.IsDel
- buf[pos] = uint8(m.IsDel)
+ if m.IsDel {
+ buf[pos] = 1
+ }
pos += 1
// field[1] m.Localsid
- // field[2] m.Localsid.Addr
for i := 0; i < 16; i++ {
var x uint8
- if i < len(m.Localsid.Addr) {
- x = uint8(m.Localsid.Addr[i])
+ if i < len(m.Localsid) {
+ x = uint8(m.Localsid[i])
}
buf[pos] = uint8(x)
pos += 1
}
// field[1] m.EndPsp
- buf[pos] = uint8(m.EndPsp)
+ if m.EndPsp {
+ buf[pos] = 1
+ }
pos += 1
// field[1] m.Behavior
buf[pos] = uint8(m.Behavior)
@@ -147,24 +301,13 @@ func (m *SrLocalsidAddDel) Marshal(b []byte) ([]byte, error) {
// field[1] m.FibTable
o.PutUint32(buf[pos:pos+4], uint32(m.FibTable))
pos += 4
- // field[1] m.NhAddr6
- for i := 0; i < 16; i++ {
- var x uint8
- if i < len(m.NhAddr6) {
- x = uint8(m.NhAddr6[i])
- }
- buf[pos] = uint8(x)
- pos += 1
- }
- // field[1] m.NhAddr4
- for i := 0; i < 4; i++ {
- var x uint8
- if i < len(m.NhAddr4) {
- x = uint8(m.NhAddr4[i])
- }
- buf[pos] = uint8(x)
- pos += 1
- }
+ // field[1] m.NhAddr
+ // field[2] m.NhAddr.Af
+ buf[pos] = uint8(m.NhAddr.Af)
+ pos += 1
+ // field[2] m.NhAddr.Un
+ copy(buf[pos:pos+16], m.NhAddr.Un.XXX_UnionData[:])
+ pos += 16
return buf, nil
}
func (m *SrLocalsidAddDel) Unmarshal(tmp []byte) error {
@@ -173,23 +316,21 @@ func (m *SrLocalsidAddDel) Unmarshal(tmp []byte) error {
pos := 0
_ = pos
// field[1] m.IsDel
- m.IsDel = uint8(tmp[pos])
+ m.IsDel = tmp[pos] != 0
pos += 1
// field[1] m.Localsid
- // field[2] m.Localsid.Addr
- m.Localsid.Addr = make([]uint8, 16)
- for i := 0; i < len(m.Localsid.Addr); i++ {
- m.Localsid.Addr[i] = uint8(tmp[pos])
+ for i := 0; i < len(m.Localsid); i++ {
+ m.Localsid[i] = uint8(tmp[pos])
pos += 1
}
// field[1] m.EndPsp
- m.EndPsp = uint8(tmp[pos])
+ m.EndPsp = tmp[pos] != 0
pos += 1
// field[1] m.Behavior
- m.Behavior = uint8(tmp[pos])
+ m.Behavior = SrBehavior(tmp[pos])
pos += 1
// field[1] m.SwIfIndex
- m.SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
pos += 4
// field[1] m.VlanIndex
m.VlanIndex = uint32(o.Uint32(tmp[pos : pos+4]))
@@ -197,18 +338,13 @@ func (m *SrLocalsidAddDel) Unmarshal(tmp []byte) error {
// field[1] m.FibTable
m.FibTable = uint32(o.Uint32(tmp[pos : pos+4]))
pos += 4
- // field[1] m.NhAddr6
- m.NhAddr6 = make([]uint8, 16)
- for i := 0; i < len(m.NhAddr6); i++ {
- m.NhAddr6[i] = uint8(tmp[pos])
- pos += 1
- }
- // field[1] m.NhAddr4
- m.NhAddr4 = make([]uint8, 4)
- for i := 0; i < len(m.NhAddr4); i++ {
- m.NhAddr4[i] = uint8(tmp[pos])
- pos += 1
- }
+ // field[1] m.NhAddr
+ // field[2] m.NhAddr.Af
+ m.NhAddr.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[2] m.NhAddr.Un
+ copy(m.NhAddr.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
return nil
}
@@ -260,19 +396,18 @@ func (m *SrLocalsidAddDelReply) Unmarshal(tmp []byte) error {
// SrLocalsidsDetails represents VPP binary API message 'sr_localsids_details'.
type SrLocalsidsDetails struct {
- Addr Srv6Sid `binapi:"srv6_sid,name=addr" json:"addr,omitempty"`
- EndPsp uint8 `binapi:"u8,name=end_psp" json:"end_psp,omitempty"`
- Behavior uint16 `binapi:"u16,name=behavior" json:"behavior,omitempty"`
- FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
- VlanIndex uint32 `binapi:"u32,name=vlan_index" json:"vlan_index,omitempty"`
- XconnectNhAddr6 []byte `binapi:"u8[16],name=xconnect_nh_addr6" json:"xconnect_nh_addr6,omitempty" struc:"[16]byte"`
- XconnectNhAddr4 []byte `binapi:"u8[4],name=xconnect_nh_addr4" json:"xconnect_nh_addr4,omitempty" struc:"[4]byte"`
- XconnectIfaceOrVrfTable uint32 `binapi:"u32,name=xconnect_iface_or_vrf_table" json:"xconnect_iface_or_vrf_table,omitempty"`
+ Addr IP6Address `binapi:"ip6_address,name=addr" json:"addr,omitempty"`
+ EndPsp bool `binapi:"bool,name=end_psp" json:"end_psp,omitempty"`
+ Behavior SrBehavior `binapi:"sr_behavior,name=behavior" json:"behavior,omitempty"`
+ FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
+ VlanIndex uint32 `binapi:"u32,name=vlan_index" json:"vlan_index,omitempty"`
+ XconnectNhAddr Address `binapi:"address,name=xconnect_nh_addr" json:"xconnect_nh_addr,omitempty"`
+ XconnectIfaceOrVrfTable uint32 `binapi:"u32,name=xconnect_iface_or_vrf_table" json:"xconnect_iface_or_vrf_table,omitempty"`
}
func (m *SrLocalsidsDetails) Reset() { *m = SrLocalsidsDetails{} }
func (*SrLocalsidsDetails) GetMessageName() string { return "sr_localsids_details" }
-func (*SrLocalsidsDetails) GetCrcString() string { return "0791babc" }
+func (*SrLocalsidsDetails) GetCrcString() string { return "6a6c0265" }
func (*SrLocalsidsDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
func (m *SrLocalsidsDetails) Size() int {
@@ -281,20 +416,20 @@ func (m *SrLocalsidsDetails) Size() int {
}
var size int
// field[1] m.Addr
- // field[2] m.Addr.Addr
size += 16
// field[1] m.EndPsp
size += 1
// field[1] m.Behavior
- size += 2
+ size += 1
// field[1] m.FibTable
size += 4
// field[1] m.VlanIndex
size += 4
- // field[1] m.XconnectNhAddr6
+ // field[1] m.XconnectNhAddr
+ // field[2] m.XconnectNhAddr.Af
+ size += 1
+ // field[2] m.XconnectNhAddr.Un
size += 16
- // field[1] m.XconnectNhAddr4
- size += 4
// field[1] m.XconnectIfaceOrVrfTable
size += 4
return size
@@ -311,45 +446,35 @@ func (m *SrLocalsidsDetails) Marshal(b []byte) ([]byte, error) {
buf = b
}
// field[1] m.Addr
- // field[2] m.Addr.Addr
for i := 0; i < 16; i++ {
var x uint8
- if i < len(m.Addr.Addr) {
- x = uint8(m.Addr.Addr[i])
+ if i < len(m.Addr) {
+ x = uint8(m.Addr[i])
}
buf[pos] = uint8(x)
pos += 1
}
// field[1] m.EndPsp
- buf[pos] = uint8(m.EndPsp)
+ if m.EndPsp {
+ buf[pos] = 1
+ }
pos += 1
// field[1] m.Behavior
- o.PutUint16(buf[pos:pos+2], uint16(m.Behavior))
- pos += 2
+ buf[pos] = uint8(m.Behavior)
+ pos += 1
// field[1] m.FibTable
o.PutUint32(buf[pos:pos+4], uint32(m.FibTable))
pos += 4
// field[1] m.VlanIndex
o.PutUint32(buf[pos:pos+4], uint32(m.VlanIndex))
pos += 4
- // field[1] m.XconnectNhAddr6
- for i := 0; i < 16; i++ {
- var x uint8
- if i < len(m.XconnectNhAddr6) {
- x = uint8(m.XconnectNhAddr6[i])
- }
- buf[pos] = uint8(x)
- pos += 1
- }
- // field[1] m.XconnectNhAddr4
- for i := 0; i < 4; i++ {
- var x uint8
- if i < len(m.XconnectNhAddr4) {
- x = uint8(m.XconnectNhAddr4[i])
- }
- buf[pos] = uint8(x)
- pos += 1
- }
+ // field[1] m.XconnectNhAddr
+ // field[2] m.XconnectNhAddr.Af
+ buf[pos] = uint8(m.XconnectNhAddr.Af)
+ pos += 1
+ // field[2] m.XconnectNhAddr.Un
+ copy(buf[pos:pos+16], m.XconnectNhAddr.Un.XXX_UnionData[:])
+ pos += 16
// field[1] m.XconnectIfaceOrVrfTable
o.PutUint32(buf[pos:pos+4], uint32(m.XconnectIfaceOrVrfTable))
pos += 4
@@ -361,36 +486,29 @@ func (m *SrLocalsidsDetails) Unmarshal(tmp []byte) error {
pos := 0
_ = pos
// field[1] m.Addr
- // field[2] m.Addr.Addr
- m.Addr.Addr = make([]uint8, 16)
- for i := 0; i < len(m.Addr.Addr); i++ {
- m.Addr.Addr[i] = uint8(tmp[pos])
+ for i := 0; i < len(m.Addr); i++ {
+ m.Addr[i] = uint8(tmp[pos])
pos += 1
}
// field[1] m.EndPsp
- m.EndPsp = uint8(tmp[pos])
+ m.EndPsp = tmp[pos] != 0
pos += 1
// field[1] m.Behavior
- m.Behavior = uint16(o.Uint16(tmp[pos : pos+2]))
- pos += 2
+ m.Behavior = SrBehavior(tmp[pos])
+ pos += 1
// field[1] m.FibTable
m.FibTable = uint32(o.Uint32(tmp[pos : pos+4]))
pos += 4
// field[1] m.VlanIndex
m.VlanIndex = uint32(o.Uint32(tmp[pos : pos+4]))
pos += 4
- // field[1] m.XconnectNhAddr6
- m.XconnectNhAddr6 = make([]uint8, 16)
- for i := 0; i < len(m.XconnectNhAddr6); i++ {
- m.XconnectNhAddr6[i] = uint8(tmp[pos])
- pos += 1
- }
- // field[1] m.XconnectNhAddr4
- m.XconnectNhAddr4 = make([]uint8, 4)
- for i := 0; i < len(m.XconnectNhAddr4); i++ {
- m.XconnectNhAddr4[i] = uint8(tmp[pos])
- pos += 1
- }
+ // field[1] m.XconnectNhAddr
+ // field[2] m.XconnectNhAddr.Af
+ m.XconnectNhAddr.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[2] m.XconnectNhAddr.Un
+ copy(m.XconnectNhAddr.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
// field[1] m.XconnectIfaceOrVrfTable
m.XconnectIfaceOrVrfTable = uint32(o.Uint32(tmp[pos : pos+4]))
pos += 4
@@ -435,9 +553,9 @@ func (m *SrLocalsidsDump) Unmarshal(tmp []byte) error {
// SrPoliciesDetails represents VPP binary API message 'sr_policies_details'.
type SrPoliciesDetails struct {
- Bsid Srv6Sid `binapi:"srv6_sid,name=bsid" json:"bsid,omitempty"`
- Type uint8 `binapi:"u8,name=type" json:"type,omitempty"`
- IsEncap uint8 `binapi:"u8,name=is_encap" json:"is_encap,omitempty"`
+ Bsid IP6Address `binapi:"ip6_address,name=bsid" json:"bsid,omitempty"`
+ IsSpray bool `binapi:"bool,name=is_spray" json:"is_spray,omitempty"`
+ IsEncap bool `binapi:"bool,name=is_encap" json:"is_encap,omitempty"`
FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
NumSidLists uint8 `binapi:"u8,name=num_sid_lists" json:"num_sid_lists,omitempty" struc:"sizeof=SidLists"`
SidLists []Srv6SidList `binapi:"srv6_sid_list[num_sid_lists],name=sid_lists" json:"sid_lists,omitempty"`
@@ -445,7 +563,7 @@ type SrPoliciesDetails struct {
func (m *SrPoliciesDetails) Reset() { *m = SrPoliciesDetails{} }
func (*SrPoliciesDetails) GetMessageName() string { return "sr_policies_details" }
-func (*SrPoliciesDetails) GetCrcString() string { return "5087f460" }
+func (*SrPoliciesDetails) GetCrcString() string { return "07ec2d93" }
func (*SrPoliciesDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
func (m *SrPoliciesDetails) Size() int {
@@ -454,9 +572,8 @@ func (m *SrPoliciesDetails) Size() int {
}
var size int
// field[1] m.Bsid
- // field[2] m.Bsid.Addr
size += 16
- // field[1] m.Type
+ // field[1] m.IsSpray
size += 1
// field[1] m.IsEncap
size += 1
@@ -477,12 +594,11 @@ func (m *SrPoliciesDetails) Size() int {
size += 4
// field[2] s1.Sids
for j2 := 0; j2 < 16; j2++ {
- var s2 Srv6Sid
+ var s2 IP6Address
_ = s2
if j2 < len(s1.Sids) {
s2 = s1.Sids[j2]
}
- // field[3] s2.Addr
size += 16
}
}
@@ -500,20 +616,23 @@ func (m *SrPoliciesDetails) Marshal(b []byte) ([]byte, error) {
buf = b
}
// field[1] m.Bsid
- // field[2] m.Bsid.Addr
for i := 0; i < 16; i++ {
var x uint8
- if i < len(m.Bsid.Addr) {
- x = uint8(m.Bsid.Addr[i])
+ if i < len(m.Bsid) {
+ x = uint8(m.Bsid[i])
}
buf[pos] = uint8(x)
pos += 1
}
- // field[1] m.Type
- buf[pos] = uint8(m.Type)
+ // field[1] m.IsSpray
+ if m.IsSpray {
+ buf[pos] = 1
+ }
pos += 1
// field[1] m.IsEncap
- buf[pos] = uint8(m.IsEncap)
+ if m.IsEncap {
+ buf[pos] = 1
+ }
pos += 1
// field[1] m.FibTable
o.PutUint32(buf[pos:pos+4], uint32(m.FibTable))
@@ -535,15 +654,14 @@ func (m *SrPoliciesDetails) Marshal(b []byte) ([]byte, error) {
pos += 4
// field[2] v1.Sids
for j2 := 0; j2 < 16; j2++ {
- var v2 Srv6Sid
+ var v2 IP6Address
if j2 < len(v1.Sids) {
v2 = v1.Sids[j2]
}
- // field[3] v2.Addr
for i := 0; i < 16; i++ {
var x uint8
- if i < len(v2.Addr) {
- x = uint8(v2.Addr[i])
+ if i < len(v2) {
+ x = uint8(v2[i])
}
buf[pos] = uint8(x)
pos += 1
@@ -558,17 +676,15 @@ func (m *SrPoliciesDetails) Unmarshal(tmp []byte) error {
pos := 0
_ = pos
// field[1] m.Bsid
- // field[2] m.Bsid.Addr
- m.Bsid.Addr = make([]uint8, 16)
- for i := 0; i < len(m.Bsid.Addr); i++ {
- m.Bsid.Addr[i] = uint8(tmp[pos])
+ for i := 0; i < len(m.Bsid); i++ {
+ m.Bsid[i] = uint8(tmp[pos])
pos += 1
}
- // field[1] m.Type
- m.Type = uint8(tmp[pos])
+ // field[1] m.IsSpray
+ m.IsSpray = tmp[pos] != 0
pos += 1
// field[1] m.IsEncap
- m.IsEncap = uint8(tmp[pos])
+ m.IsEncap = tmp[pos] != 0
pos += 1
// field[1] m.FibTable
m.FibTable = uint32(o.Uint32(tmp[pos : pos+4]))
@@ -587,10 +703,8 @@ func (m *SrPoliciesDetails) Unmarshal(tmp []byte) error {
pos += 4
// field[2] m.SidLists[j1].Sids
for j2 := 0; j2 < 16; j2++ {
- // field[3] m.SidLists[j1].Sids[j2].Addr
- m.SidLists[j1].Sids[j2].Addr = make([]uint8, 16)
- for i := 0; i < len(m.SidLists[j1].Sids[j2].Addr); i++ {
- m.SidLists[j1].Sids[j2].Addr[i] = uint8(tmp[pos])
+ for i := 0; i < len(m.SidLists[j1].Sids[j2]); i++ {
+ m.SidLists[j1].Sids[j2][i] = uint8(tmp[pos])
pos += 1
}
}
@@ -636,17 +750,17 @@ func (m *SrPoliciesDump) Unmarshal(tmp []byte) error {
// SrPolicyAdd represents VPP binary API message 'sr_policy_add'.
type SrPolicyAdd struct {
- BsidAddr []byte `binapi:"u8[16],name=bsid_addr" json:"bsid_addr,omitempty" struc:"[16]byte"`
+ BsidAddr IP6Address `binapi:"ip6_address,name=bsid_addr" json:"bsid_addr,omitempty"`
Weight uint32 `binapi:"u32,name=weight" json:"weight,omitempty"`
- IsEncap uint8 `binapi:"u8,name=is_encap" json:"is_encap,omitempty"`
- Type uint8 `binapi:"u8,name=type" json:"type,omitempty"`
+ IsEncap bool `binapi:"bool,name=is_encap" json:"is_encap,omitempty"`
+ IsSpray bool `binapi:"bool,name=is_spray" json:"is_spray,omitempty"`
FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
Sids Srv6SidList `binapi:"srv6_sid_list,name=sids" json:"sids,omitempty"`
}
func (m *SrPolicyAdd) Reset() { *m = SrPolicyAdd{} }
func (*SrPolicyAdd) GetMessageName() string { return "sr_policy_add" }
-func (*SrPolicyAdd) GetCrcString() string { return "4b6e2484" }
+func (*SrPolicyAdd) GetCrcString() string { return "ec79ee6a" }
func (*SrPolicyAdd) GetMessageType() api.MessageType { return api.RequestMessage }
func (m *SrPolicyAdd) Size() int {
@@ -660,7 +774,7 @@ func (m *SrPolicyAdd) Size() int {
size += 4
// field[1] m.IsEncap
size += 1
- // field[1] m.Type
+ // field[1] m.IsSpray
size += 1
// field[1] m.FibTable
size += 4
@@ -671,12 +785,11 @@ func (m *SrPolicyAdd) Size() int {
size += 4
// field[2] m.Sids.Sids
for j2 := 0; j2 < 16; j2++ {
- var s2 Srv6Sid
+ var s2 IP6Address
_ = s2
if j2 < len(m.Sids.Sids) {
s2 = m.Sids.Sids[j2]
}
- // field[3] s2.Addr
size += 16
}
return size
@@ -705,10 +818,14 @@ func (m *SrPolicyAdd) Marshal(b []byte) ([]byte, error) {
o.PutUint32(buf[pos:pos+4], uint32(m.Weight))
pos += 4
// field[1] m.IsEncap
- buf[pos] = uint8(m.IsEncap)
+ if m.IsEncap {
+ buf[pos] = 1
+ }
pos += 1
- // field[1] m.Type
- buf[pos] = uint8(m.Type)
+ // field[1] m.IsSpray
+ if m.IsSpray {
+ buf[pos] = 1
+ }
pos += 1
// field[1] m.FibTable
o.PutUint32(buf[pos:pos+4], uint32(m.FibTable))
@@ -722,15 +839,14 @@ func (m *SrPolicyAdd) Marshal(b []byte) ([]byte, error) {
pos += 4
// field[2] m.Sids.Sids
for j2 := 0; j2 < 16; j2++ {
- var v2 Srv6Sid
+ var v2 IP6Address
if j2 < len(m.Sids.Sids) {
v2 = m.Sids.Sids[j2]
}
- // field[3] v2.Addr
for i := 0; i < 16; i++ {
var x uint8
- if i < len(v2.Addr) {
- x = uint8(v2.Addr[i])
+ if i < len(v2) {
+ x = uint8(v2[i])
}
buf[pos] = uint8(x)
pos += 1
@@ -744,7 +860,6 @@ func (m *SrPolicyAdd) Unmarshal(tmp []byte) error {
pos := 0
_ = pos
// field[1] m.BsidAddr
- m.BsidAddr = make([]uint8, 16)
for i := 0; i < len(m.BsidAddr); i++ {
m.BsidAddr[i] = uint8(tmp[pos])
pos += 1
@@ -753,10 +868,10 @@ func (m *SrPolicyAdd) Unmarshal(tmp []byte) error {
m.Weight = uint32(o.Uint32(tmp[pos : pos+4]))
pos += 4
// field[1] m.IsEncap
- m.IsEncap = uint8(tmp[pos])
+ m.IsEncap = tmp[pos] != 0
pos += 1
- // field[1] m.Type
- m.Type = uint8(tmp[pos])
+ // field[1] m.IsSpray
+ m.IsSpray = tmp[pos] != 0
pos += 1
// field[1] m.FibTable
m.FibTable = uint32(o.Uint32(tmp[pos : pos+4]))
@@ -770,10 +885,8 @@ func (m *SrPolicyAdd) Unmarshal(tmp []byte) error {
pos += 4
// field[2] m.Sids.Sids
for j2 := 0; j2 < 16; j2++ {
- // field[3] m.Sids.Sids[j2].Addr
- m.Sids.Sids[j2].Addr = make([]uint8, 16)
- for i := 0; i < len(m.Sids.Sids[j2].Addr); i++ {
- m.Sids.Sids[j2].Addr[i] = uint8(tmp[pos])
+ for i := 0; i < len(m.Sids.Sids[j2]); i++ {
+ m.Sids.Sids[j2][i] = uint8(tmp[pos])
pos += 1
}
}
@@ -828,13 +941,13 @@ func (m *SrPolicyAddReply) Unmarshal(tmp []byte) error {
// SrPolicyDel represents VPP binary API message 'sr_policy_del'.
type SrPolicyDel struct {
- BsidAddr Srv6Sid `binapi:"srv6_sid,name=bsid_addr" json:"bsid_addr,omitempty"`
- SrPolicyIndex uint32 `binapi:"u32,name=sr_policy_index" json:"sr_policy_index,omitempty"`
+ BsidAddr IP6Address `binapi:"ip6_address,name=bsid_addr" json:"bsid_addr,omitempty"`
+ SrPolicyIndex uint32 `binapi:"u32,name=sr_policy_index" json:"sr_policy_index,omitempty"`
}
func (m *SrPolicyDel) Reset() { *m = SrPolicyDel{} }
func (*SrPolicyDel) GetMessageName() string { return "sr_policy_del" }
-func (*SrPolicyDel) GetCrcString() string { return "e4133171" }
+func (*SrPolicyDel) GetCrcString() string { return "cb4d48d5" }
func (*SrPolicyDel) GetMessageType() api.MessageType { return api.RequestMessage }
func (m *SrPolicyDel) Size() int {
@@ -843,7 +956,6 @@ func (m *SrPolicyDel) Size() int {
}
var size int
// field[1] m.BsidAddr
- // field[2] m.BsidAddr.Addr
size += 16
// field[1] m.SrPolicyIndex
size += 4
@@ -861,11 +973,10 @@ func (m *SrPolicyDel) Marshal(b []byte) ([]byte, error) {
buf = b
}
// field[1] m.BsidAddr
- // field[2] m.BsidAddr.Addr
for i := 0; i < 16; i++ {
var x uint8
- if i < len(m.BsidAddr.Addr) {
- x = uint8(m.BsidAddr.Addr[i])
+ if i < len(m.BsidAddr) {
+ x = uint8(m.BsidAddr[i])
}
buf[pos] = uint8(x)
pos += 1
@@ -881,10 +992,8 @@ func (m *SrPolicyDel) Unmarshal(tmp []byte) error {
pos := 0
_ = pos
// field[1] m.BsidAddr
- // field[2] m.BsidAddr.Addr
- m.BsidAddr.Addr = make([]uint8, 16)
- for i := 0; i < len(m.BsidAddr.Addr); i++ {
- m.BsidAddr.Addr[i] = uint8(tmp[pos])
+ for i := 0; i < len(m.BsidAddr); i++ {
+ m.BsidAddr[i] = uint8(tmp[pos])
pos += 1
}
// field[1] m.SrPolicyIndex
@@ -941,10 +1050,10 @@ func (m *SrPolicyDelReply) Unmarshal(tmp []byte) error {
// SrPolicyMod represents VPP binary API message 'sr_policy_mod'.
type SrPolicyMod struct {
- BsidAddr []byte `binapi:"u8[16],name=bsid_addr" json:"bsid_addr,omitempty" struc:"[16]byte"`
+ BsidAddr IP6Address `binapi:"ip6_address,name=bsid_addr" json:"bsid_addr,omitempty"`
SrPolicyIndex uint32 `binapi:"u32,name=sr_policy_index" json:"sr_policy_index,omitempty"`
FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
- Operation uint8 `binapi:"u8,name=operation" json:"operation,omitempty"`
+ Operation SrPolicyOp `binapi:"sr_policy_op,name=operation" json:"operation,omitempty"`
SlIndex uint32 `binapi:"u32,name=sl_index" json:"sl_index,omitempty"`
Weight uint32 `binapi:"u32,name=weight" json:"weight,omitempty"`
Sids Srv6SidList `binapi:"srv6_sid_list,name=sids" json:"sids,omitempty"`
@@ -952,7 +1061,7 @@ type SrPolicyMod struct {
func (m *SrPolicyMod) Reset() { *m = SrPolicyMod{} }
func (*SrPolicyMod) GetMessageName() string { return "sr_policy_mod" }
-func (*SrPolicyMod) GetCrcString() string { return "c1dfaee0" }
+func (*SrPolicyMod) GetCrcString() string { return "e531a102" }
func (*SrPolicyMod) GetMessageType() api.MessageType { return api.RequestMessage }
func (m *SrPolicyMod) Size() int {
@@ -979,12 +1088,11 @@ func (m *SrPolicyMod) Size() int {
size += 4
// field[2] m.Sids.Sids
for j2 := 0; j2 < 16; j2++ {
- var s2 Srv6Sid
+ var s2 IP6Address
_ = s2
if j2 < len(m.Sids.Sids) {
s2 = m.Sids.Sids[j2]
}
- // field[3] s2.Addr
size += 16
}
return size
@@ -1033,15 +1141,14 @@ func (m *SrPolicyMod) Marshal(b []byte) ([]byte, error) {
pos += 4
// field[2] m.Sids.Sids
for j2 := 0; j2 < 16; j2++ {
- var v2 Srv6Sid
+ var v2 IP6Address
if j2 < len(m.Sids.Sids) {
v2 = m.Sids.Sids[j2]
}
- // field[3] v2.Addr
for i := 0; i < 16; i++ {
var x uint8
- if i < len(v2.Addr) {
- x = uint8(v2.Addr[i])
+ if i < len(v2) {
+ x = uint8(v2[i])
}
buf[pos] = uint8(x)
pos += 1
@@ -1055,7 +1162,6 @@ func (m *SrPolicyMod) Unmarshal(tmp []byte) error {
pos := 0
_ = pos
// field[1] m.BsidAddr
- m.BsidAddr = make([]uint8, 16)
for i := 0; i < len(m.BsidAddr); i++ {
m.BsidAddr[i] = uint8(tmp[pos])
pos += 1
@@ -1067,7 +1173,7 @@ func (m *SrPolicyMod) Unmarshal(tmp []byte) error {
m.FibTable = uint32(o.Uint32(tmp[pos : pos+4]))
pos += 4
// field[1] m.Operation
- m.Operation = uint8(tmp[pos])
+ m.Operation = SrPolicyOp(tmp[pos])
pos += 1
// field[1] m.SlIndex
m.SlIndex = uint32(o.Uint32(tmp[pos : pos+4]))
@@ -1084,10 +1190,8 @@ func (m *SrPolicyMod) Unmarshal(tmp []byte) error {
pos += 4
// field[2] m.Sids.Sids
for j2 := 0; j2 < 16; j2++ {
- // field[3] m.Sids.Sids[j2].Addr
- m.Sids.Sids[j2].Addr = make([]uint8, 16)
- for i := 0; i < len(m.Sids.Sids[j2].Addr); i++ {
- m.Sids.Sids[j2].Addr[i] = uint8(tmp[pos])
+ for i := 0; i < len(m.Sids.Sids[j2]); i++ {
+ m.Sids.Sids[j2][i] = uint8(tmp[pos])
pos += 1
}
}
@@ -1234,12 +1338,12 @@ func (m *SrSetEncapHopLimitReply) Unmarshal(tmp []byte) error {
// SrSetEncapSource represents VPP binary API message 'sr_set_encap_source'.
type SrSetEncapSource struct {
- EncapsSource []byte `binapi:"u8[16],name=encaps_source" json:"encaps_source,omitempty" struc:"[16]byte"`
+ EncapsSource IP6Address `binapi:"ip6_address,name=encaps_source" json:"encaps_source,omitempty"`
}
func (m *SrSetEncapSource) Reset() { *m = SrSetEncapSource{} }
func (*SrSetEncapSource) GetMessageName() string { return "sr_set_encap_source" }
-func (*SrSetEncapSource) GetCrcString() string { return "d05bb4de" }
+func (*SrSetEncapSource) GetCrcString() string { return "d3bad5e1" }
func (*SrSetEncapSource) GetMessageType() api.MessageType { return api.RequestMessage }
func (m *SrSetEncapSource) Size() int {
@@ -1279,7 +1383,6 @@ func (m *SrSetEncapSource) Unmarshal(tmp []byte) error {
pos := 0
_ = pos
// field[1] m.EncapsSource
- m.EncapsSource = make([]uint8, 16)
for i := 0; i < len(m.EncapsSource); i++ {
m.EncapsSource[i] = uint8(tmp[pos])
pos += 1
@@ -1335,19 +1438,18 @@ func (m *SrSetEncapSourceReply) Unmarshal(tmp []byte) error {
// SrSteeringAddDel represents VPP binary API message 'sr_steering_add_del'.
type SrSteeringAddDel struct {
- IsDel uint8 `binapi:"u8,name=is_del" json:"is_del,omitempty"`
- BsidAddr []byte `binapi:"u8[16],name=bsid_addr" json:"bsid_addr,omitempty" struc:"[16]byte"`
- SrPolicyIndex uint32 `binapi:"u32,name=sr_policy_index" json:"sr_policy_index,omitempty"`
- TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
- PrefixAddr []byte `binapi:"u8[16],name=prefix_addr" json:"prefix_addr,omitempty" struc:"[16]byte"`
- MaskWidth uint32 `binapi:"u32,name=mask_width" json:"mask_width,omitempty"`
- SwIfIndex uint32 `binapi:"u32,name=sw_if_index" json:"sw_if_index,omitempty"`
- TrafficType uint8 `binapi:"u8,name=traffic_type" json:"traffic_type,omitempty"`
+ IsDel bool `binapi:"bool,name=is_del,default=false" json:"is_del,omitempty"`
+ BsidAddr IP6Address `binapi:"ip6_address,name=bsid_addr" json:"bsid_addr,omitempty"`
+ SrPolicyIndex uint32 `binapi:"u32,name=sr_policy_index" json:"sr_policy_index,omitempty"`
+ TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
+ Prefix Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ TrafficType SrSteer `binapi:"sr_steer,name=traffic_type" json:"traffic_type,omitempty"`
}
func (m *SrSteeringAddDel) Reset() { *m = SrSteeringAddDel{} }
func (*SrSteeringAddDel) GetMessageName() string { return "sr_steering_add_del" }
-func (*SrSteeringAddDel) GetCrcString() string { return "28b5dcab" }
+func (*SrSteeringAddDel) GetCrcString() string { return "3711dace" }
func (*SrSteeringAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
func (m *SrSteeringAddDel) Size() int {
@@ -1363,10 +1465,14 @@ func (m *SrSteeringAddDel) Size() int {
size += 4
// field[1] m.TableID
size += 4
- // field[1] m.PrefixAddr
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ size += 1
+ // field[3] m.Prefix.Address.Un
size += 16
- // field[1] m.MaskWidth
- size += 4
+ // field[2] m.Prefix.Len
+ size += 1
// field[1] m.SwIfIndex
size += 4
// field[1] m.TrafficType
@@ -1385,7 +1491,9 @@ func (m *SrSteeringAddDel) Marshal(b []byte) ([]byte, error) {
buf = b
}
// field[1] m.IsDel
- buf[pos] = uint8(m.IsDel)
+ if m.IsDel {
+ buf[pos] = 1
+ }
pos += 1
// field[1] m.BsidAddr
for i := 0; i < 16; i++ {
@@ -1402,18 +1510,17 @@ func (m *SrSteeringAddDel) Marshal(b []byte) ([]byte, error) {
// field[1] m.TableID
o.PutUint32(buf[pos:pos+4], uint32(m.TableID))
pos += 4
- // field[1] m.PrefixAddr
- for i := 0; i < 16; i++ {
- var x uint8
- if i < len(m.PrefixAddr) {
- x = uint8(m.PrefixAddr[i])
- }
- buf[pos] = uint8(x)
- pos += 1
- }
- // field[1] m.MaskWidth
- o.PutUint32(buf[pos:pos+4], uint32(m.MaskWidth))
- pos += 4
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ buf[pos] = uint8(m.Prefix.Address.Af)
+ pos += 1
+ // field[3] m.Prefix.Address.Un
+ copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
+ pos += 16
+ // field[2] m.Prefix.Len
+ buf[pos] = uint8(m.Prefix.Len)
+ pos += 1
// field[1] m.SwIfIndex
o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
pos += 4
@@ -1428,10 +1535,9 @@ func (m *SrSteeringAddDel) Unmarshal(tmp []byte) error {
pos := 0
_ = pos
// field[1] m.IsDel
- m.IsDel = uint8(tmp[pos])
+ m.IsDel = tmp[pos] != 0
pos += 1
// field[1] m.BsidAddr
- m.BsidAddr = make([]uint8, 16)
for i := 0; i < len(m.BsidAddr); i++ {
m.BsidAddr[i] = uint8(tmp[pos])
pos += 1
@@ -1442,20 +1548,22 @@ func (m *SrSteeringAddDel) Unmarshal(tmp []byte) error {
// field[1] m.TableID
m.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
pos += 4
- // field[1] m.PrefixAddr
- m.PrefixAddr = make([]uint8, 16)
- for i := 0; i < len(m.PrefixAddr); i++ {
- m.PrefixAddr[i] = uint8(tmp[pos])
- pos += 1
- }
- // field[1] m.MaskWidth
- m.MaskWidth = uint32(o.Uint32(tmp[pos : pos+4]))
- pos += 4
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ m.Prefix.Address.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[3] m.Prefix.Address.Un
+ copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[2] m.Prefix.Len
+ m.Prefix.Len = uint8(tmp[pos])
+ pos += 1
// field[1] m.SwIfIndex
- m.SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
pos += 4
// field[1] m.TrafficType
- m.TrafficType = uint8(tmp[pos])
+ m.TrafficType = SrSteer(tmp[pos])
pos += 1
return nil
}
@@ -1508,17 +1616,16 @@ func (m *SrSteeringAddDelReply) Unmarshal(tmp []byte) error {
// SrSteeringPolDetails represents VPP binary API message 'sr_steering_pol_details'.
type SrSteeringPolDetails struct {
- TrafficType uint8 `binapi:"u8,name=traffic_type" json:"traffic_type,omitempty"`
- FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
- PrefixAddr []byte `binapi:"u8[16],name=prefix_addr" json:"prefix_addr,omitempty" struc:"[16]byte"`
- MaskWidth uint32 `binapi:"u32,name=mask_width" json:"mask_width,omitempty"`
- SwIfIndex uint32 `binapi:"u32,name=sw_if_index" json:"sw_if_index,omitempty"`
- Bsid Srv6Sid `binapi:"srv6_sid,name=bsid" json:"bsid,omitempty"`
+ TrafficType SrSteer `binapi:"sr_steer,name=traffic_type" json:"traffic_type,omitempty"`
+ FibTable uint32 `binapi:"u32,name=fib_table" json:"fib_table,omitempty"`
+ Prefix Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ Bsid IP6Address `binapi:"ip6_address,name=bsid" json:"bsid,omitempty"`
}
func (m *SrSteeringPolDetails) Reset() { *m = SrSteeringPolDetails{} }
func (*SrSteeringPolDetails) GetMessageName() string { return "sr_steering_pol_details" }
-func (*SrSteeringPolDetails) GetCrcString() string { return "5627d483" }
+func (*SrSteeringPolDetails) GetCrcString() string { return "1c1ee786" }
func (*SrSteeringPolDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
func (m *SrSteeringPolDetails) Size() int {
@@ -1530,14 +1637,17 @@ func (m *SrSteeringPolDetails) Size() int {
size += 1
// field[1] m.FibTable
size += 4
- // field[1] m.PrefixAddr
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ size += 1
+ // field[3] m.Prefix.Address.Un
size += 16
- // field[1] m.MaskWidth
- size += 4
+ // field[2] m.Prefix.Len
+ size += 1
// field[1] m.SwIfIndex
size += 4
// field[1] m.Bsid
- // field[2] m.Bsid.Addr
size += 16
return size
}
@@ -1558,27 +1668,25 @@ func (m *SrSteeringPolDetails) Marshal(b []byte) ([]byte, error) {
// field[1] m.FibTable
o.PutUint32(buf[pos:pos+4], uint32(m.FibTable))
pos += 4
- // field[1] m.PrefixAddr
- for i := 0; i < 16; i++ {
- var x uint8
- if i < len(m.PrefixAddr) {
- x = uint8(m.PrefixAddr[i])
- }
- buf[pos] = uint8(x)
- pos += 1
- }
- // field[1] m.MaskWidth
- o.PutUint32(buf[pos:pos+4], uint32(m.MaskWidth))
- pos += 4
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ buf[pos] = uint8(m.Prefix.Address.Af)
+ pos += 1
+ // field[3] m.Prefix.Address.Un
+ copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
+ pos += 16
+ // field[2] m.Prefix.Len
+ buf[pos] = uint8(m.Prefix.Len)
+ pos += 1
// field[1] m.SwIfIndex
o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
pos += 4
// field[1] m.Bsid
- // field[2] m.Bsid.Addr
for i := 0; i < 16; i++ {
var x uint8
- if i < len(m.Bsid.Addr) {
- x = uint8(m.Bsid.Addr[i])
+ if i < len(m.Bsid) {
+ x = uint8(m.Bsid[i])
}
buf[pos] = uint8(x)
pos += 1
@@ -1591,28 +1699,28 @@ func (m *SrSteeringPolDetails) Unmarshal(tmp []byte) error {
pos := 0
_ = pos
// field[1] m.TrafficType
- m.TrafficType = uint8(tmp[pos])
+ m.TrafficType = SrSteer(tmp[pos])
pos += 1
// field[1] m.FibTable
m.FibTable = uint32(o.Uint32(tmp[pos : pos+4]))
pos += 4
- // field[1] m.PrefixAddr
- m.PrefixAddr = make([]uint8, 16)
- for i := 0; i < len(m.PrefixAddr); i++ {
- m.PrefixAddr[i] = uint8(tmp[pos])
- pos += 1
- }
- // field[1] m.MaskWidth
- m.MaskWidth = uint32(o.Uint32(tmp[pos : pos+4]))
- pos += 4
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ m.Prefix.Address.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[3] m.Prefix.Address.Un
+ copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[2] m.Prefix.Len
+ m.Prefix.Len = uint8(tmp[pos])
+ pos += 1
// field[1] m.SwIfIndex
- m.SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
pos += 4
// field[1] m.Bsid
- // field[2] m.Bsid.Addr
- m.Bsid.Addr = make([]uint8, 16)
- for i := 0; i < len(m.Bsid.Addr); i++ {
- m.Bsid.Addr[i] = uint8(tmp[pos])
+ for i := 0; i < len(m.Bsid); i++ {
+ m.Bsid[i] = uint8(tmp[pos])
pos += 1
}
return nil