Documentation ¶
Overview ¶
https://github.com/vishvananda/netlink/blob/master/nl/seg6_linux.go
https://github.com/vishvananda/netlink/blob/master/nl/seg6local_linux.go
Index ¶
- Constants
- Variables
- func Seg6EncapModeInt(name string) (uint32, error)
- func Seg6EncapModeString(mode int) (string, error)
- func Seg6LocalActionInt(name string) (uint32, error)
- func Seg6LocalActionString(action int) (string, error)
- func Seg6LocalFlaverInt(name string) (uint32, error)
- func Seg6LocalFlaverString(action int) (string, error)
- type FunctionTable
- type FunctionTableKey
- type FunctionTablesMap
- func (m *FunctionTablesMap) Delete(ip [16]byte, prefix uint32) error
- func (m *FunctionTablesMap) Get(ip [16]byte, prefix uint32) (*FunctionTable, error)
- func (m *FunctionTablesMap) List() ([]*FunctionTable, error)
- func (m *FunctionTablesMap) Pin() error
- func (m *FunctionTablesMap) Unpin() error
- func (m *FunctionTablesMap) Update(fn FunctionTable, ip [16]byte, prefix uint32) error
- type IPv6SrHdr
- type TransitTablev4
- type TransitTablev4Key
- type TransitTablev4sMap
- type TransitTablev6
- type TransitTablev6Key
- type TransitTablev6sMap
- type TxPort
- type TxPortKey
- type TxPortsMap
- type V6addrHeep
- type V6addrHeepMap
Constants ¶
View Source
const ( STR_TXPort = "tx_port" STR_TransitTablev4 = "transit_table_v4" STR_TransitTablev6 = "transit_table_v6" STR_FunctionTable = "function_table" STR_V6addrHeep = "v6addr_heep" )
View Source
const ( SEG6_IPTUN_MODE_INLINE = iota SEG6_IPTUN_MODE_ENCAP SEG6_IPTUN_MODE_L2ENCAP SEG6_IPTUN_MODE_ENCAP_T_M_GTP6_D SEG6_IPTUN_MODE_ENCAP_T_M_GTP6_D_Di SEG6_IPTUN_MODE_ENCAP_H_M_GTP4_D )
seg6 encap mode
View Source
const ( SEG6_LOCAL_UNSPEC = iota SEG6_LOCAL_ACTION SEG6_LOCAL_SRH SEG6_LOCAL_TABLE SEG6_LOCAL_NH4 SEG6_LOCAL_NH6 SEG6_LOCAL_IIF SEG6_LOCAL_OIF )
seg6local parameters
View Source
const ( SEG6_LOCAL_FLAVER_NONE = iota + 1 // 1 SEG6_LOCAL_FLAVER_PSP SEG6_LOCAL_FLAVER_USP SEG6_LOCAL_FLAVER_USD )
seg6End Functions Flaver
View Source
const ( SEG6_LOCAL_ACTION_END = iota + 1 // 1 SEG6_LOCAL_ACTION_END_X // 2 SEG6_LOCAL_ACTION_END_T // 3 SEG6_LOCAL_ACTION_END_DX2 // 4 SEG6_LOCAL_ACTION_END_DX6 // 5 SEG6_LOCAL_ACTION_END_DX4 // 6 SEG6_LOCAL_ACTION_END_DT6 // 7 SEG6_LOCAL_ACTION_END_DT4 // 8 SEG6_LOCAL_ACTION_END_B6 // 9 SEG6_LOCAL_ACTION_END_B6_ENCAPS // 10 SEG6_LOCAL_ACTION_END_BM // 11 SEG6_LOCAL_ACTION_END_S // 12 SEG6_LOCAL_ACTION_END_AS // 13 SEG6_LOCAL_ACTION_END_AM // 14 SEG6_LOCAL_ACTION_END_M_GTP6_E SEG6_LOCAL_ACTION_END_M_GTP4_E )
seg6local actions
View Source
const MAX_SEGMENTS = 5
View Source
const MaxTxportDevice = 64
View Source
const (
SEG6_GTPV1_LOC_FUNCTION_MAXSIZE = 56 // == 128 - v4addr(32) - args(40)
)
View Source
const (
SEG6_IPTUN_MODE_MAX = __SEG6_IPTUN_MODE_MAX
)
View Source
const (
SEG6_LOCAL_ACTION_MAX = __SEG6_LOCAL_ACTION_MAX - 1
)
View Source
const (
SEG6_LOCAL_FLAVER_MAX = __SEG6_LOCAL_FLAVER_MAX
)
View Source
const (
SEG6_LOCAL_MAX = __SEG6_LOCAL_MAX
)
Variables ¶
View Source
var ( TXPortPath = path.Join(xdptool.BpfFsPath, STR_TXPort) TransitTablev4Path = path.Join(xdptool.BpfFsPath, STR_TransitTablev4) TransitTablev6Path = path.Join(xdptool.BpfFsPath, STR_TransitTablev6) FunctionTablePath = path.Join(xdptool.BpfFsPath, STR_FunctionTable) V6addrHeepPath = path.Join(xdptool.BpfFsPath, STR_V6addrHeep) )
Functions ¶
func Seg6EncapModeInt ¶
func Seg6LocalActionString ¶
Helper functions
func Seg6LocalFlaverString ¶
Helper functions
Types ¶
type FunctionTable ¶
type FunctionTableKey ¶
type FunctionTablesMap ¶
func LoadFunctionTables ¶
func LoadFunctionTables() (*FunctionTablesMap, error)
func MappingFunctionTable ¶
func MappingFunctionTable(m *ebpf.Map) *FunctionTablesMap
func NewFunctionTable ¶
func NewFunctionTable(coll *ebpf.Collection) (*FunctionTablesMap, error)
func (*FunctionTablesMap) Delete ¶
func (m *FunctionTablesMap) Delete(ip [16]byte, prefix uint32) error
func (*FunctionTablesMap) Get ¶
func (m *FunctionTablesMap) Get(ip [16]byte, prefix uint32) (*FunctionTable, error)
func (*FunctionTablesMap) List ¶
func (m *FunctionTablesMap) List() ([]*FunctionTable, error)
func (*FunctionTablesMap) Pin ¶
func (m *FunctionTablesMap) Pin() error
func (*FunctionTablesMap) Unpin ¶
func (m *FunctionTablesMap) Unpin() error
func (*FunctionTablesMap) Update ¶
func (m *FunctionTablesMap) Update(fn FunctionTable, ip [16]byte, prefix uint32) error
type TransitTablev4 ¶
type TransitTablev4Key ¶
type TransitTablev4sMap ¶
func LoadTransitTablev4 ¶
func LoadTransitTablev4() (*TransitTablev4sMap, error)
func MappingTransitTablev4 ¶
func MappingTransitTablev4(m *ebpf.Map) *TransitTablev4sMap
func NewTransitTablev4 ¶
func NewTransitTablev4(coll *ebpf.Collection) (*TransitTablev4sMap, error)
func (*TransitTablev4sMap) Pin ¶
func (m *TransitTablev4sMap) Pin() error
func (*TransitTablev4sMap) Unpin ¶
func (m *TransitTablev4sMap) Unpin() error
func (*TransitTablev4sMap) Update ¶
func (m *TransitTablev4sMap) Update(v4table TransitTablev4, ip [4]byte, prefix uint32) error
type TransitTablev6 ¶
type TransitTablev6Key ¶
type TransitTablev6sMap ¶
func LoadTransitTablev6 ¶
func LoadTransitTablev6() (*TransitTablev6sMap, error)
func MappingTransitTablev6 ¶
func MappingTransitTablev6(m *ebpf.Map) *TransitTablev6sMap
func NewTransitTablev6 ¶
func NewTransitTablev6(coll *ebpf.Collection) (*TransitTablev6sMap, error)
func (*TransitTablev6sMap) Pin ¶
func (m *TransitTablev6sMap) Pin() error
func (*TransitTablev6sMap) Unpin ¶
func (m *TransitTablev6sMap) Unpin() error
func (*TransitTablev6sMap) Update ¶
func (m *TransitTablev6sMap) Update(v4table TransitTablev6, ip [16]byte, prefix uint32) error
type TxPortsMap ¶
func LoadTxPort ¶
func LoadTxPort() (*TxPortsMap, error)
func MappingTxPort ¶
func MappingTxPort(m *ebpf.Map) *TxPortsMap
func NewTxPort ¶
func NewTxPort(coll *ebpf.Collection) (*TxPortsMap, error)
func (*TxPortsMap) Pin ¶
func (m *TxPortsMap) Pin() error
func (*TxPortsMap) Unpin ¶
func (m *TxPortsMap) Unpin() error
type V6addrHeep ¶
type V6addrHeepMap ¶
func MappingV6addrHeep ¶
func MappingV6addrHeep(m *ebpf.Map) *V6addrHeepMap
func NewV6addrHeep ¶
func NewV6addrHeep(coll *ebpf.Collection) (*V6addrHeepMap, error)
func (*V6addrHeepMap) Pin ¶
func (m *V6addrHeepMap) Pin() error
func (*V6addrHeepMap) Unpin ¶
func (m *V6addrHeepMap) Unpin() error
func (*V6addrHeepMap) Update ¶
func (m *V6addrHeepMap) Update(heep []*V6addrHeep, vkey int) error
Click to show internal directories.
Click to hide internal directories.