nsh

package
v0.0.0-...-140e075 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 6, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package nsh contains generated bindings for API file nsh.api.

Contents: - 8 messages

Index

Constants

View Source
const (
	APIFile    = "nsh"
	APIVersion = "1.0.0"
	VersionCrc = 0xc2f3127d
)

Variables

This section is empty.

Functions

func AllMessages

func AllMessages() []api.Message

Messages returns list of all messages in this module.

Types

type NshAddDelEntry

type NshAddDelEntry struct {
	IsAdd        bool   `binapi:"bool,name=is_add" json:"is_add,omitempty"`
	NspNsi       uint32 `binapi:"u32,name=nsp_nsi" json:"nsp_nsi,omitempty"`
	MdType       uint8  `binapi:"u8,name=md_type" json:"md_type,omitempty"`
	VerOC        uint8  `binapi:"u8,name=ver_o_c" json:"ver_o_c,omitempty"`
	TTL          uint8  `binapi:"u8,name=ttl" json:"ttl,omitempty"`
	Length       uint8  `binapi:"u8,name=length" json:"length,omitempty"`
	NextProtocol uint8  `binapi:"u8,name=next_protocol" json:"next_protocol,omitempty"`
	C1           uint32 `binapi:"u32,name=c1" json:"c1,omitempty"`
	C2           uint32 `binapi:"u32,name=c2" json:"c2,omitempty"`
	C3           uint32 `binapi:"u32,name=c3" json:"c3,omitempty"`
	C4           uint32 `binapi:"u32,name=c4" json:"c4,omitempty"`
	TlvLength    uint8  `binapi:"u8,name=tlv_length" json:"tlv_length,omitempty"`
	Tlv          []byte `binapi:"u8[248],name=tlv" json:"tlv,omitempty"`
}

/** Set or delete an NSH header entry keyed by NSP/NSI

  • is_add - add address if non-zero, else delete
  • nsp_nsi - Key for nsh_header_t entry to map to. : 24bit NSP 8bit NSI
  • md_type - metadata type [1|2] - only MDType1 supported today
  • ver_o_c - version, O-bit and C-bit (see nsh_packet.h)
  • ttl - indicates the maximum SFF hops for an SFP
  • length - header length in n x 32bits, should be 6 for MDtype1
  • next_protocol - next protocol encapsulated behind NSH header: 1=Ethernet, 2=IP4, 3=IP6
  • c1 - 32bit Metadata type1 field (context1)
  • c2 - 32bit Metadata type1 field (context2)
  • c3 - 32bit Metadata type1 field (context3)
  • c4 - 32bit Metadata type1 field (context4)
  • tlvs - Metadata Type 2 only, Type Length Value metadata.

NshAddDelEntry defines message 'nsh_add_del_entry'.

func (*NshAddDelEntry) GetCrcString

func (*NshAddDelEntry) GetCrcString() string

func (*NshAddDelEntry) GetMessageName

func (*NshAddDelEntry) GetMessageName() string

func (*NshAddDelEntry) GetMessageType

func (*NshAddDelEntry) GetMessageType() api.MessageType

func (*NshAddDelEntry) Marshal

func (m *NshAddDelEntry) Marshal(b []byte) ([]byte, error)

func (*NshAddDelEntry) Reset

func (m *NshAddDelEntry) Reset()

func (*NshAddDelEntry) Size

func (m *NshAddDelEntry) Size() (size int)

func (*NshAddDelEntry) Unmarshal

func (m *NshAddDelEntry) Unmarshal(b []byte) error

type NshAddDelEntryReply

type NshAddDelEntryReply struct {
	Retval     int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
	EntryIndex uint32 `binapi:"u32,name=entry_index" json:"entry_index,omitempty"`
}

Reply from adding NSH entry (nsh_add_del_entry)

  • retval - 0 means all ok

NshAddDelEntryReply defines message 'nsh_add_del_entry_reply'.

func (*NshAddDelEntryReply) GetCrcString

func (*NshAddDelEntryReply) GetCrcString() string

func (*NshAddDelEntryReply) GetMessageName

func (*NshAddDelEntryReply) GetMessageName() string

func (*NshAddDelEntryReply) GetMessageType

func (*NshAddDelEntryReply) GetMessageType() api.MessageType

func (*NshAddDelEntryReply) Marshal

func (m *NshAddDelEntryReply) Marshal(b []byte) ([]byte, error)

func (*NshAddDelEntryReply) Reset

func (m *NshAddDelEntryReply) Reset()

func (*NshAddDelEntryReply) Size

func (m *NshAddDelEntryReply) Size() (size int)

func (*NshAddDelEntryReply) Unmarshal

func (m *NshAddDelEntryReply) Unmarshal(b []byte) error

type NshAddDelMap

type NshAddDelMap struct {
	IsAdd        bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
	NspNsi       uint32                         `binapi:"u32,name=nsp_nsi" json:"nsp_nsi,omitempty"`
	MappedNspNsi uint32                         `binapi:"u32,name=mapped_nsp_nsi" json:"mapped_nsp_nsi,omitempty"`
	NshAction    uint32                         `binapi:"u32,name=nsh_action" json:"nsh_action,omitempty"`
	SwIfIndex    interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
	RxSwIfIndex  interface_types.InterfaceIndex `binapi:"interface_index,name=rx_sw_if_index" json:"rx_sw_if_index,omitempty"`
	NextNode     uint32                         `binapi:"u32,name=next_node" json:"next_node,omitempty"`
}

Set or delete a mapping from one NSH header to another and its egress (decap to inner packet, encap NSH with outer header)

  • is_add - add address if non-zero, else delete
  • nsh_nsi - Key for nsh_header_t entry to map to. : 24bit NSP 8bit NSI
  • mapped_nsp_nsi - Key for nsh_header_t entry to map to. : 24bit NSP 8bit NSI this may be ~0 if next action is to decap to NSH next protocol Note the following heuristic:
  • if nsp_nsi == mapped_nsp_nsi then use-case is like SFC SFF
  • if nsp_nsi != mapped_nsp_nsi then use-case is like SFC SF Note: these are heuristics. Rules about NSI decrement are out of scope
  • sw_if_index - index number of outer encap for NSH egress
  • next_node - explicitly which node to send to Note the above parameters are instantiated by "encap-gre-intf <x>" means sw_if_index x, next_node gre-input

NshAddDelMap defines message 'nsh_add_del_map'.

func (*NshAddDelMap) GetCrcString

func (*NshAddDelMap) GetCrcString() string

func (*NshAddDelMap) GetMessageName

func (*NshAddDelMap) GetMessageName() string

func (*NshAddDelMap) GetMessageType

func (*NshAddDelMap) GetMessageType() api.MessageType

func (*NshAddDelMap) Marshal

func (m *NshAddDelMap) Marshal(b []byte) ([]byte, error)

func (*NshAddDelMap) Reset

func (m *NshAddDelMap) Reset()

func (*NshAddDelMap) Size

func (m *NshAddDelMap) Size() (size int)

func (*NshAddDelMap) Unmarshal

func (m *NshAddDelMap) Unmarshal(b []byte) error

type NshAddDelMapReply

type NshAddDelMapReply struct {
	Retval   int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
	MapIndex uint32 `binapi:"u32,name=map_index" json:"map_index,omitempty"`
}

Reply from adding NSH map (nsh_add_del_map)

  • retval - 0 means all ok

NshAddDelMapReply defines message 'nsh_add_del_map_reply'.

func (*NshAddDelMapReply) GetCrcString

func (*NshAddDelMapReply) GetCrcString() string

func (*NshAddDelMapReply) GetMessageName

func (*NshAddDelMapReply) GetMessageName() string

func (*NshAddDelMapReply) GetMessageType

func (*NshAddDelMapReply) GetMessageType() api.MessageType

func (*NshAddDelMapReply) Marshal

func (m *NshAddDelMapReply) Marshal(b []byte) ([]byte, error)

func (*NshAddDelMapReply) Reset

func (m *NshAddDelMapReply) Reset()

func (*NshAddDelMapReply) Size

func (m *NshAddDelMapReply) Size() (size int)

func (*NshAddDelMapReply) Unmarshal

func (m *NshAddDelMapReply) Unmarshal(b []byte) error

type NshEntryDetails

type NshEntryDetails struct {
	EntryIndex   uint32 `binapi:"u32,name=entry_index" json:"entry_index,omitempty"`
	NspNsi       uint32 `binapi:"u32,name=nsp_nsi" json:"nsp_nsi,omitempty"`
	MdType       uint8  `binapi:"u8,name=md_type" json:"md_type,omitempty"`
	VerOC        uint8  `binapi:"u8,name=ver_o_c" json:"ver_o_c,omitempty"`
	TTL          uint8  `binapi:"u8,name=ttl" json:"ttl,omitempty"`
	Length       uint8  `binapi:"u8,name=length" json:"length,omitempty"`
	NextProtocol uint8  `binapi:"u8,name=next_protocol" json:"next_protocol,omitempty"`
	C1           uint32 `binapi:"u32,name=c1" json:"c1,omitempty"`
	C2           uint32 `binapi:"u32,name=c2" json:"c2,omitempty"`
	C3           uint32 `binapi:"u32,name=c3" json:"c3,omitempty"`
	C4           uint32 `binapi:"u32,name=c4" json:"c4,omitempty"`
	TlvLength    uint8  `binapi:"u8,name=tlv_length" json:"tlv_length,omitempty"`
	Tlv          []byte `binapi:"u8[248],name=tlv" json:"tlv,omitempty"`
}

NshEntryDetails defines message 'nsh_entry_details'.

func (*NshEntryDetails) GetCrcString

func (*NshEntryDetails) GetCrcString() string

func (*NshEntryDetails) GetMessageName

func (*NshEntryDetails) GetMessageName() string

func (*NshEntryDetails) GetMessageType

func (*NshEntryDetails) GetMessageType() api.MessageType

func (*NshEntryDetails) Marshal

func (m *NshEntryDetails) Marshal(b []byte) ([]byte, error)

func (*NshEntryDetails) Reset

func (m *NshEntryDetails) Reset()

func (*NshEntryDetails) Size

func (m *NshEntryDetails) Size() (size int)

func (*NshEntryDetails) Unmarshal

func (m *NshEntryDetails) Unmarshal(b []byte) error

type NshEntryDump

type NshEntryDump struct {
	EntryIndex uint32 `binapi:"u32,name=entry_index" json:"entry_index,omitempty"`
}

NshEntryDump defines message 'nsh_entry_dump'.

func (*NshEntryDump) GetCrcString

func (*NshEntryDump) GetCrcString() string

func (*NshEntryDump) GetMessageName

func (*NshEntryDump) GetMessageName() string

func (*NshEntryDump) GetMessageType

func (*NshEntryDump) GetMessageType() api.MessageType

func (*NshEntryDump) Marshal

func (m *NshEntryDump) Marshal(b []byte) ([]byte, error)

func (*NshEntryDump) Reset

func (m *NshEntryDump) Reset()

func (*NshEntryDump) Size

func (m *NshEntryDump) Size() (size int)

func (*NshEntryDump) Unmarshal

func (m *NshEntryDump) Unmarshal(b []byte) error

type NshMapDetails

type NshMapDetails struct {
	MapIndex     uint32                         `binapi:"u32,name=map_index" json:"map_index,omitempty"`
	NspNsi       uint32                         `binapi:"u32,name=nsp_nsi" json:"nsp_nsi,omitempty"`
	MappedNspNsi uint32                         `binapi:"u32,name=mapped_nsp_nsi" json:"mapped_nsp_nsi,omitempty"`
	NshAction    uint32                         `binapi:"u32,name=nsh_action" json:"nsh_action,omitempty"`
	SwIfIndex    interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
	RxSwIfIndex  interface_types.InterfaceIndex `binapi:"interface_index,name=rx_sw_if_index" json:"rx_sw_if_index,omitempty"`
	NextNode     uint32                         `binapi:"u32,name=next_node" json:"next_node,omitempty"`
}

NshMapDetails defines message 'nsh_map_details'.

func (*NshMapDetails) GetCrcString

func (*NshMapDetails) GetCrcString() string

func (*NshMapDetails) GetMessageName

func (*NshMapDetails) GetMessageName() string

func (*NshMapDetails) GetMessageType

func (*NshMapDetails) GetMessageType() api.MessageType

func (*NshMapDetails) Marshal

func (m *NshMapDetails) Marshal(b []byte) ([]byte, error)

func (*NshMapDetails) Reset

func (m *NshMapDetails) Reset()

func (*NshMapDetails) Size

func (m *NshMapDetails) Size() (size int)

func (*NshMapDetails) Unmarshal

func (m *NshMapDetails) Unmarshal(b []byte) error

type NshMapDump

type NshMapDump struct {
	MapIndex uint32 `binapi:"u32,name=map_index" json:"map_index,omitempty"`
}

NshMapDump defines message 'nsh_map_dump'.

func (*NshMapDump) GetCrcString

func (*NshMapDump) GetCrcString() string

func (*NshMapDump) GetMessageName

func (*NshMapDump) GetMessageName() string

func (*NshMapDump) GetMessageType

func (*NshMapDump) GetMessageType() api.MessageType

func (*NshMapDump) Marshal

func (m *NshMapDump) Marshal(b []byte) ([]byte, error)

func (*NshMapDump) Reset

func (m *NshMapDump) Reset()

func (*NshMapDump) Size

func (m *NshMapDump) Size() (size int)

func (*NshMapDump) Unmarshal

func (m *NshMapDump) Unmarshal(b []byte) error

type RPCService

type RPCService interface {
	NshAddDelEntry(ctx context.Context, in *NshAddDelEntry) (*NshAddDelEntryReply, error)
	NshAddDelMap(ctx context.Context, in *NshAddDelMap) (*NshAddDelMapReply, error)
	NshEntryDump(ctx context.Context, in *NshEntryDump) (RPCService_NshEntryDumpClient, error)
	NshMapDump(ctx context.Context, in *NshMapDump) (RPCService_NshMapDumpClient, error)
}

RPCService defines RPC service nsh.

func NewServiceClient

func NewServiceClient(conn api.Connection) RPCService

type RPCService_NshEntryDumpClient

type RPCService_NshEntryDumpClient interface {
	Recv() (*NshEntryDetails, error)
	api.Stream
}

type RPCService_NshMapDumpClient

type RPCService_NshMapDumpClient interface {
	Recv() (*NshMapDetails, error)
	api.Stream
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL