maps

package
v1.5.2 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SysMesh = SysID(1)
	SysE4lb = SysID(2)
)
View Source
const (
	BPF_F_EGRESS  = 0
	BPF_F_INGRESS = 1
)
View Source
const (
	CfgFlagOffsetDenyAll uint8 = iota
	CfgFlagOffsetAllowAll
	CfgFlagOffsetTCPProtoDenyAll
	CfgFlagOffsetTCPProtoAllowAll
	CfgFlagOffsetTCPProtoAllowNatEscape
	CfgFlagOffsetUDPProtoDenyAll
	CfgFlagOffsetUDPProtoAllowAll
	CfgFlagOffsetUDPProtoAllowNatEscape
	CfgFlagOffsetOTHProtoDenyAll
	CfgFlagOffsetTCPNatByIpPortOn
	CfgFlagOffsetTCPNatByIpOn
	CfgFlagOffsetTCPNatAllOff
	CfgFlagOffsetTCPNatOptOn
	CfgFlagOffsetTCPNatOptWithLocalAddrOn
	CfgFlagOffsetTCPNatOptWithLocalPortOn
	CfgFlagOffsetUDPNatByIpPortOn
	CfgFlagOffsetUDPNatByIpOn
	CfgFlagOffsetUDPNatByPortOn
	CfgFlagOffsetUDPNatAllOff
	CfgFlagOffsetUDPNatOptOn
	CfgFlagOffsetUDPNatOptWithLocalAddrOn
	CfgFlagOffsetUDPNatOptWithLocalPortOn
	CfgFlagOffsetAclCheckOn
	CfgFlagOffsetTraceHdrOn
	CfgFlagOffsetTraceNatOn
	CfgFlagOffsetTraceOptOn
	CfgFlagOffsetTraceAclOn
	CfgFlagOffsetTraceFlowOn
	CfgFlagOffsetTraceByIpOn
	CfgFlagOffsetTraceByPortOn
	CfgFlagMax
)

Variables

This section is empty.

Functions

func AddAclEntries

func AddAclEntries(sysId SysID, aclKeys []AclKey, aclVals []AclVal) (int, error)

func AddIFaceEntry

func AddIFaceEntry(ifaceKey *IFaceKey, ifaceVal *IFaceVal) error

func AddNatEntry

func AddNatEntry(sysId SysID, natKey *NatKey, natVal *NatVal) error

func DelAclEntries

func DelAclEntries(sysId SysID, aclKeys []AclKey) (int, error)

func DelNatEntry

func DelNatEntry(sysId SysID, natKey *NatKey) error

func GetAclEntries

func GetAclEntries(sysId SysID) map[AclKey]AclVal

func ListNatEntries

func ListNatEntries() (map[NatKey]NatVal, error)

func SetXNetCfg

func SetXNetCfg(sysId SysID, cfgVal *CfgVal) error

Types

type Acl

type Acl uint8
const (
	ACL_DENY    Acl = 0
	ACL_TRUSTED Acl = 2
)

type AclKey

type AclKey struct {
	Sys   uint32
	Addr  [4]uint32
	Port  uint16
	Proto uint8
}

type AclVal

type AclVal struct {
	Acl  uint8
	Flag uint8
	Id   uint16
}

type CfgKey

type CfgKey uint32

type CfgVal

type CfgVal struct {
	Ipv4 FlagT
	Ipv6 FlagT
}

func GetXNetCfg

func GetXNetCfg(sysId SysID) (*CfgVal, error)

func (*CfgVal) IPv4

func (t *CfgVal) IPv4() *FlagT

func (*CfgVal) IPv6

func (t *CfgVal) IPv6() *FlagT

type FlagT

type FlagT struct {
	Flags uint64
}

func (*FlagT) Clear

func (t *FlagT) Clear(bit uint8)

func (*FlagT) Get

func (t *FlagT) Get(bit uint8) uint8

func (*FlagT) IsSet

func (t *FlagT) IsSet(bit uint8) bool

func (*FlagT) Set

func (t *FlagT) Set(bit uint8)

type IFaceKey

type IFaceKey struct {
	Len  uint8
	Name [16]uint8
}

type IFaceVal

type IFaceVal struct {
	Ifi  uint32
	Addr [4]uint32
	Mac  [6]uint8
	Xmac [6]uint8
}

func GetIFaceEntry

func GetIFaceEntry(ifaceKey *IFaceKey) (*IFaceVal, error)

type L4Proto

type L4Proto uint8
const (
	IPPROTO_TCP L4Proto = 6
	IPPROTO_UDP L4Proto = 17
)

type NatKey

type NatKey struct {
	Sys   uint32
	Daddr [4]uint32
	Dport uint16
	Proto uint8
	V6    uint8
	TcDir uint8
}

type NatVal

type NatVal struct {
	Lock  struct{ Val uint32 }
	EpSel uint16
	EpCnt uint16
	Eps   [128]struct {
		Raddr   [4]uint32
		Rport   uint16
		Rmac    [6]uint8
		Ofi     uint32
		Oflags  uint32
		Omac    [6]uint8
		OmacSet uint8
		Active  uint8
	}
}

func (*NatVal) AddEp

func (t *NatVal) AddEp(raddr net.IP, rport uint16, rmac []uint8, ofi, oflags uint32, omac []uint8, active bool) (bool, error)

func (*NatVal) DelEp

func (t *NatVal) DelEp(raddr net.IP, rport uint16) error

type SysID

type SysID uint32

type TcDir

type TcDir uint8
const (
	TC_DIR_IGR TcDir = 0
	TC_DIR_EGR TcDir = 1
)

Jump to

Keyboard shortcuts

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