Versions in this module Expand all Collapse all v3 v3.2.4 Jan 10, 2024 Changes in this version + const DefaultVrf + const MaxZapiVer + const MinZapiVer + var MaxSoftware = NewSoftware(MaxZapiVer, "frr8.2") + func HeaderMarker(version uint8) uint8 + func HeaderSize(version uint8) uint16 + type APIType uint16 + const BackwardIPv6RouteAdd + const BackwardIPv6RouteDelete + const Hello + const RedistributeRouteAdd + const RedistributeRouteDel + const RouteAdd + const RouteDelete + func (i APIType) String() string + func (t APIType) ToCommon(version uint8, software Software) APIType + func (t APIType) ToEach(version uint8, software Software) APIType + type Body interface + type Client struct + Software Software + Version uint8 + func NewClient(logger log.Logger, network, address string, typ RouteType, version uint8, ...) (*Client, error) + func (c *Client) Receive() chan *Message + func (c *Client) SendGetLabelChunk(body *GetLabelChunkBody) error + func (c *Client) SendHello() error + func (c *Client) SendIPRoute(vrfID uint32, body *IPRouteBody, isWithdraw bool) error + func (c *Client) SendInterfaceAdd() error + func (c *Client) SendNexthopRegister(vrfID uint32, body *NexthopRegisterBody, isWithdraw bool) error + func (c *Client) SendRedistribute(t RouteType, vrfID uint32) error + func (c *Client) SendRouterIDAdd() error + func (c *Client) SendVrfLabel(label uint32, vrfID uint32) error + func (c *Client) SupportMpls() bool + func (c Client) SetLabelFlag(msgFlags *MessageFlag, nexthop *Nexthop) + type Flag uint64 + const FlagAllowRecursion + const FlagIBGP + const FlagSelected + func (f Flag) String(version uint8, software Software) string + func (f Flag) ToEach(version uint8, software Software) Flag + type GetLabelChunkBody struct + ChunkSize uint32 + End uint32 + Start uint32 + type Header struct + Command APIType + Len uint16 + Marker uint8 + Version uint8 + VrfID uint32 + type HelloBody struct + type IPRouteBody struct + API APIType + Distance uint8 + Flags Flag + Message MessageFlag + Metric uint32 + Mtu uint32 + Nexthops []Nexthop + Prefix Prefix + Safi Safi + Type RouteType + func (b *IPRouteBody) IsWithdraw(version uint8, software Software) bool + func (b *IPRouteBody) RouteFamily(logger log.Logger, version uint8, software Software) bgp.RouteFamily + type Message struct + Body Body + Header Header + func ReceiveSingleMsg(logger log.Logger, conn net.Conn, version uint8, software Software, ...) (*Message, error) + func (m *Message) Serialize(software Software) ([]byte, error) + type MessageFlag uint32 + const MessageDistance + const MessageLabel + const MessageMTU + const MessageMetric + const MessageNexthop + func (f MessageFlag) ToEach(version uint8, software Software) MessageFlag + type Nexthop struct + Gate net.IP + Ifindex uint32 + LabelNum uint8 + MplsLabels []uint32 + Type nexthopType + VrfID uint32 + Weight uint32 + type NexthopRegisterBody struct + Nexthops []*RegisteredNexthop + type NexthopUpdateBody IPRouteBody + type Prefix struct + Family uint8 + Prefix net.IP + PrefixLen uint8 + type RegisteredNexthop struct + Family uint16 + Prefix net.IP + type RouteType uint8 + const RouteBGP + const RouteStatic + func RouteTypeFromString(typ string, version uint8, software Software) (RouteType, error) + func (i RouteType) String() string + type Safi uint8 + const SafiUnicast + func (i Safi) String() string + type Software struct + func NewSoftware(version uint8, softwareName string) Software