Documentation
¶
Index ¶
- Constants
- Variables
- type NLAChannels
- type NLAManager
- func (n *NLAManager) Add(svcs ...NLAService)
- func (n *NLAManager) NetlinkAddr(nlmsg *nlamsg.NetlinkMessage, addr *nlamsg.Addr)
- func (n *NLAManager) NetlinkBridgeVlanInfo(nlmsg *nlamsg.NetlinkMessage, brvlan *nlamsg.BridgeVlanInfo)
- func (n *NLAManager) NetlinkLink(nlmsg *nlamsg.NetlinkMessage, link *nlamsg.Link)
- func (n *NLAManager) NetlinkMessage(nlmsg *nlamsg.NetlinkMessage)
- func (n *NLAManager) NetlinkNeigh(nlmsg *nlamsg.NetlinkMessage, neigh *nlamsg.Neigh)
- func (n *NLAManager) NetlinkNode(nlmsg *nlamsg.NetlinkMessage, node *nlamsg.Node)
- func (n *NLAManager) NetlinkRoute(nlmsg *nlamsg.NetlinkMessage, route *nlamsg.Route)
- func (n *NLAManager) NetlinkVpn(nlmsg *nlamsg.NetlinkMessage, vpn *nlamsg.Vpn)
- func (n *NLAManager) Serve()
- func (n *NLAManager) Start() error
- func (n *NLAManager) Stop()
- type NLARecvBuffer
- type NLAServer
- type NLAService
Constants ¶
View Source
const NLA_MANAGER_CHAN_SIZE = 16
View Source
const (
RECEIVE_BUFFER_SIZE = 0x1000
)
Variables ¶
View Source
var RTNLGRPLIST = []uint{ syscall.RTNLGRP_LINK, syscall.RTNLGRP_NEIGH, syscall.RTNLGRP_IPV4_IFADDR, syscall.RTNLGRP_IPV4_ROUTE, syscall.RTNLGRP_IPV6_IFADDR, syscall.RTNLGRP_IPV6_ROUTE, nl.RTNLGRP_MPLS_ROUTE, }
Functions ¶
This section is empty.
Types ¶
type NLAChannels ¶
type NLAChannels struct { NlMsg chan *nlamsg.NetlinkMessage Api chan *nlamsg.NetlinkMessageUnion }
func NewNLAChannels ¶
func NewNLAChannels() *NLAChannels
type NLAManager ¶
type NLAManager struct { NId uint8 Svcs []NLAService Chans *NLAChannels // contains filtered or unexported fields }
func NewNLAManager ¶
func NewNLAManager(nid uint8, done <-chan struct{}, svcs ...NLAService) *NLAManager
func (*NLAManager) Add ¶
func (n *NLAManager) Add(svcs ...NLAService)
func (*NLAManager) NetlinkAddr ¶
func (n *NLAManager) NetlinkAddr(nlmsg *nlamsg.NetlinkMessage, addr *nlamsg.Addr)
func (*NLAManager) NetlinkBridgeVlanInfo ¶ added in v0.4.0
func (n *NLAManager) NetlinkBridgeVlanInfo(nlmsg *nlamsg.NetlinkMessage, brvlan *nlamsg.BridgeVlanInfo)
func (*NLAManager) NetlinkLink ¶
func (n *NLAManager) NetlinkLink(nlmsg *nlamsg.NetlinkMessage, link *nlamsg.Link)
func (*NLAManager) NetlinkMessage ¶
func (n *NLAManager) NetlinkMessage(nlmsg *nlamsg.NetlinkMessage)
func (*NLAManager) NetlinkNeigh ¶
func (n *NLAManager) NetlinkNeigh(nlmsg *nlamsg.NetlinkMessage, neigh *nlamsg.Neigh)
func (*NLAManager) NetlinkNode ¶
func (n *NLAManager) NetlinkNode(nlmsg *nlamsg.NetlinkMessage, node *nlamsg.Node)
func (*NLAManager) NetlinkRoute ¶
func (n *NLAManager) NetlinkRoute(nlmsg *nlamsg.NetlinkMessage, route *nlamsg.Route)
func (*NLAManager) NetlinkVpn ¶
func (n *NLAManager) NetlinkVpn(nlmsg *nlamsg.NetlinkMessage, vpn *nlamsg.Vpn)
func (*NLAManager) Serve ¶
func (n *NLAManager) Serve()
func (*NLAManager) Start ¶
func (n *NLAManager) Start() error
func (*NLAManager) Stop ¶
func (n *NLAManager) Stop()
type NLARecvBuffer ¶ added in v0.3.1
func NewNLARecvBuffer ¶ added in v0.3.1
func NewNLARecvBuffer() *NLARecvBuffer
func (*NLARecvBuffer) Bytes ¶ added in v0.3.1
func (b *NLARecvBuffer) Bytes() []byte
func (*NLARecvBuffer) Recvfrom ¶ added in v0.3.1
func (b *NLARecvBuffer) Recvfrom(fd int) (err error)
type NLAServer ¶
type NLAServer struct { Nid uint8 // contains filtered or unexported fields }
func NewNLAServer ¶
func NewNLAServer(nid uint8, nlmsgs chan<- *nlamsg.NetlinkMessage, done chan struct{}) *NLAServer
func (*NLAServer) Serve ¶
func (s *NLAServer) Serve(sock *nl.NetlinkSocket)
func (*NLAServer) SetRecvChanSize ¶ added in v0.3.1
func (*NLAServer) SetRecvSockBufferSize ¶ added in v0.3.1
type NLAService ¶
type NLAService interface { Start(uint8, *NLAChannels) error Stop() }
Click to show internal directories.
Click to hide internal directories.