github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/dhcp/dhcp.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  // versions:
     3  //  binapi-generator: v0.10.0-dev
     4  //  VPP:              23.10-rc0~170-g6f1548434
     5  // source: plugins/dhcp.api.json
     6  
     7  // Package dhcp contains generated bindings for API file dhcp.api.
     8  //
     9  // Contents:
    10  // -  3 enums
    11  // -  6 structs
    12  // - 29 messages
    13  package dhcp
    14  
    15  import (
    16  	"strconv"
    17  
    18  	ethernet_types "github.com/networkservicemesh/govpp/binapi/ethernet_types"
    19  	interface_types "github.com/networkservicemesh/govpp/binapi/interface_types"
    20  	ip_types "github.com/networkservicemesh/govpp/binapi/ip_types"
    21  	api "go.fd.io/govpp/api"
    22  	codec "go.fd.io/govpp/codec"
    23  )
    24  
    25  // This is a compile-time assertion to ensure that this generated file
    26  // is compatible with the GoVPP api package it is being compiled against.
    27  // A compilation error at this line likely means your copy of the
    28  // GoVPP api package needs to be updated.
    29  const _ = api.GoVppAPIPackageIsVersion2
    30  
    31  const (
    32  	APIFile    = "dhcp"
    33  	APIVersion = "3.0.1"
    34  	VersionCrc = 0xaee239f2
    35  )
    36  
    37  // DHCPClientState defines enum 'dhcp_client_state'.
    38  type DHCPClientState uint32
    39  
    40  const (
    41  	DHCP_CLIENT_STATE_API_DISCOVER DHCPClientState = 0
    42  	DHCP_CLIENT_STATE_API_REQUEST  DHCPClientState = 1
    43  	DHCP_CLIENT_STATE_API_BOUND    DHCPClientState = 2
    44  )
    45  
    46  var (
    47  	DHCPClientState_name = map[uint32]string{
    48  		0: "DHCP_CLIENT_STATE_API_DISCOVER",
    49  		1: "DHCP_CLIENT_STATE_API_REQUEST",
    50  		2: "DHCP_CLIENT_STATE_API_BOUND",
    51  	}
    52  	DHCPClientState_value = map[string]uint32{
    53  		"DHCP_CLIENT_STATE_API_DISCOVER": 0,
    54  		"DHCP_CLIENT_STATE_API_REQUEST":  1,
    55  		"DHCP_CLIENT_STATE_API_BOUND":    2,
    56  	}
    57  )
    58  
    59  func (x DHCPClientState) String() string {
    60  	s, ok := DHCPClientState_name[uint32(x)]
    61  	if ok {
    62  		return s
    63  	}
    64  	return "DHCPClientState(" + strconv.Itoa(int(x)) + ")"
    65  }
    66  
    67  // Dhcpv6MsgType defines enum 'dhcpv6_msg_type'.
    68  type Dhcpv6MsgType uint32
    69  
    70  const (
    71  	DHCPV6_MSG_API_SOLICIT             Dhcpv6MsgType = 1
    72  	DHCPV6_MSG_API_ADVERTISE           Dhcpv6MsgType = 2
    73  	DHCPV6_MSG_API_REQUEST             Dhcpv6MsgType = 3
    74  	DHCPV6_MSG_API_CONFIRM             Dhcpv6MsgType = 4
    75  	DHCPV6_MSG_API_RENEW               Dhcpv6MsgType = 5
    76  	DHCPV6_MSG_API_REBIND              Dhcpv6MsgType = 6
    77  	DHCPV6_MSG_API_REPLY               Dhcpv6MsgType = 7
    78  	DHCPV6_MSG_API_RELEASE             Dhcpv6MsgType = 8
    79  	DHCPV6_MSG_API_DECLINE             Dhcpv6MsgType = 9
    80  	DHCPV6_MSG_API_RECONFIGURE         Dhcpv6MsgType = 10
    81  	DHCPV6_MSG_API_INFORMATION_REQUEST Dhcpv6MsgType = 11
    82  	DHCPV6_MSG_API_RELAY_FORW          Dhcpv6MsgType = 12
    83  	DHCPV6_MSG_API_RELAY_REPL          Dhcpv6MsgType = 13
    84  )
    85  
    86  var (
    87  	Dhcpv6MsgType_name = map[uint32]string{
    88  		1:  "DHCPV6_MSG_API_SOLICIT",
    89  		2:  "DHCPV6_MSG_API_ADVERTISE",
    90  		3:  "DHCPV6_MSG_API_REQUEST",
    91  		4:  "DHCPV6_MSG_API_CONFIRM",
    92  		5:  "DHCPV6_MSG_API_RENEW",
    93  		6:  "DHCPV6_MSG_API_REBIND",
    94  		7:  "DHCPV6_MSG_API_REPLY",
    95  		8:  "DHCPV6_MSG_API_RELEASE",
    96  		9:  "DHCPV6_MSG_API_DECLINE",
    97  		10: "DHCPV6_MSG_API_RECONFIGURE",
    98  		11: "DHCPV6_MSG_API_INFORMATION_REQUEST",
    99  		12: "DHCPV6_MSG_API_RELAY_FORW",
   100  		13: "DHCPV6_MSG_API_RELAY_REPL",
   101  	}
   102  	Dhcpv6MsgType_value = map[string]uint32{
   103  		"DHCPV6_MSG_API_SOLICIT":             1,
   104  		"DHCPV6_MSG_API_ADVERTISE":           2,
   105  		"DHCPV6_MSG_API_REQUEST":             3,
   106  		"DHCPV6_MSG_API_CONFIRM":             4,
   107  		"DHCPV6_MSG_API_RENEW":               5,
   108  		"DHCPV6_MSG_API_REBIND":              6,
   109  		"DHCPV6_MSG_API_REPLY":               7,
   110  		"DHCPV6_MSG_API_RELEASE":             8,
   111  		"DHCPV6_MSG_API_DECLINE":             9,
   112  		"DHCPV6_MSG_API_RECONFIGURE":         10,
   113  		"DHCPV6_MSG_API_INFORMATION_REQUEST": 11,
   114  		"DHCPV6_MSG_API_RELAY_FORW":          12,
   115  		"DHCPV6_MSG_API_RELAY_REPL":          13,
   116  	}
   117  )
   118  
   119  func (x Dhcpv6MsgType) String() string {
   120  	s, ok := Dhcpv6MsgType_name[uint32(x)]
   121  	if ok {
   122  		return s
   123  	}
   124  	return "Dhcpv6MsgType(" + strconv.Itoa(int(x)) + ")"
   125  }
   126  
   127  // VssType defines enum 'vss_type'.
   128  type VssType uint32
   129  
   130  const (
   131  	VSS_TYPE_API_ASCII   VssType = 0
   132  	VSS_TYPE_API_VPN_ID  VssType = 1
   133  	VSS_TYPE_API_INVALID VssType = 123
   134  	VSS_TYPE_API_DEFAULT VssType = 255
   135  )
   136  
   137  var (
   138  	VssType_name = map[uint32]string{
   139  		0:   "VSS_TYPE_API_ASCII",
   140  		1:   "VSS_TYPE_API_VPN_ID",
   141  		123: "VSS_TYPE_API_INVALID",
   142  		255: "VSS_TYPE_API_DEFAULT",
   143  	}
   144  	VssType_value = map[string]uint32{
   145  		"VSS_TYPE_API_ASCII":   0,
   146  		"VSS_TYPE_API_VPN_ID":  1,
   147  		"VSS_TYPE_API_INVALID": 123,
   148  		"VSS_TYPE_API_DEFAULT": 255,
   149  	}
   150  )
   151  
   152  func (x VssType) String() string {
   153  	s, ok := VssType_name[uint32(x)]
   154  	if ok {
   155  		return s
   156  	}
   157  	return "VssType(" + strconv.Itoa(int(x)) + ")"
   158  }
   159  
   160  // DHCP6AddressInfo defines type 'dhcp6_address_info'.
   161  type DHCP6AddressInfo struct {
   162  	Address       ip_types.IP6Address `binapi:"ip6_address,name=address" json:"address,omitempty"`
   163  	ValidTime     uint32              `binapi:"u32,name=valid_time" json:"valid_time,omitempty"`
   164  	PreferredTime uint32              `binapi:"u32,name=preferred_time" json:"preferred_time,omitempty"`
   165  }
   166  
   167  // DHCP6PdPrefixInfo defines type 'dhcp6_pd_prefix_info'.
   168  type DHCP6PdPrefixInfo struct {
   169  	Prefix        ip_types.IP6Prefix `binapi:"ip6_prefix,name=prefix" json:"prefix,omitempty"`
   170  	ValidTime     uint32             `binapi:"u32,name=valid_time" json:"valid_time,omitempty"`
   171  	PreferredTime uint32             `binapi:"u32,name=preferred_time" json:"preferred_time,omitempty"`
   172  }
   173  
   174  // DHCPClient defines type 'dhcp_client'.
   175  type DHCPClient struct {
   176  	SwIfIndex        interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   177  	Hostname         string                         `binapi:"string[64],name=hostname" json:"hostname,omitempty"`
   178  	ID               []byte                         `binapi:"u8[64],name=id" json:"id,omitempty"`
   179  	WantDHCPEvent    bool                           `binapi:"bool,name=want_dhcp_event" json:"want_dhcp_event,omitempty"`
   180  	SetBroadcastFlag bool                           `binapi:"bool,name=set_broadcast_flag" json:"set_broadcast_flag,omitempty"`
   181  	Dscp             ip_types.IPDscp                `binapi:"ip_dscp,name=dscp" json:"dscp,omitempty"`
   182  	PID              uint32                         `binapi:"u32,name=pid" json:"pid,omitempty"`
   183  }
   184  
   185  // DHCPLease defines type 'dhcp_lease'.
   186  type DHCPLease struct {
   187  	SwIfIndex     interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   188  	State         DHCPClientState                `binapi:"dhcp_client_state,name=state" json:"state,omitempty"`
   189  	IsIPv6        bool                           `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
   190  	Hostname      string                         `binapi:"string[64],name=hostname" json:"hostname,omitempty"`
   191  	MaskWidth     uint8                          `binapi:"u8,name=mask_width" json:"mask_width,omitempty"`
   192  	HostAddress   ip_types.Address               `binapi:"address,name=host_address" json:"host_address,omitempty"`
   193  	RouterAddress ip_types.Address               `binapi:"address,name=router_address" json:"router_address,omitempty"`
   194  	HostMac       ethernet_types.MacAddress      `binapi:"mac_address,name=host_mac" json:"host_mac,omitempty"`
   195  	Count         uint8                          `binapi:"u8,name=count" json:"-"`
   196  	DomainServer  []DomainServer                 `binapi:"domain_server[count],name=domain_server" json:"domain_server,omitempty"`
   197  }
   198  
   199  // DHCPServer defines type 'dhcp_server'.
   200  type DHCPServer struct {
   201  	ServerVrfID uint32           `binapi:"u32,name=server_vrf_id" json:"server_vrf_id,omitempty"`
   202  	DHCPServer  ip_types.Address `binapi:"address,name=dhcp_server" json:"dhcp_server,omitempty"`
   203  }
   204  
   205  // DomainServer defines type 'domain_server'.
   206  type DomainServer struct {
   207  	Address ip_types.Address `binapi:"address,name=address" json:"address,omitempty"`
   208  }
   209  
   210  // Enable/disable listening on DHCPv6 client port
   211  // DHCP6ClientsEnableDisable defines message 'dhcp6_clients_enable_disable'.
   212  type DHCP6ClientsEnableDisable struct {
   213  	Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"`
   214  }
   215  
   216  func (m *DHCP6ClientsEnableDisable) Reset()               { *m = DHCP6ClientsEnableDisable{} }
   217  func (*DHCP6ClientsEnableDisable) GetMessageName() string { return "dhcp6_clients_enable_disable" }
   218  func (*DHCP6ClientsEnableDisable) GetCrcString() string   { return "b3e225d2" }
   219  func (*DHCP6ClientsEnableDisable) GetMessageType() api.MessageType {
   220  	return api.RequestMessage
   221  }
   222  
   223  func (m *DHCP6ClientsEnableDisable) Size() (size int) {
   224  	if m == nil {
   225  		return 0
   226  	}
   227  	size += 1 // m.Enable
   228  	return size
   229  }
   230  func (m *DHCP6ClientsEnableDisable) Marshal(b []byte) ([]byte, error) {
   231  	if b == nil {
   232  		b = make([]byte, m.Size())
   233  	}
   234  	buf := codec.NewBuffer(b)
   235  	buf.EncodeBool(m.Enable)
   236  	return buf.Bytes(), nil
   237  }
   238  func (m *DHCP6ClientsEnableDisable) Unmarshal(b []byte) error {
   239  	buf := codec.NewBuffer(b)
   240  	m.Enable = buf.DecodeBool()
   241  	return nil
   242  }
   243  
   244  // DHCP6ClientsEnableDisableReply defines message 'dhcp6_clients_enable_disable_reply'.
   245  type DHCP6ClientsEnableDisableReply struct {
   246  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   247  }
   248  
   249  func (m *DHCP6ClientsEnableDisableReply) Reset() { *m = DHCP6ClientsEnableDisableReply{} }
   250  func (*DHCP6ClientsEnableDisableReply) GetMessageName() string {
   251  	return "dhcp6_clients_enable_disable_reply"
   252  }
   253  func (*DHCP6ClientsEnableDisableReply) GetCrcString() string { return "e8d4e804" }
   254  func (*DHCP6ClientsEnableDisableReply) GetMessageType() api.MessageType {
   255  	return api.ReplyMessage
   256  }
   257  
   258  func (m *DHCP6ClientsEnableDisableReply) Size() (size int) {
   259  	if m == nil {
   260  		return 0
   261  	}
   262  	size += 4 // m.Retval
   263  	return size
   264  }
   265  func (m *DHCP6ClientsEnableDisableReply) Marshal(b []byte) ([]byte, error) {
   266  	if b == nil {
   267  		b = make([]byte, m.Size())
   268  	}
   269  	buf := codec.NewBuffer(b)
   270  	buf.EncodeInt32(m.Retval)
   271  	return buf.Bytes(), nil
   272  }
   273  func (m *DHCP6ClientsEnableDisableReply) Unmarshal(b []byte) error {
   274  	buf := codec.NewBuffer(b)
   275  	m.Retval = buf.DecodeInt32()
   276  	return nil
   277  }
   278  
   279  // Set DHCPv6 DUID-LL
   280  //   - duid_ll - DUID-LL binary string
   281  //
   282  // DHCP6DuidLlSet defines message 'dhcp6_duid_ll_set'.
   283  type DHCP6DuidLlSet struct {
   284  	DuidLl []byte `binapi:"u8[10],name=duid_ll" json:"duid_ll,omitempty"`
   285  }
   286  
   287  func (m *DHCP6DuidLlSet) Reset()               { *m = DHCP6DuidLlSet{} }
   288  func (*DHCP6DuidLlSet) GetMessageName() string { return "dhcp6_duid_ll_set" }
   289  func (*DHCP6DuidLlSet) GetCrcString() string   { return "0f6ca323" }
   290  func (*DHCP6DuidLlSet) GetMessageType() api.MessageType {
   291  	return api.RequestMessage
   292  }
   293  
   294  func (m *DHCP6DuidLlSet) Size() (size int) {
   295  	if m == nil {
   296  		return 0
   297  	}
   298  	size += 1 * 10 // m.DuidLl
   299  	return size
   300  }
   301  func (m *DHCP6DuidLlSet) Marshal(b []byte) ([]byte, error) {
   302  	if b == nil {
   303  		b = make([]byte, m.Size())
   304  	}
   305  	buf := codec.NewBuffer(b)
   306  	buf.EncodeBytes(m.DuidLl, 10)
   307  	return buf.Bytes(), nil
   308  }
   309  func (m *DHCP6DuidLlSet) Unmarshal(b []byte) error {
   310  	buf := codec.NewBuffer(b)
   311  	m.DuidLl = make([]byte, 10)
   312  	copy(m.DuidLl, buf.DecodeBytes(len(m.DuidLl)))
   313  	return nil
   314  }
   315  
   316  // DHCP6DuidLlSetReply defines message 'dhcp6_duid_ll_set_reply'.
   317  type DHCP6DuidLlSetReply struct {
   318  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   319  }
   320  
   321  func (m *DHCP6DuidLlSetReply) Reset()               { *m = DHCP6DuidLlSetReply{} }
   322  func (*DHCP6DuidLlSetReply) GetMessageName() string { return "dhcp6_duid_ll_set_reply" }
   323  func (*DHCP6DuidLlSetReply) GetCrcString() string   { return "e8d4e804" }
   324  func (*DHCP6DuidLlSetReply) GetMessageType() api.MessageType {
   325  	return api.ReplyMessage
   326  }
   327  
   328  func (m *DHCP6DuidLlSetReply) Size() (size int) {
   329  	if m == nil {
   330  		return 0
   331  	}
   332  	size += 4 // m.Retval
   333  	return size
   334  }
   335  func (m *DHCP6DuidLlSetReply) Marshal(b []byte) ([]byte, error) {
   336  	if b == nil {
   337  		b = make([]byte, m.Size())
   338  	}
   339  	buf := codec.NewBuffer(b)
   340  	buf.EncodeInt32(m.Retval)
   341  	return buf.Bytes(), nil
   342  }
   343  func (m *DHCP6DuidLlSetReply) Unmarshal(b []byte) error {
   344  	buf := codec.NewBuffer(b)
   345  	m.Retval = buf.DecodeInt32()
   346  	return nil
   347  }
   348  
   349  // Tell client about a DHCPv6 PD server reply event
   350  //   - pid - client pid registered to receive notification
   351  //   - sw_if_index - index of RX interface
   352  //   - server_index - used to dentify DHCPv6 server,
   353  //     unique for each DHCPv6 server on the link
   354  //   - msg_type - message type
   355  //   - T1 - value of T1 in IA_PD option
   356  //   - T2 - value of T2 in IA_PD option
   357  //   - inner_status_code - value of status code inside IA_PD option
   358  //   - status_code - value of the main status code of DHCPv6 message
   359  //   - preference - value of preference option in reply message
   360  //   - n_prefixes - number of prefixes in IA_PD option
   361  //   - prefixes - list of prefixes in IA_PD option
   362  //
   363  // DHCP6PdReplyEvent defines message 'dhcp6_pd_reply_event'.
   364  type DHCP6PdReplyEvent struct {
   365  	PID             uint32                         `binapi:"u32,name=pid" json:"pid,omitempty"`
   366  	SwIfIndex       interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   367  	ServerIndex     uint32                         `binapi:"u32,name=server_index" json:"server_index,omitempty"`
   368  	MsgType         Dhcpv6MsgType                  `binapi:"dhcpv6_msg_type,name=msg_type" json:"msg_type,omitempty"`
   369  	T1              uint32                         `binapi:"u32,name=T1" json:"T1,omitempty"`
   370  	T2              uint32                         `binapi:"u32,name=T2" json:"T2,omitempty"`
   371  	InnerStatusCode uint16                         `binapi:"u16,name=inner_status_code" json:"inner_status_code,omitempty"`
   372  	StatusCode      uint16                         `binapi:"u16,name=status_code" json:"status_code,omitempty"`
   373  	Preference      uint8                          `binapi:"u8,name=preference" json:"preference,omitempty"`
   374  	NPrefixes       uint32                         `binapi:"u32,name=n_prefixes" json:"-"`
   375  	Prefixes        []DHCP6PdPrefixInfo            `binapi:"dhcp6_pd_prefix_info[n_prefixes],name=prefixes" json:"prefixes,omitempty"`
   376  }
   377  
   378  func (m *DHCP6PdReplyEvent) Reset()               { *m = DHCP6PdReplyEvent{} }
   379  func (*DHCP6PdReplyEvent) GetMessageName() string { return "dhcp6_pd_reply_event" }
   380  func (*DHCP6PdReplyEvent) GetCrcString() string   { return "5e878029" }
   381  func (*DHCP6PdReplyEvent) GetMessageType() api.MessageType {
   382  	return api.EventMessage
   383  }
   384  
   385  func (m *DHCP6PdReplyEvent) Size() (size int) {
   386  	if m == nil {
   387  		return 0
   388  	}
   389  	size += 4 // m.PID
   390  	size += 4 // m.SwIfIndex
   391  	size += 4 // m.ServerIndex
   392  	size += 4 // m.MsgType
   393  	size += 4 // m.T1
   394  	size += 4 // m.T2
   395  	size += 2 // m.InnerStatusCode
   396  	size += 2 // m.StatusCode
   397  	size += 1 // m.Preference
   398  	size += 4 // m.NPrefixes
   399  	for j1 := 0; j1 < len(m.Prefixes); j1++ {
   400  		var s1 DHCP6PdPrefixInfo
   401  		_ = s1
   402  		if j1 < len(m.Prefixes) {
   403  			s1 = m.Prefixes[j1]
   404  		}
   405  		size += 1 * 16 // s1.Prefix.Address
   406  		size += 1      // s1.Prefix.Len
   407  		size += 4      // s1.ValidTime
   408  		size += 4      // s1.PreferredTime
   409  	}
   410  	return size
   411  }
   412  func (m *DHCP6PdReplyEvent) Marshal(b []byte) ([]byte, error) {
   413  	if b == nil {
   414  		b = make([]byte, m.Size())
   415  	}
   416  	buf := codec.NewBuffer(b)
   417  	buf.EncodeUint32(m.PID)
   418  	buf.EncodeUint32(uint32(m.SwIfIndex))
   419  	buf.EncodeUint32(m.ServerIndex)
   420  	buf.EncodeUint32(uint32(m.MsgType))
   421  	buf.EncodeUint32(m.T1)
   422  	buf.EncodeUint32(m.T2)
   423  	buf.EncodeUint16(m.InnerStatusCode)
   424  	buf.EncodeUint16(m.StatusCode)
   425  	buf.EncodeUint8(m.Preference)
   426  	buf.EncodeUint32(uint32(len(m.Prefixes)))
   427  	for j0 := 0; j0 < len(m.Prefixes); j0++ {
   428  		var v0 DHCP6PdPrefixInfo // Prefixes
   429  		if j0 < len(m.Prefixes) {
   430  			v0 = m.Prefixes[j0]
   431  		}
   432  		buf.EncodeBytes(v0.Prefix.Address[:], 16)
   433  		buf.EncodeUint8(v0.Prefix.Len)
   434  		buf.EncodeUint32(v0.ValidTime)
   435  		buf.EncodeUint32(v0.PreferredTime)
   436  	}
   437  	return buf.Bytes(), nil
   438  }
   439  func (m *DHCP6PdReplyEvent) Unmarshal(b []byte) error {
   440  	buf := codec.NewBuffer(b)
   441  	m.PID = buf.DecodeUint32()
   442  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   443  	m.ServerIndex = buf.DecodeUint32()
   444  	m.MsgType = Dhcpv6MsgType(buf.DecodeUint32())
   445  	m.T1 = buf.DecodeUint32()
   446  	m.T2 = buf.DecodeUint32()
   447  	m.InnerStatusCode = buf.DecodeUint16()
   448  	m.StatusCode = buf.DecodeUint16()
   449  	m.Preference = buf.DecodeUint8()
   450  	m.NPrefixes = buf.DecodeUint32()
   451  	m.Prefixes = make([]DHCP6PdPrefixInfo, m.NPrefixes)
   452  	for j0 := 0; j0 < len(m.Prefixes); j0++ {
   453  		copy(m.Prefixes[j0].Prefix.Address[:], buf.DecodeBytes(16))
   454  		m.Prefixes[j0].Prefix.Len = buf.DecodeUint8()
   455  		m.Prefixes[j0].ValidTime = buf.DecodeUint32()
   456  		m.Prefixes[j0].PreferredTime = buf.DecodeUint32()
   457  	}
   458  	return nil
   459  }
   460  
   461  // Send DHCPv6 PD client message of specified type
   462  //   - sw_if_index - index of TX interface
   463  //   - server_index - used to dentify DHCPv6 server,
   464  //     unique for each DHCPv6 server on the link,
   465  //     value obrtained from dhcp6_pd_reply_event API message,
   466  //     use ~0 to send message to all DHCPv6 servers
   467  //   - irt - initial retransmission time
   468  //   - mrt - maximum retransmission time
   469  //   - mrc - maximum retransmission count
   470  //   - mrd - maximum retransmission duration
   471  //     for sending the message
   472  //   - stop - if non-zero then stop resending the message,
   473  //     otherwise start sending the message
   474  //   - msg_type - message type
   475  //   - T1 - value of T1 in IA_PD option
   476  //   - T2 - value of T2 in IA_PD option
   477  //   - n_prefixes - number of addresses in IA_PD option
   478  //   - prefixes - list of prefixes in IA_PD option
   479  //
   480  // DHCP6PdSendClientMessage defines message 'dhcp6_pd_send_client_message'.
   481  type DHCP6PdSendClientMessage struct {
   482  	SwIfIndex   interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   483  	ServerIndex uint32                         `binapi:"u32,name=server_index" json:"server_index,omitempty"`
   484  	Irt         uint32                         `binapi:"u32,name=irt" json:"irt,omitempty"`
   485  	Mrt         uint32                         `binapi:"u32,name=mrt" json:"mrt,omitempty"`
   486  	Mrc         uint32                         `binapi:"u32,name=mrc" json:"mrc,omitempty"`
   487  	Mrd         uint32                         `binapi:"u32,name=mrd" json:"mrd,omitempty"`
   488  	Stop        bool                           `binapi:"bool,name=stop" json:"stop,omitempty"`
   489  	MsgType     Dhcpv6MsgType                  `binapi:"dhcpv6_msg_type,name=msg_type" json:"msg_type,omitempty"`
   490  	T1          uint32                         `binapi:"u32,name=T1" json:"T1,omitempty"`
   491  	T2          uint32                         `binapi:"u32,name=T2" json:"T2,omitempty"`
   492  	NPrefixes   uint32                         `binapi:"u32,name=n_prefixes" json:"-"`
   493  	Prefixes    []DHCP6PdPrefixInfo            `binapi:"dhcp6_pd_prefix_info[n_prefixes],name=prefixes" json:"prefixes,omitempty"`
   494  }
   495  
   496  func (m *DHCP6PdSendClientMessage) Reset()               { *m = DHCP6PdSendClientMessage{} }
   497  func (*DHCP6PdSendClientMessage) GetMessageName() string { return "dhcp6_pd_send_client_message" }
   498  func (*DHCP6PdSendClientMessage) GetCrcString() string   { return "3739fd8d" }
   499  func (*DHCP6PdSendClientMessage) GetMessageType() api.MessageType {
   500  	return api.RequestMessage
   501  }
   502  
   503  func (m *DHCP6PdSendClientMessage) Size() (size int) {
   504  	if m == nil {
   505  		return 0
   506  	}
   507  	size += 4 // m.SwIfIndex
   508  	size += 4 // m.ServerIndex
   509  	size += 4 // m.Irt
   510  	size += 4 // m.Mrt
   511  	size += 4 // m.Mrc
   512  	size += 4 // m.Mrd
   513  	size += 1 // m.Stop
   514  	size += 4 // m.MsgType
   515  	size += 4 // m.T1
   516  	size += 4 // m.T2
   517  	size += 4 // m.NPrefixes
   518  	for j1 := 0; j1 < len(m.Prefixes); j1++ {
   519  		var s1 DHCP6PdPrefixInfo
   520  		_ = s1
   521  		if j1 < len(m.Prefixes) {
   522  			s1 = m.Prefixes[j1]
   523  		}
   524  		size += 1 * 16 // s1.Prefix.Address
   525  		size += 1      // s1.Prefix.Len
   526  		size += 4      // s1.ValidTime
   527  		size += 4      // s1.PreferredTime
   528  	}
   529  	return size
   530  }
   531  func (m *DHCP6PdSendClientMessage) Marshal(b []byte) ([]byte, error) {
   532  	if b == nil {
   533  		b = make([]byte, m.Size())
   534  	}
   535  	buf := codec.NewBuffer(b)
   536  	buf.EncodeUint32(uint32(m.SwIfIndex))
   537  	buf.EncodeUint32(m.ServerIndex)
   538  	buf.EncodeUint32(m.Irt)
   539  	buf.EncodeUint32(m.Mrt)
   540  	buf.EncodeUint32(m.Mrc)
   541  	buf.EncodeUint32(m.Mrd)
   542  	buf.EncodeBool(m.Stop)
   543  	buf.EncodeUint32(uint32(m.MsgType))
   544  	buf.EncodeUint32(m.T1)
   545  	buf.EncodeUint32(m.T2)
   546  	buf.EncodeUint32(uint32(len(m.Prefixes)))
   547  	for j0 := 0; j0 < len(m.Prefixes); j0++ {
   548  		var v0 DHCP6PdPrefixInfo // Prefixes
   549  		if j0 < len(m.Prefixes) {
   550  			v0 = m.Prefixes[j0]
   551  		}
   552  		buf.EncodeBytes(v0.Prefix.Address[:], 16)
   553  		buf.EncodeUint8(v0.Prefix.Len)
   554  		buf.EncodeUint32(v0.ValidTime)
   555  		buf.EncodeUint32(v0.PreferredTime)
   556  	}
   557  	return buf.Bytes(), nil
   558  }
   559  func (m *DHCP6PdSendClientMessage) Unmarshal(b []byte) error {
   560  	buf := codec.NewBuffer(b)
   561  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   562  	m.ServerIndex = buf.DecodeUint32()
   563  	m.Irt = buf.DecodeUint32()
   564  	m.Mrt = buf.DecodeUint32()
   565  	m.Mrc = buf.DecodeUint32()
   566  	m.Mrd = buf.DecodeUint32()
   567  	m.Stop = buf.DecodeBool()
   568  	m.MsgType = Dhcpv6MsgType(buf.DecodeUint32())
   569  	m.T1 = buf.DecodeUint32()
   570  	m.T2 = buf.DecodeUint32()
   571  	m.NPrefixes = buf.DecodeUint32()
   572  	m.Prefixes = make([]DHCP6PdPrefixInfo, m.NPrefixes)
   573  	for j0 := 0; j0 < len(m.Prefixes); j0++ {
   574  		copy(m.Prefixes[j0].Prefix.Address[:], buf.DecodeBytes(16))
   575  		m.Prefixes[j0].Prefix.Len = buf.DecodeUint8()
   576  		m.Prefixes[j0].ValidTime = buf.DecodeUint32()
   577  		m.Prefixes[j0].PreferredTime = buf.DecodeUint32()
   578  	}
   579  	return nil
   580  }
   581  
   582  // DHCP6PdSendClientMessageReply defines message 'dhcp6_pd_send_client_message_reply'.
   583  type DHCP6PdSendClientMessageReply struct {
   584  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   585  }
   586  
   587  func (m *DHCP6PdSendClientMessageReply) Reset() { *m = DHCP6PdSendClientMessageReply{} }
   588  func (*DHCP6PdSendClientMessageReply) GetMessageName() string {
   589  	return "dhcp6_pd_send_client_message_reply"
   590  }
   591  func (*DHCP6PdSendClientMessageReply) GetCrcString() string { return "e8d4e804" }
   592  func (*DHCP6PdSendClientMessageReply) GetMessageType() api.MessageType {
   593  	return api.ReplyMessage
   594  }
   595  
   596  func (m *DHCP6PdSendClientMessageReply) Size() (size int) {
   597  	if m == nil {
   598  		return 0
   599  	}
   600  	size += 4 // m.Retval
   601  	return size
   602  }
   603  func (m *DHCP6PdSendClientMessageReply) Marshal(b []byte) ([]byte, error) {
   604  	if b == nil {
   605  		b = make([]byte, m.Size())
   606  	}
   607  	buf := codec.NewBuffer(b)
   608  	buf.EncodeInt32(m.Retval)
   609  	return buf.Bytes(), nil
   610  }
   611  func (m *DHCP6PdSendClientMessageReply) Unmarshal(b []byte) error {
   612  	buf := codec.NewBuffer(b)
   613  	m.Retval = buf.DecodeInt32()
   614  	return nil
   615  }
   616  
   617  // Tell client about a DHCPv6 server reply event
   618  //   - pid - client pid registered to receive notification
   619  //   - sw_if_index - index of RX interface, also identifies IAID
   620  //   - server_index - used to dentify DHCPv6 server,
   621  //     unique for each DHCPv6 server on the link
   622  //   - msg_type - message type
   623  //   - T1 - value of T1 in IA_NA option
   624  //   - T2 - value of T2 in IA_NA option
   625  //   - inner_status_code - value of status code inside IA_NA option
   626  //   - status_code - value of status code
   627  //   - preference - value of preference option in reply message
   628  //   - n_addresses - number of addresses in IA_NA option
   629  //   - addresses - list of addresses in IA_NA option
   630  //
   631  // DHCP6ReplyEvent defines message 'dhcp6_reply_event'.
   632  type DHCP6ReplyEvent struct {
   633  	PID             uint32                         `binapi:"u32,name=pid" json:"pid,omitempty"`
   634  	SwIfIndex       interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   635  	ServerIndex     uint32                         `binapi:"u32,name=server_index" json:"server_index,omitempty"`
   636  	MsgType         Dhcpv6MsgType                  `binapi:"dhcpv6_msg_type,name=msg_type" json:"msg_type,omitempty"`
   637  	T1              uint32                         `binapi:"u32,name=T1" json:"T1,omitempty"`
   638  	T2              uint32                         `binapi:"u32,name=T2" json:"T2,omitempty"`
   639  	InnerStatusCode uint16                         `binapi:"u16,name=inner_status_code" json:"inner_status_code,omitempty"`
   640  	StatusCode      uint16                         `binapi:"u16,name=status_code" json:"status_code,omitempty"`
   641  	Preference      uint8                          `binapi:"u8,name=preference" json:"preference,omitempty"`
   642  	NAddresses      uint32                         `binapi:"u32,name=n_addresses" json:"-"`
   643  	Addresses       []DHCP6AddressInfo             `binapi:"dhcp6_address_info[n_addresses],name=addresses" json:"addresses,omitempty"`
   644  }
   645  
   646  func (m *DHCP6ReplyEvent) Reset()               { *m = DHCP6ReplyEvent{} }
   647  func (*DHCP6ReplyEvent) GetMessageName() string { return "dhcp6_reply_event" }
   648  func (*DHCP6ReplyEvent) GetCrcString() string   { return "85b7b17e" }
   649  func (*DHCP6ReplyEvent) GetMessageType() api.MessageType {
   650  	return api.EventMessage
   651  }
   652  
   653  func (m *DHCP6ReplyEvent) Size() (size int) {
   654  	if m == nil {
   655  		return 0
   656  	}
   657  	size += 4 // m.PID
   658  	size += 4 // m.SwIfIndex
   659  	size += 4 // m.ServerIndex
   660  	size += 4 // m.MsgType
   661  	size += 4 // m.T1
   662  	size += 4 // m.T2
   663  	size += 2 // m.InnerStatusCode
   664  	size += 2 // m.StatusCode
   665  	size += 1 // m.Preference
   666  	size += 4 // m.NAddresses
   667  	for j1 := 0; j1 < len(m.Addresses); j1++ {
   668  		var s1 DHCP6AddressInfo
   669  		_ = s1
   670  		if j1 < len(m.Addresses) {
   671  			s1 = m.Addresses[j1]
   672  		}
   673  		size += 1 * 16 // s1.Address
   674  		size += 4      // s1.ValidTime
   675  		size += 4      // s1.PreferredTime
   676  	}
   677  	return size
   678  }
   679  func (m *DHCP6ReplyEvent) Marshal(b []byte) ([]byte, error) {
   680  	if b == nil {
   681  		b = make([]byte, m.Size())
   682  	}
   683  	buf := codec.NewBuffer(b)
   684  	buf.EncodeUint32(m.PID)
   685  	buf.EncodeUint32(uint32(m.SwIfIndex))
   686  	buf.EncodeUint32(m.ServerIndex)
   687  	buf.EncodeUint32(uint32(m.MsgType))
   688  	buf.EncodeUint32(m.T1)
   689  	buf.EncodeUint32(m.T2)
   690  	buf.EncodeUint16(m.InnerStatusCode)
   691  	buf.EncodeUint16(m.StatusCode)
   692  	buf.EncodeUint8(m.Preference)
   693  	buf.EncodeUint32(uint32(len(m.Addresses)))
   694  	for j0 := 0; j0 < len(m.Addresses); j0++ {
   695  		var v0 DHCP6AddressInfo // Addresses
   696  		if j0 < len(m.Addresses) {
   697  			v0 = m.Addresses[j0]
   698  		}
   699  		buf.EncodeBytes(v0.Address[:], 16)
   700  		buf.EncodeUint32(v0.ValidTime)
   701  		buf.EncodeUint32(v0.PreferredTime)
   702  	}
   703  	return buf.Bytes(), nil
   704  }
   705  func (m *DHCP6ReplyEvent) Unmarshal(b []byte) error {
   706  	buf := codec.NewBuffer(b)
   707  	m.PID = buf.DecodeUint32()
   708  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   709  	m.ServerIndex = buf.DecodeUint32()
   710  	m.MsgType = Dhcpv6MsgType(buf.DecodeUint32())
   711  	m.T1 = buf.DecodeUint32()
   712  	m.T2 = buf.DecodeUint32()
   713  	m.InnerStatusCode = buf.DecodeUint16()
   714  	m.StatusCode = buf.DecodeUint16()
   715  	m.Preference = buf.DecodeUint8()
   716  	m.NAddresses = buf.DecodeUint32()
   717  	m.Addresses = make([]DHCP6AddressInfo, m.NAddresses)
   718  	for j0 := 0; j0 < len(m.Addresses); j0++ {
   719  		copy(m.Addresses[j0].Address[:], buf.DecodeBytes(16))
   720  		m.Addresses[j0].ValidTime = buf.DecodeUint32()
   721  		m.Addresses[j0].PreferredTime = buf.DecodeUint32()
   722  	}
   723  	return nil
   724  }
   725  
   726  // Send DHCPv6 client message of specified type
   727  //   - sw_if_index - index of TX interface, also identifies IAID
   728  //   - server_index - used to dentify DHCPv6 server,
   729  //     unique for each DHCPv6 server on the link,
   730  //     value obrtained from dhcp6_reply_event API message,
   731  //     use ~0 to send message to all DHCPv6 servers
   732  //   - irt - initial retransmission time
   733  //   - mrt - maximum retransmission time
   734  //   - mrc - maximum retransmission count
   735  //   - mrd - maximum retransmission duration
   736  //     for sending the message
   737  //   - stop - if non-zero then stop resending the message,
   738  //     otherwise start sending the message
   739  //   - msg_type - message type
   740  //   - T1 - value of T1 in IA_NA option
   741  //   - T2 - value of T2 in IA_NA option
   742  //   - n_addresses - number of addresses in IA_NA option
   743  //   - addresses - list of addresses in IA_NA option
   744  //
   745  // DHCP6SendClientMessage defines message 'dhcp6_send_client_message'.
   746  type DHCP6SendClientMessage struct {
   747  	SwIfIndex   interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   748  	ServerIndex uint32                         `binapi:"u32,name=server_index" json:"server_index,omitempty"`
   749  	Irt         uint32                         `binapi:"u32,name=irt" json:"irt,omitempty"`
   750  	Mrt         uint32                         `binapi:"u32,name=mrt" json:"mrt,omitempty"`
   751  	Mrc         uint32                         `binapi:"u32,name=mrc" json:"mrc,omitempty"`
   752  	Mrd         uint32                         `binapi:"u32,name=mrd" json:"mrd,omitempty"`
   753  	Stop        bool                           `binapi:"bool,name=stop" json:"stop,omitempty"`
   754  	MsgType     Dhcpv6MsgType                  `binapi:"dhcpv6_msg_type,name=msg_type" json:"msg_type,omitempty"`
   755  	T1          uint32                         `binapi:"u32,name=T1" json:"T1,omitempty"`
   756  	T2          uint32                         `binapi:"u32,name=T2" json:"T2,omitempty"`
   757  	NAddresses  uint32                         `binapi:"u32,name=n_addresses" json:"-"`
   758  	Addresses   []DHCP6AddressInfo             `binapi:"dhcp6_address_info[n_addresses],name=addresses" json:"addresses,omitempty"`
   759  }
   760  
   761  func (m *DHCP6SendClientMessage) Reset()               { *m = DHCP6SendClientMessage{} }
   762  func (*DHCP6SendClientMessage) GetMessageName() string { return "dhcp6_send_client_message" }
   763  func (*DHCP6SendClientMessage) GetCrcString() string   { return "f8222476" }
   764  func (*DHCP6SendClientMessage) GetMessageType() api.MessageType {
   765  	return api.RequestMessage
   766  }
   767  
   768  func (m *DHCP6SendClientMessage) Size() (size int) {
   769  	if m == nil {
   770  		return 0
   771  	}
   772  	size += 4 // m.SwIfIndex
   773  	size += 4 // m.ServerIndex
   774  	size += 4 // m.Irt
   775  	size += 4 // m.Mrt
   776  	size += 4 // m.Mrc
   777  	size += 4 // m.Mrd
   778  	size += 1 // m.Stop
   779  	size += 4 // m.MsgType
   780  	size += 4 // m.T1
   781  	size += 4 // m.T2
   782  	size += 4 // m.NAddresses
   783  	for j1 := 0; j1 < len(m.Addresses); j1++ {
   784  		var s1 DHCP6AddressInfo
   785  		_ = s1
   786  		if j1 < len(m.Addresses) {
   787  			s1 = m.Addresses[j1]
   788  		}
   789  		size += 1 * 16 // s1.Address
   790  		size += 4      // s1.ValidTime
   791  		size += 4      // s1.PreferredTime
   792  	}
   793  	return size
   794  }
   795  func (m *DHCP6SendClientMessage) Marshal(b []byte) ([]byte, error) {
   796  	if b == nil {
   797  		b = make([]byte, m.Size())
   798  	}
   799  	buf := codec.NewBuffer(b)
   800  	buf.EncodeUint32(uint32(m.SwIfIndex))
   801  	buf.EncodeUint32(m.ServerIndex)
   802  	buf.EncodeUint32(m.Irt)
   803  	buf.EncodeUint32(m.Mrt)
   804  	buf.EncodeUint32(m.Mrc)
   805  	buf.EncodeUint32(m.Mrd)
   806  	buf.EncodeBool(m.Stop)
   807  	buf.EncodeUint32(uint32(m.MsgType))
   808  	buf.EncodeUint32(m.T1)
   809  	buf.EncodeUint32(m.T2)
   810  	buf.EncodeUint32(uint32(len(m.Addresses)))
   811  	for j0 := 0; j0 < len(m.Addresses); j0++ {
   812  		var v0 DHCP6AddressInfo // Addresses
   813  		if j0 < len(m.Addresses) {
   814  			v0 = m.Addresses[j0]
   815  		}
   816  		buf.EncodeBytes(v0.Address[:], 16)
   817  		buf.EncodeUint32(v0.ValidTime)
   818  		buf.EncodeUint32(v0.PreferredTime)
   819  	}
   820  	return buf.Bytes(), nil
   821  }
   822  func (m *DHCP6SendClientMessage) Unmarshal(b []byte) error {
   823  	buf := codec.NewBuffer(b)
   824  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   825  	m.ServerIndex = buf.DecodeUint32()
   826  	m.Irt = buf.DecodeUint32()
   827  	m.Mrt = buf.DecodeUint32()
   828  	m.Mrc = buf.DecodeUint32()
   829  	m.Mrd = buf.DecodeUint32()
   830  	m.Stop = buf.DecodeBool()
   831  	m.MsgType = Dhcpv6MsgType(buf.DecodeUint32())
   832  	m.T1 = buf.DecodeUint32()
   833  	m.T2 = buf.DecodeUint32()
   834  	m.NAddresses = buf.DecodeUint32()
   835  	m.Addresses = make([]DHCP6AddressInfo, m.NAddresses)
   836  	for j0 := 0; j0 < len(m.Addresses); j0++ {
   837  		copy(m.Addresses[j0].Address[:], buf.DecodeBytes(16))
   838  		m.Addresses[j0].ValidTime = buf.DecodeUint32()
   839  		m.Addresses[j0].PreferredTime = buf.DecodeUint32()
   840  	}
   841  	return nil
   842  }
   843  
   844  // DHCP6SendClientMessageReply defines message 'dhcp6_send_client_message_reply'.
   845  type DHCP6SendClientMessageReply struct {
   846  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   847  }
   848  
   849  func (m *DHCP6SendClientMessageReply) Reset()               { *m = DHCP6SendClientMessageReply{} }
   850  func (*DHCP6SendClientMessageReply) GetMessageName() string { return "dhcp6_send_client_message_reply" }
   851  func (*DHCP6SendClientMessageReply) GetCrcString() string   { return "e8d4e804" }
   852  func (*DHCP6SendClientMessageReply) GetMessageType() api.MessageType {
   853  	return api.ReplyMessage
   854  }
   855  
   856  func (m *DHCP6SendClientMessageReply) Size() (size int) {
   857  	if m == nil {
   858  		return 0
   859  	}
   860  	size += 4 // m.Retval
   861  	return size
   862  }
   863  func (m *DHCP6SendClientMessageReply) Marshal(b []byte) ([]byte, error) {
   864  	if b == nil {
   865  		b = make([]byte, m.Size())
   866  	}
   867  	buf := codec.NewBuffer(b)
   868  	buf.EncodeInt32(m.Retval)
   869  	return buf.Bytes(), nil
   870  }
   871  func (m *DHCP6SendClientMessageReply) Unmarshal(b []byte) error {
   872  	buf := codec.NewBuffer(b)
   873  	m.Retval = buf.DecodeInt32()
   874  	return nil
   875  }
   876  
   877  // DHCP Client config add / del request
   878  //   - is_add - add the config if non-zero, else delete
   879  //   - client - client configuration data
   880  //
   881  // DHCPClientConfig defines message 'dhcp_client_config'.
   882  type DHCPClientConfig struct {
   883  	IsAdd  bool       `binapi:"bool,name=is_add" json:"is_add,omitempty"`
   884  	Client DHCPClient `binapi:"dhcp_client,name=client" json:"client,omitempty"`
   885  }
   886  
   887  func (m *DHCPClientConfig) Reset()               { *m = DHCPClientConfig{} }
   888  func (*DHCPClientConfig) GetMessageName() string { return "dhcp_client_config" }
   889  func (*DHCPClientConfig) GetCrcString() string   { return "1af013ea" }
   890  func (*DHCPClientConfig) GetMessageType() api.MessageType {
   891  	return api.RequestMessage
   892  }
   893  
   894  func (m *DHCPClientConfig) Size() (size int) {
   895  	if m == nil {
   896  		return 0
   897  	}
   898  	size += 1      // m.IsAdd
   899  	size += 4      // m.Client.SwIfIndex
   900  	size += 64     // m.Client.Hostname
   901  	size += 1 * 64 // m.Client.ID
   902  	size += 1      // m.Client.WantDHCPEvent
   903  	size += 1      // m.Client.SetBroadcastFlag
   904  	size += 1      // m.Client.Dscp
   905  	size += 4      // m.Client.PID
   906  	return size
   907  }
   908  func (m *DHCPClientConfig) Marshal(b []byte) ([]byte, error) {
   909  	if b == nil {
   910  		b = make([]byte, m.Size())
   911  	}
   912  	buf := codec.NewBuffer(b)
   913  	buf.EncodeBool(m.IsAdd)
   914  	buf.EncodeUint32(uint32(m.Client.SwIfIndex))
   915  	buf.EncodeString(m.Client.Hostname, 64)
   916  	buf.EncodeBytes(m.Client.ID, 64)
   917  	buf.EncodeBool(m.Client.WantDHCPEvent)
   918  	buf.EncodeBool(m.Client.SetBroadcastFlag)
   919  	buf.EncodeUint8(uint8(m.Client.Dscp))
   920  	buf.EncodeUint32(m.Client.PID)
   921  	return buf.Bytes(), nil
   922  }
   923  func (m *DHCPClientConfig) Unmarshal(b []byte) error {
   924  	buf := codec.NewBuffer(b)
   925  	m.IsAdd = buf.DecodeBool()
   926  	m.Client.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   927  	m.Client.Hostname = buf.DecodeString(64)
   928  	m.Client.ID = make([]byte, 64)
   929  	copy(m.Client.ID, buf.DecodeBytes(len(m.Client.ID)))
   930  	m.Client.WantDHCPEvent = buf.DecodeBool()
   931  	m.Client.SetBroadcastFlag = buf.DecodeBool()
   932  	m.Client.Dscp = ip_types.IPDscp(buf.DecodeUint8())
   933  	m.Client.PID = buf.DecodeUint32()
   934  	return nil
   935  }
   936  
   937  // DHCPClientConfigReply defines message 'dhcp_client_config_reply'.
   938  type DHCPClientConfigReply struct {
   939  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   940  }
   941  
   942  func (m *DHCPClientConfigReply) Reset()               { *m = DHCPClientConfigReply{} }
   943  func (*DHCPClientConfigReply) GetMessageName() string { return "dhcp_client_config_reply" }
   944  func (*DHCPClientConfigReply) GetCrcString() string   { return "e8d4e804" }
   945  func (*DHCPClientConfigReply) GetMessageType() api.MessageType {
   946  	return api.ReplyMessage
   947  }
   948  
   949  func (m *DHCPClientConfigReply) Size() (size int) {
   950  	if m == nil {
   951  		return 0
   952  	}
   953  	size += 4 // m.Retval
   954  	return size
   955  }
   956  func (m *DHCPClientConfigReply) Marshal(b []byte) ([]byte, error) {
   957  	if b == nil {
   958  		b = make([]byte, m.Size())
   959  	}
   960  	buf := codec.NewBuffer(b)
   961  	buf.EncodeInt32(m.Retval)
   962  	return buf.Bytes(), nil
   963  }
   964  func (m *DHCPClientConfigReply) Unmarshal(b []byte) error {
   965  	buf := codec.NewBuffer(b)
   966  	m.Retval = buf.DecodeInt32()
   967  	return nil
   968  }
   969  
   970  // DHCP Client details returned from dump
   971  //   - - client - The configured client
   972  //   - - lease - The learned lease data
   973  //
   974  // DHCPClientDetails defines message 'dhcp_client_details'.
   975  type DHCPClientDetails struct {
   976  	Client DHCPClient `binapi:"dhcp_client,name=client" json:"client,omitempty"`
   977  	Lease  DHCPLease  `binapi:"dhcp_lease,name=lease" json:"lease,omitempty"`
   978  }
   979  
   980  func (m *DHCPClientDetails) Reset()               { *m = DHCPClientDetails{} }
   981  func (*DHCPClientDetails) GetMessageName() string { return "dhcp_client_details" }
   982  func (*DHCPClientDetails) GetCrcString() string   { return "8897b2d8" }
   983  func (*DHCPClientDetails) GetMessageType() api.MessageType {
   984  	return api.ReplyMessage
   985  }
   986  
   987  func (m *DHCPClientDetails) Size() (size int) {
   988  	if m == nil {
   989  		return 0
   990  	}
   991  	size += 4      // m.Client.SwIfIndex
   992  	size += 64     // m.Client.Hostname
   993  	size += 1 * 64 // m.Client.ID
   994  	size += 1      // m.Client.WantDHCPEvent
   995  	size += 1      // m.Client.SetBroadcastFlag
   996  	size += 1      // m.Client.Dscp
   997  	size += 4      // m.Client.PID
   998  	size += 4      // m.Lease.SwIfIndex
   999  	size += 4      // m.Lease.State
  1000  	size += 1      // m.Lease.IsIPv6
  1001  	size += 64     // m.Lease.Hostname
  1002  	size += 1      // m.Lease.MaskWidth
  1003  	size += 1      // m.Lease.HostAddress.Af
  1004  	size += 1 * 16 // m.Lease.HostAddress.Un
  1005  	size += 1      // m.Lease.RouterAddress.Af
  1006  	size += 1 * 16 // m.Lease.RouterAddress.Un
  1007  	size += 1 * 6  // m.Lease.HostMac
  1008  	size += 1      // m.Lease.Count
  1009  	for j2 := 0; j2 < len(m.Lease.DomainServer); j2++ {
  1010  		var s2 DomainServer
  1011  		_ = s2
  1012  		if j2 < len(m.Lease.DomainServer) {
  1013  			s2 = m.Lease.DomainServer[j2]
  1014  		}
  1015  		size += 1      // s2.Address.Af
  1016  		size += 1 * 16 // s2.Address.Un
  1017  	}
  1018  	return size
  1019  }
  1020  func (m *DHCPClientDetails) Marshal(b []byte) ([]byte, error) {
  1021  	if b == nil {
  1022  		b = make([]byte, m.Size())
  1023  	}
  1024  	buf := codec.NewBuffer(b)
  1025  	buf.EncodeUint32(uint32(m.Client.SwIfIndex))
  1026  	buf.EncodeString(m.Client.Hostname, 64)
  1027  	buf.EncodeBytes(m.Client.ID, 64)
  1028  	buf.EncodeBool(m.Client.WantDHCPEvent)
  1029  	buf.EncodeBool(m.Client.SetBroadcastFlag)
  1030  	buf.EncodeUint8(uint8(m.Client.Dscp))
  1031  	buf.EncodeUint32(m.Client.PID)
  1032  	buf.EncodeUint32(uint32(m.Lease.SwIfIndex))
  1033  	buf.EncodeUint32(uint32(m.Lease.State))
  1034  	buf.EncodeBool(m.Lease.IsIPv6)
  1035  	buf.EncodeString(m.Lease.Hostname, 64)
  1036  	buf.EncodeUint8(m.Lease.MaskWidth)
  1037  	buf.EncodeUint8(uint8(m.Lease.HostAddress.Af))
  1038  	buf.EncodeBytes(m.Lease.HostAddress.Un.XXX_UnionData[:], 16)
  1039  	buf.EncodeUint8(uint8(m.Lease.RouterAddress.Af))
  1040  	buf.EncodeBytes(m.Lease.RouterAddress.Un.XXX_UnionData[:], 16)
  1041  	buf.EncodeBytes(m.Lease.HostMac[:], 6)
  1042  	buf.EncodeUint8(uint8(len(m.Lease.DomainServer)))
  1043  	for j1 := 0; j1 < len(m.Lease.DomainServer); j1++ {
  1044  		var v1 DomainServer // DomainServer
  1045  		if j1 < len(m.Lease.DomainServer) {
  1046  			v1 = m.Lease.DomainServer[j1]
  1047  		}
  1048  		buf.EncodeUint8(uint8(v1.Address.Af))
  1049  		buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
  1050  	}
  1051  	return buf.Bytes(), nil
  1052  }
  1053  func (m *DHCPClientDetails) Unmarshal(b []byte) error {
  1054  	buf := codec.NewBuffer(b)
  1055  	m.Client.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  1056  	m.Client.Hostname = buf.DecodeString(64)
  1057  	m.Client.ID = make([]byte, 64)
  1058  	copy(m.Client.ID, buf.DecodeBytes(len(m.Client.ID)))
  1059  	m.Client.WantDHCPEvent = buf.DecodeBool()
  1060  	m.Client.SetBroadcastFlag = buf.DecodeBool()
  1061  	m.Client.Dscp = ip_types.IPDscp(buf.DecodeUint8())
  1062  	m.Client.PID = buf.DecodeUint32()
  1063  	m.Lease.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  1064  	m.Lease.State = DHCPClientState(buf.DecodeUint32())
  1065  	m.Lease.IsIPv6 = buf.DecodeBool()
  1066  	m.Lease.Hostname = buf.DecodeString(64)
  1067  	m.Lease.MaskWidth = buf.DecodeUint8()
  1068  	m.Lease.HostAddress.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1069  	copy(m.Lease.HostAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1070  	m.Lease.RouterAddress.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1071  	copy(m.Lease.RouterAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1072  	copy(m.Lease.HostMac[:], buf.DecodeBytes(6))
  1073  	m.Lease.Count = buf.DecodeUint8()
  1074  	m.Lease.DomainServer = make([]DomainServer, m.Lease.Count)
  1075  	for j1 := 0; j1 < len(m.Lease.DomainServer); j1++ {
  1076  		m.Lease.DomainServer[j1].Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1077  		copy(m.Lease.DomainServer[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1078  	}
  1079  	return nil
  1080  }
  1081  
  1082  // Dump the DHCP client configurations
  1083  // DHCPClientDump defines message 'dhcp_client_dump'.
  1084  type DHCPClientDump struct{}
  1085  
  1086  func (m *DHCPClientDump) Reset()               { *m = DHCPClientDump{} }
  1087  func (*DHCPClientDump) GetMessageName() string { return "dhcp_client_dump" }
  1088  func (*DHCPClientDump) GetCrcString() string   { return "51077d14" }
  1089  func (*DHCPClientDump) GetMessageType() api.MessageType {
  1090  	return api.RequestMessage
  1091  }
  1092  
  1093  func (m *DHCPClientDump) Size() (size int) {
  1094  	if m == nil {
  1095  		return 0
  1096  	}
  1097  	return size
  1098  }
  1099  func (m *DHCPClientDump) Marshal(b []byte) ([]byte, error) {
  1100  	if b == nil {
  1101  		b = make([]byte, m.Size())
  1102  	}
  1103  	buf := codec.NewBuffer(b)
  1104  	return buf.Bytes(), nil
  1105  }
  1106  func (m *DHCPClientDump) Unmarshal(b []byte) error {
  1107  	return nil
  1108  }
  1109  
  1110  // Tell client about a DHCP completion event
  1111  //   - pid - client pid registered to receive notification
  1112  //   - lease - Data learned during the DHCP process;
  1113  //
  1114  // DHCPComplEvent defines message 'dhcp_compl_event'.
  1115  type DHCPComplEvent struct {
  1116  	PID   uint32    `binapi:"u32,name=pid" json:"pid,omitempty"`
  1117  	Lease DHCPLease `binapi:"dhcp_lease,name=lease" json:"lease,omitempty"`
  1118  }
  1119  
  1120  func (m *DHCPComplEvent) Reset()               { *m = DHCPComplEvent{} }
  1121  func (*DHCPComplEvent) GetMessageName() string { return "dhcp_compl_event" }
  1122  func (*DHCPComplEvent) GetCrcString() string   { return "e18124b7" }
  1123  func (*DHCPComplEvent) GetMessageType() api.MessageType {
  1124  	return api.EventMessage
  1125  }
  1126  
  1127  func (m *DHCPComplEvent) Size() (size int) {
  1128  	if m == nil {
  1129  		return 0
  1130  	}
  1131  	size += 4      // m.PID
  1132  	size += 4      // m.Lease.SwIfIndex
  1133  	size += 4      // m.Lease.State
  1134  	size += 1      // m.Lease.IsIPv6
  1135  	size += 64     // m.Lease.Hostname
  1136  	size += 1      // m.Lease.MaskWidth
  1137  	size += 1      // m.Lease.HostAddress.Af
  1138  	size += 1 * 16 // m.Lease.HostAddress.Un
  1139  	size += 1      // m.Lease.RouterAddress.Af
  1140  	size += 1 * 16 // m.Lease.RouterAddress.Un
  1141  	size += 1 * 6  // m.Lease.HostMac
  1142  	size += 1      // m.Lease.Count
  1143  	for j2 := 0; j2 < len(m.Lease.DomainServer); j2++ {
  1144  		var s2 DomainServer
  1145  		_ = s2
  1146  		if j2 < len(m.Lease.DomainServer) {
  1147  			s2 = m.Lease.DomainServer[j2]
  1148  		}
  1149  		size += 1      // s2.Address.Af
  1150  		size += 1 * 16 // s2.Address.Un
  1151  	}
  1152  	return size
  1153  }
  1154  func (m *DHCPComplEvent) Marshal(b []byte) ([]byte, error) {
  1155  	if b == nil {
  1156  		b = make([]byte, m.Size())
  1157  	}
  1158  	buf := codec.NewBuffer(b)
  1159  	buf.EncodeUint32(m.PID)
  1160  	buf.EncodeUint32(uint32(m.Lease.SwIfIndex))
  1161  	buf.EncodeUint32(uint32(m.Lease.State))
  1162  	buf.EncodeBool(m.Lease.IsIPv6)
  1163  	buf.EncodeString(m.Lease.Hostname, 64)
  1164  	buf.EncodeUint8(m.Lease.MaskWidth)
  1165  	buf.EncodeUint8(uint8(m.Lease.HostAddress.Af))
  1166  	buf.EncodeBytes(m.Lease.HostAddress.Un.XXX_UnionData[:], 16)
  1167  	buf.EncodeUint8(uint8(m.Lease.RouterAddress.Af))
  1168  	buf.EncodeBytes(m.Lease.RouterAddress.Un.XXX_UnionData[:], 16)
  1169  	buf.EncodeBytes(m.Lease.HostMac[:], 6)
  1170  	buf.EncodeUint8(uint8(len(m.Lease.DomainServer)))
  1171  	for j1 := 0; j1 < len(m.Lease.DomainServer); j1++ {
  1172  		var v1 DomainServer // DomainServer
  1173  		if j1 < len(m.Lease.DomainServer) {
  1174  			v1 = m.Lease.DomainServer[j1]
  1175  		}
  1176  		buf.EncodeUint8(uint8(v1.Address.Af))
  1177  		buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
  1178  	}
  1179  	return buf.Bytes(), nil
  1180  }
  1181  func (m *DHCPComplEvent) Unmarshal(b []byte) error {
  1182  	buf := codec.NewBuffer(b)
  1183  	m.PID = buf.DecodeUint32()
  1184  	m.Lease.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  1185  	m.Lease.State = DHCPClientState(buf.DecodeUint32())
  1186  	m.Lease.IsIPv6 = buf.DecodeBool()
  1187  	m.Lease.Hostname = buf.DecodeString(64)
  1188  	m.Lease.MaskWidth = buf.DecodeUint8()
  1189  	m.Lease.HostAddress.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1190  	copy(m.Lease.HostAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1191  	m.Lease.RouterAddress.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1192  	copy(m.Lease.RouterAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1193  	copy(m.Lease.HostMac[:], buf.DecodeBytes(6))
  1194  	m.Lease.Count = buf.DecodeUint8()
  1195  	m.Lease.DomainServer = make([]DomainServer, m.Lease.Count)
  1196  	for j1 := 0; j1 < len(m.Lease.DomainServer); j1++ {
  1197  		m.Lease.DomainServer[j1].Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1198  		copy(m.Lease.DomainServer[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1199  	}
  1200  	return nil
  1201  }
  1202  
  1203  // Control ping from client to api server request
  1204  // DHCPPluginControlPing defines message 'dhcp_plugin_control_ping'.
  1205  type DHCPPluginControlPing struct{}
  1206  
  1207  func (m *DHCPPluginControlPing) Reset()               { *m = DHCPPluginControlPing{} }
  1208  func (*DHCPPluginControlPing) GetMessageName() string { return "dhcp_plugin_control_ping" }
  1209  func (*DHCPPluginControlPing) GetCrcString() string   { return "51077d14" }
  1210  func (*DHCPPluginControlPing) GetMessageType() api.MessageType {
  1211  	return api.RequestMessage
  1212  }
  1213  
  1214  func (m *DHCPPluginControlPing) Size() (size int) {
  1215  	if m == nil {
  1216  		return 0
  1217  	}
  1218  	return size
  1219  }
  1220  func (m *DHCPPluginControlPing) Marshal(b []byte) ([]byte, error) {
  1221  	if b == nil {
  1222  		b = make([]byte, m.Size())
  1223  	}
  1224  	buf := codec.NewBuffer(b)
  1225  	return buf.Bytes(), nil
  1226  }
  1227  func (m *DHCPPluginControlPing) Unmarshal(b []byte) error {
  1228  	return nil
  1229  }
  1230  
  1231  // Control ping from the client to the server response
  1232  //   - retval - return code for the request
  1233  //   - vpe_pid - the pid of the vpe, returned by the server
  1234  //
  1235  // DHCPPluginControlPingReply defines message 'dhcp_plugin_control_ping_reply'.
  1236  type DHCPPluginControlPingReply struct {
  1237  	Retval      int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
  1238  	ClientIndex uint32 `binapi:"u32,name=client_index" json:"client_index,omitempty"`
  1239  	VpePID      uint32 `binapi:"u32,name=vpe_pid" json:"vpe_pid,omitempty"`
  1240  }
  1241  
  1242  func (m *DHCPPluginControlPingReply) Reset()               { *m = DHCPPluginControlPingReply{} }
  1243  func (*DHCPPluginControlPingReply) GetMessageName() string { return "dhcp_plugin_control_ping_reply" }
  1244  func (*DHCPPluginControlPingReply) GetCrcString() string   { return "f6b0b8ca" }
  1245  func (*DHCPPluginControlPingReply) GetMessageType() api.MessageType {
  1246  	return api.ReplyMessage
  1247  }
  1248  
  1249  func (m *DHCPPluginControlPingReply) Size() (size int) {
  1250  	if m == nil {
  1251  		return 0
  1252  	}
  1253  	size += 4 // m.Retval
  1254  	size += 4 // m.ClientIndex
  1255  	size += 4 // m.VpePID
  1256  	return size
  1257  }
  1258  func (m *DHCPPluginControlPingReply) Marshal(b []byte) ([]byte, error) {
  1259  	if b == nil {
  1260  		b = make([]byte, m.Size())
  1261  	}
  1262  	buf := codec.NewBuffer(b)
  1263  	buf.EncodeInt32(m.Retval)
  1264  	buf.EncodeUint32(m.ClientIndex)
  1265  	buf.EncodeUint32(m.VpePID)
  1266  	return buf.Bytes(), nil
  1267  }
  1268  func (m *DHCPPluginControlPingReply) Unmarshal(b []byte) error {
  1269  	buf := codec.NewBuffer(b)
  1270  	m.Retval = buf.DecodeInt32()
  1271  	m.ClientIndex = buf.DecodeUint32()
  1272  	m.VpePID = buf.DecodeUint32()
  1273  	return nil
  1274  }
  1275  
  1276  // Get the plugin version
  1277  // DHCPPluginGetVersion defines message 'dhcp_plugin_get_version'.
  1278  type DHCPPluginGetVersion struct{}
  1279  
  1280  func (m *DHCPPluginGetVersion) Reset()               { *m = DHCPPluginGetVersion{} }
  1281  func (*DHCPPluginGetVersion) GetMessageName() string { return "dhcp_plugin_get_version" }
  1282  func (*DHCPPluginGetVersion) GetCrcString() string   { return "51077d14" }
  1283  func (*DHCPPluginGetVersion) GetMessageType() api.MessageType {
  1284  	return api.RequestMessage
  1285  }
  1286  
  1287  func (m *DHCPPluginGetVersion) Size() (size int) {
  1288  	if m == nil {
  1289  		return 0
  1290  	}
  1291  	return size
  1292  }
  1293  func (m *DHCPPluginGetVersion) Marshal(b []byte) ([]byte, error) {
  1294  	if b == nil {
  1295  		b = make([]byte, m.Size())
  1296  	}
  1297  	buf := codec.NewBuffer(b)
  1298  	return buf.Bytes(), nil
  1299  }
  1300  func (m *DHCPPluginGetVersion) Unmarshal(b []byte) error {
  1301  	return nil
  1302  }
  1303  
  1304  // Reply to get the plugin version
  1305  //   - major - Incremented every time a known breaking behavior change is introduced
  1306  //   - minor - Incremented with small changes, may be used to avoid buggy versions
  1307  //
  1308  // DHCPPluginGetVersionReply defines message 'dhcp_plugin_get_version_reply'.
  1309  type DHCPPluginGetVersionReply struct {
  1310  	Major uint32 `binapi:"u32,name=major" json:"major,omitempty"`
  1311  	Minor uint32 `binapi:"u32,name=minor" json:"minor,omitempty"`
  1312  }
  1313  
  1314  func (m *DHCPPluginGetVersionReply) Reset()               { *m = DHCPPluginGetVersionReply{} }
  1315  func (*DHCPPluginGetVersionReply) GetMessageName() string { return "dhcp_plugin_get_version_reply" }
  1316  func (*DHCPPluginGetVersionReply) GetCrcString() string   { return "9b32cf86" }
  1317  func (*DHCPPluginGetVersionReply) GetMessageType() api.MessageType {
  1318  	return api.ReplyMessage
  1319  }
  1320  
  1321  func (m *DHCPPluginGetVersionReply) Size() (size int) {
  1322  	if m == nil {
  1323  		return 0
  1324  	}
  1325  	size += 4 // m.Major
  1326  	size += 4 // m.Minor
  1327  	return size
  1328  }
  1329  func (m *DHCPPluginGetVersionReply) Marshal(b []byte) ([]byte, error) {
  1330  	if b == nil {
  1331  		b = make([]byte, m.Size())
  1332  	}
  1333  	buf := codec.NewBuffer(b)
  1334  	buf.EncodeUint32(m.Major)
  1335  	buf.EncodeUint32(m.Minor)
  1336  	return buf.Bytes(), nil
  1337  }
  1338  func (m *DHCPPluginGetVersionReply) Unmarshal(b []byte) error {
  1339  	buf := codec.NewBuffer(b)
  1340  	m.Major = buf.DecodeUint32()
  1341  	m.Minor = buf.DecodeUint32()
  1342  	return nil
  1343  }
  1344  
  1345  // DHCP Proxy config add / del request
  1346  //   - rx_vrf_id - Rx/interface vrf id
  1347  //   - server_vrf_id - server vrf id
  1348  //   - is_add - add the config if non-zero, else delete
  1349  //   - insert_circuit_id - option82 suboption 1 fib number
  1350  //   - dhcp_server[] - server address
  1351  //   - dhcp_src_address[] - sc address for packets sent to the server
  1352  //
  1353  // DHCPProxyConfig defines message 'dhcp_proxy_config'.
  1354  type DHCPProxyConfig struct {
  1355  	RxVrfID        uint32           `binapi:"u32,name=rx_vrf_id" json:"rx_vrf_id,omitempty"`
  1356  	ServerVrfID    uint32           `binapi:"u32,name=server_vrf_id" json:"server_vrf_id,omitempty"`
  1357  	IsAdd          bool             `binapi:"bool,name=is_add" json:"is_add,omitempty"`
  1358  	DHCPServer     ip_types.Address `binapi:"address,name=dhcp_server" json:"dhcp_server,omitempty"`
  1359  	DHCPSrcAddress ip_types.Address `binapi:"address,name=dhcp_src_address" json:"dhcp_src_address,omitempty"`
  1360  }
  1361  
  1362  func (m *DHCPProxyConfig) Reset()               { *m = DHCPProxyConfig{} }
  1363  func (*DHCPProxyConfig) GetMessageName() string { return "dhcp_proxy_config" }
  1364  func (*DHCPProxyConfig) GetCrcString() string   { return "4058a689" }
  1365  func (*DHCPProxyConfig) GetMessageType() api.MessageType {
  1366  	return api.RequestMessage
  1367  }
  1368  
  1369  func (m *DHCPProxyConfig) Size() (size int) {
  1370  	if m == nil {
  1371  		return 0
  1372  	}
  1373  	size += 4      // m.RxVrfID
  1374  	size += 4      // m.ServerVrfID
  1375  	size += 1      // m.IsAdd
  1376  	size += 1      // m.DHCPServer.Af
  1377  	size += 1 * 16 // m.DHCPServer.Un
  1378  	size += 1      // m.DHCPSrcAddress.Af
  1379  	size += 1 * 16 // m.DHCPSrcAddress.Un
  1380  	return size
  1381  }
  1382  func (m *DHCPProxyConfig) Marshal(b []byte) ([]byte, error) {
  1383  	if b == nil {
  1384  		b = make([]byte, m.Size())
  1385  	}
  1386  	buf := codec.NewBuffer(b)
  1387  	buf.EncodeUint32(m.RxVrfID)
  1388  	buf.EncodeUint32(m.ServerVrfID)
  1389  	buf.EncodeBool(m.IsAdd)
  1390  	buf.EncodeUint8(uint8(m.DHCPServer.Af))
  1391  	buf.EncodeBytes(m.DHCPServer.Un.XXX_UnionData[:], 16)
  1392  	buf.EncodeUint8(uint8(m.DHCPSrcAddress.Af))
  1393  	buf.EncodeBytes(m.DHCPSrcAddress.Un.XXX_UnionData[:], 16)
  1394  	return buf.Bytes(), nil
  1395  }
  1396  func (m *DHCPProxyConfig) Unmarshal(b []byte) error {
  1397  	buf := codec.NewBuffer(b)
  1398  	m.RxVrfID = buf.DecodeUint32()
  1399  	m.ServerVrfID = buf.DecodeUint32()
  1400  	m.IsAdd = buf.DecodeBool()
  1401  	m.DHCPServer.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1402  	copy(m.DHCPServer.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1403  	m.DHCPSrcAddress.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1404  	copy(m.DHCPSrcAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1405  	return nil
  1406  }
  1407  
  1408  // DHCPProxyConfigReply defines message 'dhcp_proxy_config_reply'.
  1409  type DHCPProxyConfigReply struct {
  1410  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1411  }
  1412  
  1413  func (m *DHCPProxyConfigReply) Reset()               { *m = DHCPProxyConfigReply{} }
  1414  func (*DHCPProxyConfigReply) GetMessageName() string { return "dhcp_proxy_config_reply" }
  1415  func (*DHCPProxyConfigReply) GetCrcString() string   { return "e8d4e804" }
  1416  func (*DHCPProxyConfigReply) GetMessageType() api.MessageType {
  1417  	return api.ReplyMessage
  1418  }
  1419  
  1420  func (m *DHCPProxyConfigReply) Size() (size int) {
  1421  	if m == nil {
  1422  		return 0
  1423  	}
  1424  	size += 4 // m.Retval
  1425  	return size
  1426  }
  1427  func (m *DHCPProxyConfigReply) Marshal(b []byte) ([]byte, error) {
  1428  	if b == nil {
  1429  		b = make([]byte, m.Size())
  1430  	}
  1431  	buf := codec.NewBuffer(b)
  1432  	buf.EncodeInt32(m.Retval)
  1433  	return buf.Bytes(), nil
  1434  }
  1435  func (m *DHCPProxyConfigReply) Unmarshal(b []byte) error {
  1436  	buf := codec.NewBuffer(b)
  1437  	m.Retval = buf.DecodeInt32()
  1438  	return nil
  1439  }
  1440  
  1441  // Tell client about a DHCP completion event
  1442  // DHCPProxyDetails defines message 'dhcp_proxy_details'.
  1443  type DHCPProxyDetails struct {
  1444  	RxVrfID        uint32           `binapi:"u32,name=rx_vrf_id" json:"rx_vrf_id,omitempty"`
  1445  	VssOui         uint32           `binapi:"u32,name=vss_oui" json:"vss_oui,omitempty"`
  1446  	VssFibID       uint32           `binapi:"u32,name=vss_fib_id" json:"vss_fib_id,omitempty"`
  1447  	VssType        VssType          `binapi:"vss_type,name=vss_type" json:"vss_type,omitempty"`
  1448  	IsIPv6         bool             `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
  1449  	VssVPNAsciiID  string           `binapi:"string[129],name=vss_vpn_ascii_id" json:"vss_vpn_ascii_id,omitempty"`
  1450  	DHCPSrcAddress ip_types.Address `binapi:"address,name=dhcp_src_address" json:"dhcp_src_address,omitempty"`
  1451  	Count          uint8            `binapi:"u8,name=count" json:"-"`
  1452  	Servers        []DHCPServer     `binapi:"dhcp_server[count],name=servers" json:"servers,omitempty"`
  1453  }
  1454  
  1455  func (m *DHCPProxyDetails) Reset()               { *m = DHCPProxyDetails{} }
  1456  func (*DHCPProxyDetails) GetMessageName() string { return "dhcp_proxy_details" }
  1457  func (*DHCPProxyDetails) GetCrcString() string   { return "dcbaf540" }
  1458  func (*DHCPProxyDetails) GetMessageType() api.MessageType {
  1459  	return api.ReplyMessage
  1460  }
  1461  
  1462  func (m *DHCPProxyDetails) Size() (size int) {
  1463  	if m == nil {
  1464  		return 0
  1465  	}
  1466  	size += 4      // m.RxVrfID
  1467  	size += 4      // m.VssOui
  1468  	size += 4      // m.VssFibID
  1469  	size += 4      // m.VssType
  1470  	size += 1      // m.IsIPv6
  1471  	size += 129    // m.VssVPNAsciiID
  1472  	size += 1      // m.DHCPSrcAddress.Af
  1473  	size += 1 * 16 // m.DHCPSrcAddress.Un
  1474  	size += 1      // m.Count
  1475  	for j1 := 0; j1 < len(m.Servers); j1++ {
  1476  		var s1 DHCPServer
  1477  		_ = s1
  1478  		if j1 < len(m.Servers) {
  1479  			s1 = m.Servers[j1]
  1480  		}
  1481  		size += 4      // s1.ServerVrfID
  1482  		size += 1      // s1.DHCPServer.Af
  1483  		size += 1 * 16 // s1.DHCPServer.Un
  1484  	}
  1485  	return size
  1486  }
  1487  func (m *DHCPProxyDetails) Marshal(b []byte) ([]byte, error) {
  1488  	if b == nil {
  1489  		b = make([]byte, m.Size())
  1490  	}
  1491  	buf := codec.NewBuffer(b)
  1492  	buf.EncodeUint32(m.RxVrfID)
  1493  	buf.EncodeUint32(m.VssOui)
  1494  	buf.EncodeUint32(m.VssFibID)
  1495  	buf.EncodeUint32(uint32(m.VssType))
  1496  	buf.EncodeBool(m.IsIPv6)
  1497  	buf.EncodeString(m.VssVPNAsciiID, 129)
  1498  	buf.EncodeUint8(uint8(m.DHCPSrcAddress.Af))
  1499  	buf.EncodeBytes(m.DHCPSrcAddress.Un.XXX_UnionData[:], 16)
  1500  	buf.EncodeUint8(uint8(len(m.Servers)))
  1501  	for j0 := 0; j0 < len(m.Servers); j0++ {
  1502  		var v0 DHCPServer // Servers
  1503  		if j0 < len(m.Servers) {
  1504  			v0 = m.Servers[j0]
  1505  		}
  1506  		buf.EncodeUint32(v0.ServerVrfID)
  1507  		buf.EncodeUint8(uint8(v0.DHCPServer.Af))
  1508  		buf.EncodeBytes(v0.DHCPServer.Un.XXX_UnionData[:], 16)
  1509  	}
  1510  	return buf.Bytes(), nil
  1511  }
  1512  func (m *DHCPProxyDetails) Unmarshal(b []byte) error {
  1513  	buf := codec.NewBuffer(b)
  1514  	m.RxVrfID = buf.DecodeUint32()
  1515  	m.VssOui = buf.DecodeUint32()
  1516  	m.VssFibID = buf.DecodeUint32()
  1517  	m.VssType = VssType(buf.DecodeUint32())
  1518  	m.IsIPv6 = buf.DecodeBool()
  1519  	m.VssVPNAsciiID = buf.DecodeString(129)
  1520  	m.DHCPSrcAddress.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1521  	copy(m.DHCPSrcAddress.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1522  	m.Count = buf.DecodeUint8()
  1523  	m.Servers = make([]DHCPServer, m.Count)
  1524  	for j0 := 0; j0 < len(m.Servers); j0++ {
  1525  		m.Servers[j0].ServerVrfID = buf.DecodeUint32()
  1526  		m.Servers[j0].DHCPServer.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1527  		copy(m.Servers[j0].DHCPServer.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1528  	}
  1529  	return nil
  1530  }
  1531  
  1532  // Dump DHCP proxy table
  1533  //   - True for IPv6 proxy table
  1534  //
  1535  // DHCPProxyDump defines message 'dhcp_proxy_dump'.
  1536  type DHCPProxyDump struct {
  1537  	IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
  1538  }
  1539  
  1540  func (m *DHCPProxyDump) Reset()               { *m = DHCPProxyDump{} }
  1541  func (*DHCPProxyDump) GetMessageName() string { return "dhcp_proxy_dump" }
  1542  func (*DHCPProxyDump) GetCrcString() string   { return "5c5b063f" }
  1543  func (*DHCPProxyDump) GetMessageType() api.MessageType {
  1544  	return api.RequestMessage
  1545  }
  1546  
  1547  func (m *DHCPProxyDump) Size() (size int) {
  1548  	if m == nil {
  1549  		return 0
  1550  	}
  1551  	size += 1 // m.IsIP6
  1552  	return size
  1553  }
  1554  func (m *DHCPProxyDump) Marshal(b []byte) ([]byte, error) {
  1555  	if b == nil {
  1556  		b = make([]byte, m.Size())
  1557  	}
  1558  	buf := codec.NewBuffer(b)
  1559  	buf.EncodeBool(m.IsIP6)
  1560  	return buf.Bytes(), nil
  1561  }
  1562  func (m *DHCPProxyDump) Unmarshal(b []byte) error {
  1563  	buf := codec.NewBuffer(b)
  1564  	m.IsIP6 = buf.DecodeBool()
  1565  	return nil
  1566  }
  1567  
  1568  // DHCP Proxy set / unset vss request
  1569  //   - tbl_id - table id
  1570  //     @vss_type - 0: use ASCI vpn_id; 1: use oui/vpn_index; 255: global vpn
  1571  //     @vpn_ascii - null terminated ASCII VPN ID up to 128 characters
  1572  //   - oui - first part of rfc2685 vpn id, 3 bytes oui
  1573  //   - vpn_index - second part of rfc2685 vpn id, 4 bytes vpn index
  1574  //   - is_ipv6 - ip6 if non-zero, else ip4
  1575  //   - is_add - set vss if non-zero, else delete
  1576  //
  1577  // DHCPProxySetVss defines message 'dhcp_proxy_set_vss'.
  1578  type DHCPProxySetVss struct {
  1579  	TblID      uint32  `binapi:"u32,name=tbl_id" json:"tbl_id,omitempty"`
  1580  	VssType    VssType `binapi:"vss_type,name=vss_type" json:"vss_type,omitempty"`
  1581  	VPNAsciiID string  `binapi:"string[129],name=vpn_ascii_id" json:"vpn_ascii_id,omitempty"`
  1582  	Oui        uint32  `binapi:"u32,name=oui" json:"oui,omitempty"`
  1583  	VPNIndex   uint32  `binapi:"u32,name=vpn_index" json:"vpn_index,omitempty"`
  1584  	IsIPv6     bool    `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
  1585  	IsAdd      bool    `binapi:"bool,name=is_add" json:"is_add,omitempty"`
  1586  }
  1587  
  1588  func (m *DHCPProxySetVss) Reset()               { *m = DHCPProxySetVss{} }
  1589  func (*DHCPProxySetVss) GetMessageName() string { return "dhcp_proxy_set_vss" }
  1590  func (*DHCPProxySetVss) GetCrcString() string   { return "50537301" }
  1591  func (*DHCPProxySetVss) GetMessageType() api.MessageType {
  1592  	return api.RequestMessage
  1593  }
  1594  
  1595  func (m *DHCPProxySetVss) Size() (size int) {
  1596  	if m == nil {
  1597  		return 0
  1598  	}
  1599  	size += 4   // m.TblID
  1600  	size += 4   // m.VssType
  1601  	size += 129 // m.VPNAsciiID
  1602  	size += 4   // m.Oui
  1603  	size += 4   // m.VPNIndex
  1604  	size += 1   // m.IsIPv6
  1605  	size += 1   // m.IsAdd
  1606  	return size
  1607  }
  1608  func (m *DHCPProxySetVss) Marshal(b []byte) ([]byte, error) {
  1609  	if b == nil {
  1610  		b = make([]byte, m.Size())
  1611  	}
  1612  	buf := codec.NewBuffer(b)
  1613  	buf.EncodeUint32(m.TblID)
  1614  	buf.EncodeUint32(uint32(m.VssType))
  1615  	buf.EncodeString(m.VPNAsciiID, 129)
  1616  	buf.EncodeUint32(m.Oui)
  1617  	buf.EncodeUint32(m.VPNIndex)
  1618  	buf.EncodeBool(m.IsIPv6)
  1619  	buf.EncodeBool(m.IsAdd)
  1620  	return buf.Bytes(), nil
  1621  }
  1622  func (m *DHCPProxySetVss) Unmarshal(b []byte) error {
  1623  	buf := codec.NewBuffer(b)
  1624  	m.TblID = buf.DecodeUint32()
  1625  	m.VssType = VssType(buf.DecodeUint32())
  1626  	m.VPNAsciiID = buf.DecodeString(129)
  1627  	m.Oui = buf.DecodeUint32()
  1628  	m.VPNIndex = buf.DecodeUint32()
  1629  	m.IsIPv6 = buf.DecodeBool()
  1630  	m.IsAdd = buf.DecodeBool()
  1631  	return nil
  1632  }
  1633  
  1634  // DHCPProxySetVssReply defines message 'dhcp_proxy_set_vss_reply'.
  1635  type DHCPProxySetVssReply struct {
  1636  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1637  }
  1638  
  1639  func (m *DHCPProxySetVssReply) Reset()               { *m = DHCPProxySetVssReply{} }
  1640  func (*DHCPProxySetVssReply) GetMessageName() string { return "dhcp_proxy_set_vss_reply" }
  1641  func (*DHCPProxySetVssReply) GetCrcString() string   { return "e8d4e804" }
  1642  func (*DHCPProxySetVssReply) GetMessageType() api.MessageType {
  1643  	return api.ReplyMessage
  1644  }
  1645  
  1646  func (m *DHCPProxySetVssReply) Size() (size int) {
  1647  	if m == nil {
  1648  		return 0
  1649  	}
  1650  	size += 4 // m.Retval
  1651  	return size
  1652  }
  1653  func (m *DHCPProxySetVssReply) Marshal(b []byte) ([]byte, error) {
  1654  	if b == nil {
  1655  		b = make([]byte, m.Size())
  1656  	}
  1657  	buf := codec.NewBuffer(b)
  1658  	buf.EncodeInt32(m.Retval)
  1659  	return buf.Bytes(), nil
  1660  }
  1661  func (m *DHCPProxySetVssReply) Unmarshal(b []byte) error {
  1662  	buf := codec.NewBuffer(b)
  1663  	m.Retval = buf.DecodeInt32()
  1664  	return nil
  1665  }
  1666  
  1667  // Register for DHCPv6 PD reply events
  1668  //   - enable_disable - 1 => register for events, 0 => cancel registration
  1669  //   - pid - sender's pid
  1670  //
  1671  // WantDHCP6PdReplyEvents defines message 'want_dhcp6_pd_reply_events'.
  1672  type WantDHCP6PdReplyEvents struct {
  1673  	EnableDisable bool   `binapi:"bool,name=enable_disable" json:"enable_disable,omitempty"`
  1674  	PID           uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
  1675  }
  1676  
  1677  func (m *WantDHCP6PdReplyEvents) Reset()               { *m = WantDHCP6PdReplyEvents{} }
  1678  func (*WantDHCP6PdReplyEvents) GetMessageName() string { return "want_dhcp6_pd_reply_events" }
  1679  func (*WantDHCP6PdReplyEvents) GetCrcString() string   { return "c5e2af94" }
  1680  func (*WantDHCP6PdReplyEvents) GetMessageType() api.MessageType {
  1681  	return api.RequestMessage
  1682  }
  1683  
  1684  func (m *WantDHCP6PdReplyEvents) Size() (size int) {
  1685  	if m == nil {
  1686  		return 0
  1687  	}
  1688  	size += 1 // m.EnableDisable
  1689  	size += 4 // m.PID
  1690  	return size
  1691  }
  1692  func (m *WantDHCP6PdReplyEvents) Marshal(b []byte) ([]byte, error) {
  1693  	if b == nil {
  1694  		b = make([]byte, m.Size())
  1695  	}
  1696  	buf := codec.NewBuffer(b)
  1697  	buf.EncodeBool(m.EnableDisable)
  1698  	buf.EncodeUint32(m.PID)
  1699  	return buf.Bytes(), nil
  1700  }
  1701  func (m *WantDHCP6PdReplyEvents) Unmarshal(b []byte) error {
  1702  	buf := codec.NewBuffer(b)
  1703  	m.EnableDisable = buf.DecodeBool()
  1704  	m.PID = buf.DecodeUint32()
  1705  	return nil
  1706  }
  1707  
  1708  // WantDHCP6PdReplyEventsReply defines message 'want_dhcp6_pd_reply_events_reply'.
  1709  type WantDHCP6PdReplyEventsReply struct {
  1710  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1711  }
  1712  
  1713  func (m *WantDHCP6PdReplyEventsReply) Reset() { *m = WantDHCP6PdReplyEventsReply{} }
  1714  func (*WantDHCP6PdReplyEventsReply) GetMessageName() string {
  1715  	return "want_dhcp6_pd_reply_events_reply"
  1716  }
  1717  func (*WantDHCP6PdReplyEventsReply) GetCrcString() string { return "e8d4e804" }
  1718  func (*WantDHCP6PdReplyEventsReply) GetMessageType() api.MessageType {
  1719  	return api.ReplyMessage
  1720  }
  1721  
  1722  func (m *WantDHCP6PdReplyEventsReply) Size() (size int) {
  1723  	if m == nil {
  1724  		return 0
  1725  	}
  1726  	size += 4 // m.Retval
  1727  	return size
  1728  }
  1729  func (m *WantDHCP6PdReplyEventsReply) Marshal(b []byte) ([]byte, error) {
  1730  	if b == nil {
  1731  		b = make([]byte, m.Size())
  1732  	}
  1733  	buf := codec.NewBuffer(b)
  1734  	buf.EncodeInt32(m.Retval)
  1735  	return buf.Bytes(), nil
  1736  }
  1737  func (m *WantDHCP6PdReplyEventsReply) Unmarshal(b []byte) error {
  1738  	buf := codec.NewBuffer(b)
  1739  	m.Retval = buf.DecodeInt32()
  1740  	return nil
  1741  }
  1742  
  1743  // Register for DHCPv6 reply events
  1744  //   - enable_disable - 1 => register for events, 0 => cancel registration
  1745  //   - pid - sender's pid
  1746  //
  1747  // WantDHCP6ReplyEvents defines message 'want_dhcp6_reply_events'.
  1748  type WantDHCP6ReplyEvents struct {
  1749  	EnableDisable uint8  `binapi:"u8,name=enable_disable" json:"enable_disable,omitempty"`
  1750  	PID           uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
  1751  }
  1752  
  1753  func (m *WantDHCP6ReplyEvents) Reset()               { *m = WantDHCP6ReplyEvents{} }
  1754  func (*WantDHCP6ReplyEvents) GetMessageName() string { return "want_dhcp6_reply_events" }
  1755  func (*WantDHCP6ReplyEvents) GetCrcString() string   { return "05b454b5" }
  1756  func (*WantDHCP6ReplyEvents) GetMessageType() api.MessageType {
  1757  	return api.RequestMessage
  1758  }
  1759  
  1760  func (m *WantDHCP6ReplyEvents) Size() (size int) {
  1761  	if m == nil {
  1762  		return 0
  1763  	}
  1764  	size += 1 // m.EnableDisable
  1765  	size += 4 // m.PID
  1766  	return size
  1767  }
  1768  func (m *WantDHCP6ReplyEvents) Marshal(b []byte) ([]byte, error) {
  1769  	if b == nil {
  1770  		b = make([]byte, m.Size())
  1771  	}
  1772  	buf := codec.NewBuffer(b)
  1773  	buf.EncodeUint8(m.EnableDisable)
  1774  	buf.EncodeUint32(m.PID)
  1775  	return buf.Bytes(), nil
  1776  }
  1777  func (m *WantDHCP6ReplyEvents) Unmarshal(b []byte) error {
  1778  	buf := codec.NewBuffer(b)
  1779  	m.EnableDisable = buf.DecodeUint8()
  1780  	m.PID = buf.DecodeUint32()
  1781  	return nil
  1782  }
  1783  
  1784  // WantDHCP6ReplyEventsReply defines message 'want_dhcp6_reply_events_reply'.
  1785  type WantDHCP6ReplyEventsReply struct {
  1786  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1787  }
  1788  
  1789  func (m *WantDHCP6ReplyEventsReply) Reset()               { *m = WantDHCP6ReplyEventsReply{} }
  1790  func (*WantDHCP6ReplyEventsReply) GetMessageName() string { return "want_dhcp6_reply_events_reply" }
  1791  func (*WantDHCP6ReplyEventsReply) GetCrcString() string   { return "e8d4e804" }
  1792  func (*WantDHCP6ReplyEventsReply) GetMessageType() api.MessageType {
  1793  	return api.ReplyMessage
  1794  }
  1795  
  1796  func (m *WantDHCP6ReplyEventsReply) Size() (size int) {
  1797  	if m == nil {
  1798  		return 0
  1799  	}
  1800  	size += 4 // m.Retval
  1801  	return size
  1802  }
  1803  func (m *WantDHCP6ReplyEventsReply) Marshal(b []byte) ([]byte, error) {
  1804  	if b == nil {
  1805  		b = make([]byte, m.Size())
  1806  	}
  1807  	buf := codec.NewBuffer(b)
  1808  	buf.EncodeInt32(m.Retval)
  1809  	return buf.Bytes(), nil
  1810  }
  1811  func (m *WantDHCP6ReplyEventsReply) Unmarshal(b []byte) error {
  1812  	buf := codec.NewBuffer(b)
  1813  	m.Retval = buf.DecodeInt32()
  1814  	return nil
  1815  }
  1816  
  1817  func init() { file_dhcp_binapi_init() }
  1818  func file_dhcp_binapi_init() {
  1819  	api.RegisterMessage((*DHCP6ClientsEnableDisable)(nil), "dhcp6_clients_enable_disable_b3e225d2")
  1820  	api.RegisterMessage((*DHCP6ClientsEnableDisableReply)(nil), "dhcp6_clients_enable_disable_reply_e8d4e804")
  1821  	api.RegisterMessage((*DHCP6DuidLlSet)(nil), "dhcp6_duid_ll_set_0f6ca323")
  1822  	api.RegisterMessage((*DHCP6DuidLlSetReply)(nil), "dhcp6_duid_ll_set_reply_e8d4e804")
  1823  	api.RegisterMessage((*DHCP6PdReplyEvent)(nil), "dhcp6_pd_reply_event_5e878029")
  1824  	api.RegisterMessage((*DHCP6PdSendClientMessage)(nil), "dhcp6_pd_send_client_message_3739fd8d")
  1825  	api.RegisterMessage((*DHCP6PdSendClientMessageReply)(nil), "dhcp6_pd_send_client_message_reply_e8d4e804")
  1826  	api.RegisterMessage((*DHCP6ReplyEvent)(nil), "dhcp6_reply_event_85b7b17e")
  1827  	api.RegisterMessage((*DHCP6SendClientMessage)(nil), "dhcp6_send_client_message_f8222476")
  1828  	api.RegisterMessage((*DHCP6SendClientMessageReply)(nil), "dhcp6_send_client_message_reply_e8d4e804")
  1829  	api.RegisterMessage((*DHCPClientConfig)(nil), "dhcp_client_config_1af013ea")
  1830  	api.RegisterMessage((*DHCPClientConfigReply)(nil), "dhcp_client_config_reply_e8d4e804")
  1831  	api.RegisterMessage((*DHCPClientDetails)(nil), "dhcp_client_details_8897b2d8")
  1832  	api.RegisterMessage((*DHCPClientDump)(nil), "dhcp_client_dump_51077d14")
  1833  	api.RegisterMessage((*DHCPComplEvent)(nil), "dhcp_compl_event_e18124b7")
  1834  	api.RegisterMessage((*DHCPPluginControlPing)(nil), "dhcp_plugin_control_ping_51077d14")
  1835  	api.RegisterMessage((*DHCPPluginControlPingReply)(nil), "dhcp_plugin_control_ping_reply_f6b0b8ca")
  1836  	api.RegisterMessage((*DHCPPluginGetVersion)(nil), "dhcp_plugin_get_version_51077d14")
  1837  	api.RegisterMessage((*DHCPPluginGetVersionReply)(nil), "dhcp_plugin_get_version_reply_9b32cf86")
  1838  	api.RegisterMessage((*DHCPProxyConfig)(nil), "dhcp_proxy_config_4058a689")
  1839  	api.RegisterMessage((*DHCPProxyConfigReply)(nil), "dhcp_proxy_config_reply_e8d4e804")
  1840  	api.RegisterMessage((*DHCPProxyDetails)(nil), "dhcp_proxy_details_dcbaf540")
  1841  	api.RegisterMessage((*DHCPProxyDump)(nil), "dhcp_proxy_dump_5c5b063f")
  1842  	api.RegisterMessage((*DHCPProxySetVss)(nil), "dhcp_proxy_set_vss_50537301")
  1843  	api.RegisterMessage((*DHCPProxySetVssReply)(nil), "dhcp_proxy_set_vss_reply_e8d4e804")
  1844  	api.RegisterMessage((*WantDHCP6PdReplyEvents)(nil), "want_dhcp6_pd_reply_events_c5e2af94")
  1845  	api.RegisterMessage((*WantDHCP6PdReplyEventsReply)(nil), "want_dhcp6_pd_reply_events_reply_e8d4e804")
  1846  	api.RegisterMessage((*WantDHCP6ReplyEvents)(nil), "want_dhcp6_reply_events_05b454b5")
  1847  	api.RegisterMessage((*WantDHCP6ReplyEventsReply)(nil), "want_dhcp6_reply_events_reply_e8d4e804")
  1848  }
  1849  
  1850  // Messages returns list of all messages in this module.
  1851  func AllMessages() []api.Message {
  1852  	return []api.Message{
  1853  		(*DHCP6ClientsEnableDisable)(nil),
  1854  		(*DHCP6ClientsEnableDisableReply)(nil),
  1855  		(*DHCP6DuidLlSet)(nil),
  1856  		(*DHCP6DuidLlSetReply)(nil),
  1857  		(*DHCP6PdReplyEvent)(nil),
  1858  		(*DHCP6PdSendClientMessage)(nil),
  1859  		(*DHCP6PdSendClientMessageReply)(nil),
  1860  		(*DHCP6ReplyEvent)(nil),
  1861  		(*DHCP6SendClientMessage)(nil),
  1862  		(*DHCP6SendClientMessageReply)(nil),
  1863  		(*DHCPClientConfig)(nil),
  1864  		(*DHCPClientConfigReply)(nil),
  1865  		(*DHCPClientDetails)(nil),
  1866  		(*DHCPClientDump)(nil),
  1867  		(*DHCPComplEvent)(nil),
  1868  		(*DHCPPluginControlPing)(nil),
  1869  		(*DHCPPluginControlPingReply)(nil),
  1870  		(*DHCPPluginGetVersion)(nil),
  1871  		(*DHCPPluginGetVersionReply)(nil),
  1872  		(*DHCPProxyConfig)(nil),
  1873  		(*DHCPProxyConfigReply)(nil),
  1874  		(*DHCPProxyDetails)(nil),
  1875  		(*DHCPProxyDump)(nil),
  1876  		(*DHCPProxySetVss)(nil),
  1877  		(*DHCPProxySetVssReply)(nil),
  1878  		(*WantDHCP6PdReplyEvents)(nil),
  1879  		(*WantDHCP6PdReplyEventsReply)(nil),
  1880  		(*WantDHCP6ReplyEvents)(nil),
  1881  		(*WantDHCP6ReplyEventsReply)(nil),
  1882  	}
  1883  }