const NDA_UNSPEC … const NDA_DST … const NDA_LLADDR … const NDA_CACHEINFO … const NDA_PROBES … const NDA_VLAN … const NDA_PORT … const NDA_VNI … const NDA_IFINDEX … const NDA_MASTER … const NDA_LINK_NETNSID … const NDA_SRC_VNI … const NDA_PROTOCOL … const NDA_NH_ID … const NDA_FDB_EXT_ATTRS … const NDA_FLAGS_EXT … const NDA_MAX … const NUD_NONE … const NUD_INCOMPLETE … const NUD_REACHABLE … const NUD_STALE … const NUD_DELAY … const NUD_PROBE … const NUD_FAILED … const NUD_NOARP … const NUD_PERMANENT … const NTF_USE … const NTF_SELF … const NTF_MASTER … const NTF_PROXY … const NTF_EXT_LEARNED … const NTF_OFFLOADED … const NTF_STICKY … const NTF_ROUTER … const NTF_EXT_MANAGED … type Ndmsg … func deserializeNdmsg(b []byte) *Ndmsg { … } func (msg *Ndmsg) Serialize() []byte { … } func (msg *Ndmsg) Len() int { … } // NeighAdd will add an IP to MAC mapping to the ARP table // Equivalent to: `ip neigh add ....` func NeighAdd(neigh *Neigh) error { … } // NeighAdd will add an IP to MAC mapping to the ARP table // Equivalent to: `ip neigh add ....` func (h *Handle) NeighAdd(neigh *Neigh) error { … } // NeighSet will add or replace an IP to MAC mapping to the ARP table // Equivalent to: `ip neigh replace....` func NeighSet(neigh *Neigh) error { … } // NeighSet will add or replace an IP to MAC mapping to the ARP table // Equivalent to: `ip neigh replace....` func (h *Handle) NeighSet(neigh *Neigh) error { … } // NeighAppend will append an entry to FDB // Equivalent to: `bridge fdb append...` func NeighAppend(neigh *Neigh) error { … } // NeighAppend will append an entry to FDB // Equivalent to: `bridge fdb append...` func (h *Handle) NeighAppend(neigh *Neigh) error { … } // NeighAppend will append an entry to FDB // Equivalent to: `bridge fdb append...` func neighAdd(neigh *Neigh, mode int) error { … } // NeighAppend will append an entry to FDB // Equivalent to: `bridge fdb append...` func (h *Handle) neighAdd(neigh *Neigh, mode int) error { … } // NeighDel will delete an IP address from a link device. // Equivalent to: `ip addr del $addr dev $link` func NeighDel(neigh *Neigh) error { … } // NeighDel will delete an IP address from a link device. // Equivalent to: `ip addr del $addr dev $link` func (h *Handle) NeighDel(neigh *Neigh) error { … } func neighHandle(neigh *Neigh, req *nl.NetlinkRequest) error { … } // NeighList returns a list of IP-MAC mappings in the system (ARP table). // Equivalent to: `ip neighbor show`. // The list can be filtered by link and ip family. func NeighList(linkIndex, family int) ([]Neigh, error) { … } // NeighProxyList returns a list of neighbor proxies in the system. // Equivalent to: `ip neighbor show proxy`. // The list can be filtered by link and ip family. func NeighProxyList(linkIndex, family int) ([]Neigh, error) { … } // NeighList returns a list of IP-MAC mappings in the system (ARP table). // Equivalent to: `ip neighbor show`. // The list can be filtered by link and ip family. func (h *Handle) NeighList(linkIndex, family int) ([]Neigh, error) { … } // NeighProxyList returns a list of neighbor proxies in the system. // Equivalent to: `ip neighbor show proxy`. // The list can be filtered by link, ip family. func (h *Handle) NeighProxyList(linkIndex, family int) ([]Neigh, error) { … } // NeighListExecute returns a list of neighbour entries filtered by link, ip family, flag and state. func NeighListExecute(msg Ndmsg) ([]Neigh, error) { … } // NeighListExecute returns a list of neighbour entries filtered by link, ip family, flag and state. func (h *Handle) NeighListExecute(msg Ndmsg) ([]Neigh, error) { … } func NeighDeserialize(m []byte) (*Neigh, error) { … } // NeighSubscribe takes a chan down which notifications will be sent // when neighbors are added or deleted. Close the 'done' chan to stop subscription. func NeighSubscribe(ch chan<- NeighUpdate, done <-chan struct{ … } // NeighSubscribeAt works like NeighSubscribe plus it allows the caller // to choose the network namespace in which to subscribe (ns). func NeighSubscribeAt(ns netns.NsHandle, ch chan<- NeighUpdate, done <-chan struct{ … } type NeighSubscribeOptions … // NeighSubscribeWithOptions work like NeighSubscribe but enable to // provide additional options to modify the behavior. Currently, the // namespace can be provided as well as an error callback. func NeighSubscribeWithOptions(ch chan<- NeighUpdate, done <-chan struct{ … } func neighSubscribeAt(newNs, curNs netns.NsHandle, ch chan<- NeighUpdate, done <-chan struct{ … }