Documentation
¶
Index ¶
- Constants
- Variables
- func AsPathString(aspath *PathAttributeAsPath) string
- func CompareFlowSpecNLRI(n, m *FlowSpecNLRI) (int, error)
- func EndpointString(nlri AddrPrefixInterface) string
- func FlatUpdate(f1, f2 map[string]string) error
- func GetBGPUpdateAttributes(data []byte) map[BGPAttrType]bool
- func GetBGPUpdateAttributesFromMsg(msg *BGPUpdate) map[BGPAttrType]bool
- func IsAddPathEnabled(decode bool, f RouteFamily, options []*MarshallingOption) bool
- func IsAttributePresent(attr BGPAttrType, options []*MarshallingOption) bool
- func LabelString(nlri AddrPrefixInterface) string
- func NewMessageError(typeCode, subTypeCode uint8, data []byte, msg string) error
- func NewMessageErrorWithErrorHandling(typeCode, subTypeCode uint8, data []byte, errorHandling ErrorHandling, ...) error
- func QFIString(nlri AddrPrefixInterface) string
- func RouteFamilyToAfiSafi(rf RouteFamily) (uint16, uint8)
- func SerializeExtendedCommunities(comms []ExtendedCommunityInterface) ([][]byte, error)
- func TEIDString(nlri AddrPrefixInterface) string
- func ValidateAttribute(a PathAttributeInterface, rfs map[RouteFamily]BGPAddPathMode, isEBGP bool, ...) (bool, error)
- func ValidateBGPMessage(m *BGPMessage) error
- func ValidateOpenMsg(m *BGPOpen, expectedAS uint32, myAS uint32, myId net.IP) (uint32, error)
- func ValidateUpdateMsg(m *BGPUpdate, rfs map[RouteFamily]BGPAddPathMode, isEBGP bool, isConfed bool) (bool, error)
- type AddrPrefixInterface
- type AigpTLVDefault
- type AigpTLVIgpMetric
- type AigpTLVInterface
- type AigpTLVType
- type As4PathParam
- func (a *As4PathParam) ASLen() int
- func (a *As4PathParam) DecodeFromBytes(data []byte) error
- func (a *As4PathParam) GetAS() []uint32
- func (a *As4PathParam) GetType() uint8
- func (a *As4PathParam) Len() int
- func (a *As4PathParam) MarshalJSON() ([]byte, error)
- func (a *As4PathParam) Serialize() ([]byte, error)
- func (a *As4PathParam) String() string
- type AsPathParam
- func (a *AsPathParam) ASLen() int
- func (a *AsPathParam) DecodeFromBytes(data []byte) error
- func (a *AsPathParam) GetAS() []uint32
- func (a *AsPathParam) GetType() uint8
- func (a *AsPathParam) Len() int
- func (a *AsPathParam) MarshalJSON() ([]byte, error)
- func (a *AsPathParam) Serialize() ([]byte, error)
- func (a *AsPathParam) String() string
- type AsPathParamFormat
- type AsPathParamInterface
- type BGPAddPathMode
- type BGPAttrFlag
- type BGPAttrType
- type BGPBody
- type BGPCapabilityCode
- type BGPFlowSpecType
- type BGPHeader
- type BGPKeepAlive
- type BGPMessage
- func NewBGPKeepAliveMessage() *BGPMessage
- func NewBGPNotificationMessage(errcode uint8, errsubcode uint8, data []byte) *BGPMessage
- func NewBGPOpenMessage(myas uint16, holdtime uint16, id string, optparams []OptionParameterInterface) *BGPMessage
- func NewBGPRouteRefreshMessage(afi uint16, demarcation uint8, safi uint8) *BGPMessage
- func NewBGPUpdateMessage(withdrawnRoutes []*IPAddrPrefix, pathattrs []PathAttributeInterface, ...) *BGPMessage
- func NewEndOfRib(family RouteFamily) *BGPMessage
- func NewTestBGPOpenMessage() *BGPMessage
- func NewTestBGPUpdateMessage() *BGPMessage
- func ParseBGPBody(h *BGPHeader, data []byte, options ...*MarshallingOption) (*BGPMessage, error)
- func ParseBGPMessage(data []byte, options ...*MarshallingOption) (*BGPMessage, error)
- type BGPNotification
- type BGPOpen
- type BGPRouteRefresh
- type BGPUpdate
- type BGPUpdateAttributes
- type BSID
- type BitmaskFlagOp
- type CapAddPath
- type CapAddPathTuple
- type CapCarryingLabelInfo
- type CapEnhancedRouteRefresh
- type CapExtendedNexthop
- type CapExtendedNexthopTuple
- type CapFQDN
- type CapFourOctetASNumber
- type CapGracefulRestart
- type CapGracefulRestartTuple
- type CapLongLivedGracefulRestart
- type CapLongLivedGracefulRestartTuple
- type CapMultiProtocol
- type CapRouteRefresh
- type CapRouteRefreshCisco
- type CapSoftwareVersion
- type CapUnknown
- type ColorExtended
- type DECNumOp
- type DefaultGatewayExtended
- func (e *DefaultGatewayExtended) Flat() map[string]string
- func (e *DefaultGatewayExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *DefaultGatewayExtended) MarshalJSON() ([]byte, error)
- func (e *DefaultGatewayExtended) Serialize() ([]byte, error)
- func (e *DefaultGatewayExtended) String() string
- type DefaultParameterCapability
- type DefaultPmsiTunnelID
- type DefaultRouteDistinguisher
- type ESILabelExtended
- func (e *ESILabelExtended) Flat() map[string]string
- func (e *ESILabelExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *ESILabelExtended) MarshalJSON() ([]byte, error)
- func (e *ESILabelExtended) Serialize() ([]byte, error)
- func (e *ESILabelExtended) String() string
- type ESIType
- type ESImportRouteTarget
- func (e *ESImportRouteTarget) Flat() map[string]string
- func (e *ESImportRouteTarget) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *ESImportRouteTarget) MarshalJSON() ([]byte, error)
- func (e *ESImportRouteTarget) Serialize() ([]byte, error)
- func (e *ESImportRouteTarget) String() string
- type EVPNEthernetAutoDiscoveryRoute
- func (er *EVPNEthernetAutoDiscoveryRoute) DecodeFromBytes(data []byte) error
- func (er *EVPNEthernetAutoDiscoveryRoute) Len() int
- func (er *EVPNEthernetAutoDiscoveryRoute) MarshalJSON() ([]byte, error)
- func (er *EVPNEthernetAutoDiscoveryRoute) Serialize() ([]byte, error)
- func (er *EVPNEthernetAutoDiscoveryRoute) String() string
- type EVPNEthernetSegmentRoute
- type EVPNIPMSIRoute
- type EVPNIPPrefixRoute
- type EVPNMacIPAdvertisementRoute
- func (er *EVPNMacIPAdvertisementRoute) DecodeFromBytes(data []byte) error
- func (er *EVPNMacIPAdvertisementRoute) Len() int
- func (er *EVPNMacIPAdvertisementRoute) MarshalJSON() ([]byte, error)
- func (er *EVPNMacIPAdvertisementRoute) Serialize() ([]byte, error)
- func (er *EVPNMacIPAdvertisementRoute) String() string
- type EVPNMulticastEthernetTagRoute
- func (er *EVPNMulticastEthernetTagRoute) DecodeFromBytes(data []byte) error
- func (er *EVPNMulticastEthernetTagRoute) Len() int
- func (er *EVPNMulticastEthernetTagRoute) MarshalJSON() ([]byte, error)
- func (er *EVPNMulticastEthernetTagRoute) Serialize() ([]byte, error)
- func (er *EVPNMulticastEthernetTagRoute) String() string
- type EVPNNLRI
- func NewEVPNEthernetAutoDiscoveryRoute(rd RouteDistinguisherInterface, esi EthernetSegmentIdentifier, etag uint32, ...) *EVPNNLRI
- func NewEVPNEthernetSegmentRoute(rd RouteDistinguisherInterface, esi EthernetSegmentIdentifier, ...) *EVPNNLRI
- func NewEVPNIPMSIRoute(rd RouteDistinguisherInterface, etag uint32, ec ExtendedCommunityInterface) *EVPNNLRI
- func NewEVPNIPPrefixRoute(rd RouteDistinguisherInterface, esi EthernetSegmentIdentifier, etag uint32, ...) *EVPNNLRI
- func NewEVPNMacIPAdvertisementRoute(rd RouteDistinguisherInterface, esi EthernetSegmentIdentifier, etag uint32, ...) *EVPNNLRI
- func NewEVPNMulticastEthernetTagRoute(rd RouteDistinguisherInterface, etag uint32, ipAddress string) *EVPNNLRI
- func NewEVPNNLRI(routeType uint8, routeTypeData EVPNRouteTypeInterface) *EVPNNLRI
- func (n *EVPNNLRI) AFI() uint16
- func (n *EVPNNLRI) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (l *EVPNNLRI) Flat() map[string]string
- func (n *EVPNNLRI) Len(options ...*MarshallingOption) int
- func (n *EVPNNLRI) MarshalJSON() ([]byte, error)
- func (n *EVPNNLRI) RD() RouteDistinguisherInterface
- func (n *EVPNNLRI) SAFI() uint8
- func (n *EVPNNLRI) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (n *EVPNNLRI) String() string
- type EVPNRouteTypeInterface
- type EncapExtended
- type EncapNLRI
- func (n *EncapNLRI) AFI() uint16
- func (n *EncapNLRI) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (n *EncapNLRI) Len(options ...*MarshallingOption) int
- func (n *EncapNLRI) SAFI() uint8
- func (n *EncapNLRI) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (n *EncapNLRI) String() string
- type EncapSubTLVType
- type Encapv6NLRI
- type ErrorHandling
- type EthernetSegmentIdentifier
- type EthernetType
- type ExtendedCommunityAttrSubType
- type ExtendedCommunityAttrType
- type ExtendedCommunityInterface
- func ParseExtended(data []byte) (ExtendedCommunityInterface, error)
- func ParseExtendedCommunity(subtype ExtendedCommunityAttrSubType, com string) (ExtendedCommunityInterface, error)
- func ParseIP6Extended(data []byte) (ExtendedCommunityInterface, error)
- func ParseRouteTarget(rt string) (ExtendedCommunityInterface, error)
- type FSMState
- type FlowSpecComponent
- func (p *FlowSpecComponent) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *FlowSpecComponent) Len(options ...*MarshallingOption) int
- func (p *FlowSpecComponent) MarshalJSON() ([]byte, error)
- func (p *FlowSpecComponent) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *FlowSpecComponent) String() string
- func (p *FlowSpecComponent) Type() BGPFlowSpecType
- type FlowSpecComponentInterface
- type FlowSpecComponentItem
- type FlowSpecDestinationMac
- func (p *FlowSpecDestinationMac) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *FlowSpecDestinationMac) Len(options ...*MarshallingOption) int
- func (p *FlowSpecDestinationMac) MarshalJSON() ([]byte, error)
- func (p *FlowSpecDestinationMac) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *FlowSpecDestinationMac) String() string
- func (p *FlowSpecDestinationMac) Type() BGPFlowSpecType
- type FlowSpecDestinationPrefix
- func (p *FlowSpecDestinationPrefix) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *FlowSpecDestinationPrefix) Len(options ...*MarshallingOption) int
- func (p *FlowSpecDestinationPrefix) MarshalJSON() ([]byte, error)
- func (p *FlowSpecDestinationPrefix) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *FlowSpecDestinationPrefix) String() string
- func (p *FlowSpecDestinationPrefix) Type() BGPFlowSpecType
- type FlowSpecDestinationPrefix6
- func (p *FlowSpecDestinationPrefix6) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *FlowSpecDestinationPrefix6) Len(options ...*MarshallingOption) int
- func (p *FlowSpecDestinationPrefix6) MarshalJSON() ([]byte, error)
- func (p *FlowSpecDestinationPrefix6) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *FlowSpecDestinationPrefix6) String() string
- func (p *FlowSpecDestinationPrefix6) Type() BGPFlowSpecType
- type FlowSpecIPv4Unicast
- type FlowSpecIPv4VPN
- type FlowSpecIPv6Unicast
- type FlowSpecIPv6VPN
- type FlowSpecL2VPN
- type FlowSpecNLRI
- func (n *FlowSpecNLRI) AFI() uint16
- func (n *FlowSpecNLRI) Len(options ...*MarshallingOption) int
- func (n *FlowSpecNLRI) MarshalJSON() ([]byte, error)
- func (n *FlowSpecNLRI) RD() RouteDistinguisherInterface
- func (n *FlowSpecNLRI) SAFI() uint8
- func (n *FlowSpecNLRI) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (n *FlowSpecNLRI) String() string
- type FlowSpecSourceMac
- func (p *FlowSpecSourceMac) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *FlowSpecSourceMac) Len(options ...*MarshallingOption) int
- func (p *FlowSpecSourceMac) MarshalJSON() ([]byte, error)
- func (p *FlowSpecSourceMac) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *FlowSpecSourceMac) String() string
- func (p *FlowSpecSourceMac) Type() BGPFlowSpecType
- type FlowSpecSourcePrefix
- func (p *FlowSpecSourcePrefix) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *FlowSpecSourcePrefix) Len(options ...*MarshallingOption) int
- func (p *FlowSpecSourcePrefix) MarshalJSON() ([]byte, error)
- func (p *FlowSpecSourcePrefix) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *FlowSpecSourcePrefix) String() string
- func (p *FlowSpecSourcePrefix) Type() BGPFlowSpecType
- type FlowSpecSourcePrefix6
- func (p *FlowSpecSourcePrefix6) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *FlowSpecSourcePrefix6) Len(options ...*MarshallingOption) int
- func (p *FlowSpecSourcePrefix6) MarshalJSON() ([]byte, error)
- func (p *FlowSpecSourcePrefix6) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *FlowSpecSourcePrefix6) String() string
- func (p *FlowSpecSourcePrefix6) Type() BGPFlowSpecType
- type FlowSpecUnknown
- func (p *FlowSpecUnknown) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *FlowSpecUnknown) Len(options ...*MarshallingOption) int
- func (p *FlowSpecUnknown) MarshalJSON() ([]byte, error)
- func (p *FlowSpecUnknown) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *FlowSpecUnknown) String() string
- func (p *FlowSpecUnknown) Type() BGPFlowSpecType
- type FourOctetAsSpecificExtended
- func (e *FourOctetAsSpecificExtended) Flat() map[string]string
- func (e *FourOctetAsSpecificExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *FourOctetAsSpecificExtended) MarshalJSON() ([]byte, error)
- func (e *FourOctetAsSpecificExtended) Serialize() ([]byte, error)
- func (e *FourOctetAsSpecificExtended) String() string
- type FragmentFlag
- type IPAddrPrefix
- func (r *IPAddrPrefix) AFI() uint16
- func (r *IPAddrPrefix) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (r *IPAddrPrefix) Len(options ...*MarshallingOption) int
- func (r *IPAddrPrefix) SAFI() uint8
- func (r *IPAddrPrefix) Serialize(options ...*MarshallingOption) ([]byte, error)
- type IPAddrPrefixDefault
- type IPv4AddressSpecificExtended
- func (e *IPv4AddressSpecificExtended) Flat() map[string]string
- func (e *IPv4AddressSpecificExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *IPv4AddressSpecificExtended) MarshalJSON() ([]byte, error)
- func (e *IPv4AddressSpecificExtended) Serialize() ([]byte, error)
- func (e *IPv4AddressSpecificExtended) String() string
- type IPv6AddrPrefix
- type IPv6AddressSpecificExtended
- func (e *IPv6AddressSpecificExtended) Flat() map[string]string
- func (e *IPv6AddressSpecificExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *IPv6AddressSpecificExtended) MarshalJSON() ([]byte, error)
- func (e *IPv6AddressSpecificExtended) Serialize() ([]byte, error)
- func (e *IPv6AddressSpecificExtended) String() string
- type IngressReplTunnelID
- type LabeledIPAddrPrefix
- func (r *LabeledIPAddrPrefix) AFI() uint16
- func (l *LabeledIPAddrPrefix) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (l *LabeledIPAddrPrefix) IPPrefixLen() uint8
- func (l *LabeledIPAddrPrefix) Len(options ...*MarshallingOption) int
- func (l *LabeledIPAddrPrefix) MarshalJSON() ([]byte, error)
- func (r *LabeledIPAddrPrefix) SAFI() uint8
- func (l *LabeledIPAddrPrefix) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (l *LabeledIPAddrPrefix) String() string
- type LabeledIPv6AddrPrefix
- type LabeledVPNIPAddrPrefix
- func (l *LabeledVPNIPAddrPrefix) AFI() uint16
- func (l *LabeledVPNIPAddrPrefix) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (l *LabeledVPNIPAddrPrefix) Flat() map[string]string
- func (l *LabeledVPNIPAddrPrefix) IPPrefix() string
- func (l *LabeledVPNIPAddrPrefix) IPPrefixLen() uint8
- func (l *LabeledVPNIPAddrPrefix) Len(options ...*MarshallingOption) int
- func (l *LabeledVPNIPAddrPrefix) MarshalJSON() ([]byte, error)
- func (l *LabeledVPNIPAddrPrefix) SAFI() uint8
- func (l *LabeledVPNIPAddrPrefix) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (l *LabeledVPNIPAddrPrefix) String() string
- type LabeledVPNIPv6AddrPrefix
- type LargeCommunity
- type Layer2EncapsulationType
- type LinkBandwidthExtended
- func (e *LinkBandwidthExtended) Flat() map[string]string
- func (e *LinkBandwidthExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *LinkBandwidthExtended) MarshalJSON() ([]byte, error)
- func (e *LinkBandwidthExtended) Serialize() ([]byte, error)
- func (e *LinkBandwidthExtended) String() string
- type LsAddrPrefix
- func (l *LsAddrPrefix) AFI() uint16
- func (l *LsAddrPrefix) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (l *LsAddrPrefix) Flat() map[string]string
- func (l *LsAddrPrefix) Len(...*MarshallingOption) int
- func (l *LsAddrPrefix) MarshalJSON() ([]byte, error)
- func (l *LsAddrPrefix) SAFI() uint8
- func (l *LsAddrPrefix) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (l *LsAddrPrefix) String() string
- type LsAttribute
- type LsAttributeBgpPeerSegment
- type LsAttributeBgpPeerSegmentSIDFlags
- type LsAttributeLink
- type LsAttributeNode
- type LsAttributePrefix
- type LsBgpPeerSegmentSID
- type LsIGPFlags
- type LsLinkDescriptor
- type LsLinkNLRI
- type LsNLRI
- type LsNLRIInterface
- type LsNLRIType
- type LsNodeDescriptor
- type LsNodeFlags
- type LsNodeNLRI
- type LsOspfRouteType
- type LsPrefixDescriptor
- type LsPrefixV4NLRI
- type LsPrefixV6NLRI
- type LsProtocolID
- type LsSrCapabilities
- type LsSrLabelRange
- type LsSrLocalBlock
- type LsSrRange
- type LsTLV
- type LsTLVAdjacencySID
- type LsTLVAdminGroup
- type LsTLVAutonomousSystem
- type LsTLVBgpConfederationMember
- type LsTLVBgpLsID
- type LsTLVBgpRouterID
- type LsTLVIGPFlags
- type LsTLVIGPMetric
- type LsTLVIPReachability
- type LsTLVIPv4InterfaceAddr
- type LsTLVIPv4NeighborAddr
- type LsTLVIPv6InterfaceAddr
- type LsTLVIPv6NeighborAddr
- type LsTLVIgpRouterID
- type LsTLVInterface
- type LsTLVIsisArea
- type LsTLVLinkID
- type LsTLVLinkName
- type LsTLVLocalIPv4RouterID
- type LsTLVLocalIPv6RouterID
- type LsTLVMaxLinkBw
- type LsTLVMaxReservableLinkBw
- type LsTLVNodeDescriptor
- type LsTLVNodeFlagBits
- type LsTLVNodeName
- type LsTLVOpaqueLinkAttr
- type LsTLVOpaqueNodeAttr
- type LsTLVOpaquePrefixAttr
- type LsTLVOspfAreaID
- type LsTLVOspfRouteType
- type LsTLVPeerAdjacencySID
- type LsTLVPeerNodeSID
- type LsTLVPeerSetSID
- type LsTLVPrefixSID
- type LsTLVRemoteIPv4RouterID
- type LsTLVRemoteIPv6RouterID
- type LsTLVSIDLabel
- type LsTLVSourceRouterID
- type LsTLVSrAlgorithm
- type LsTLVSrCapabilities
- type LsTLVSrLocalBlock
- type LsTLVSrlg
- type LsTLVTEDefaultMetric
- type LsTLVType
- type LsTLVUnreservedBw
- type MPLSLabelStack
- type MUPDirectSegmentDiscoveryRoute
- func (r *MUPDirectSegmentDiscoveryRoute) AFI() uint16
- func (r *MUPDirectSegmentDiscoveryRoute) DecodeFromBytes(data []byte, afi uint16) error
- func (r *MUPDirectSegmentDiscoveryRoute) Len() int
- func (r *MUPDirectSegmentDiscoveryRoute) MarshalJSON() ([]byte, error)
- func (r *MUPDirectSegmentDiscoveryRoute) Serialize() ([]byte, error)
- func (r *MUPDirectSegmentDiscoveryRoute) String() string
- type MUPExtended
- type MUPInterworkSegmentDiscoveryRoute
- func (r *MUPInterworkSegmentDiscoveryRoute) AFI() uint16
- func (r *MUPInterworkSegmentDiscoveryRoute) DecodeFromBytes(data []byte, afi uint16) error
- func (r *MUPInterworkSegmentDiscoveryRoute) Len() int
- func (r *MUPInterworkSegmentDiscoveryRoute) MarshalJSON() ([]byte, error)
- func (r *MUPInterworkSegmentDiscoveryRoute) Serialize() ([]byte, error)
- func (r *MUPInterworkSegmentDiscoveryRoute) String() string
- type MUPNLRI
- func NewMUPDirectSegmentDiscoveryRoute(rd RouteDistinguisherInterface, address netip.Addr) *MUPNLRI
- func NewMUPInterworkSegmentDiscoveryRoute(rd RouteDistinguisherInterface, prefix netip.Prefix) *MUPNLRI
- func NewMUPNLRI(afi uint16, at uint8, rt uint16, data MUPRouteTypeInterface) *MUPNLRI
- func NewMUPType1SessionTransformedRoute(rd RouteDistinguisherInterface, prefix netip.Prefix, teid uint32, qfi uint8, ...) *MUPNLRI
- func NewMUPType2SessionTransformedRoute(rd RouteDistinguisherInterface, ea netip.Addr, teid uint32) *MUPNLRI
- func (n *MUPNLRI) AFI() uint16
- func (n *MUPNLRI) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (l *MUPNLRI) Flat() map[string]string
- func (n *MUPNLRI) Len(options ...*MarshallingOption) int
- func (n *MUPNLRI) MarshalJSON() ([]byte, error)
- func (n *MUPNLRI) RD() RouteDistinguisherInterface
- func (n *MUPNLRI) SAFI() uint8
- func (n *MUPNLRI) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (n *MUPNLRI) String() string
- type MUPRouteTypeInterface
- type MUPType1SessionTransformedRoute
- func (r *MUPType1SessionTransformedRoute) AFI() uint16
- func (r *MUPType1SessionTransformedRoute) DecodeFromBytes(data []byte, afi uint16) error
- func (r *MUPType1SessionTransformedRoute) Len() int
- func (r *MUPType1SessionTransformedRoute) MarshalJSON() ([]byte, error)
- func (r *MUPType1SessionTransformedRoute) Serialize() ([]byte, error)
- func (r *MUPType1SessionTransformedRoute) String() string
- type MUPType2SessionTransformedRoute
- func (r *MUPType2SessionTransformedRoute) AFI() uint16
- func (r *MUPType2SessionTransformedRoute) DecodeFromBytes(data []byte, afi uint16) error
- func (r *MUPType2SessionTransformedRoute) Len() int
- func (r *MUPType2SessionTransformedRoute) MarshalJSON() ([]byte, error)
- func (r *MUPType2SessionTransformedRoute) Serialize() ([]byte, error)
- func (r *MUPType2SessionTransformedRoute) String() string
- type MacMobilityExtended
- func (e *MacMobilityExtended) Flat() map[string]string
- func (e *MacMobilityExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *MacMobilityExtended) MarshalJSON() ([]byte, error)
- func (e *MacMobilityExtended) Serialize() ([]byte, error)
- func (e *MacMobilityExtended) String() string
- type MarshallingOption
- type MessageError
- type NotificationErrorCode
- type OpaqueExtended
- type OpaqueNLRI
- func (n *OpaqueNLRI) AFI() uint16
- func (n *OpaqueNLRI) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (l *OpaqueNLRI) Flat() map[string]string
- func (n *OpaqueNLRI) Len(options ...*MarshallingOption) int
- func (n *OpaqueNLRI) MarshalJSON() ([]byte, error)
- func (n *OpaqueNLRI) SAFI() uint8
- func (n *OpaqueNLRI) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (n *OpaqueNLRI) String() string
- type OptionParameterCapability
- type OptionParameterInterface
- type OptionParameterUnknown
- type ParameterCapabilityInterface
- type PathAttribute
- func (p *PathAttribute) DecodeFromBytes(data []byte, options ...*MarshallingOption) (value []byte, err error)
- func (p *PathAttribute) Flat() map[string]string
- func (p *PathAttribute) GetFlags() BGPAttrFlag
- func (p *PathAttribute) GetType() BGPAttrType
- func (p *PathAttribute) Len(options ...*MarshallingOption) int
- func (p *PathAttribute) Serialize(value []byte, options ...*MarshallingOption) ([]byte, error)
- type PathAttributeAggregator
- func (p *PathAttributeAggregator) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeAggregator) MarshalJSON() ([]byte, error)
- func (p *PathAttributeAggregator) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeAggregator) String() string
- type PathAttributeAggregatorParam
- type PathAttributeAigp
- type PathAttributeAs4Aggregator
- func (p *PathAttributeAs4Aggregator) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeAs4Aggregator) MarshalJSON() ([]byte, error)
- func (p *PathAttributeAs4Aggregator) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeAs4Aggregator) String() string
- type PathAttributeAs4Path
- type PathAttributeAsPath
- type PathAttributeAtomicAggregate
- func (p *PathAttributeAtomicAggregate) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeAtomicAggregate) MarshalJSON() ([]byte, error)
- func (p *PathAttributeAtomicAggregate) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeAtomicAggregate) String() string
- type PathAttributeClusterList
- func (p *PathAttributeClusterList) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeClusterList) MarshalJSON() ([]byte, error)
- func (p *PathAttributeClusterList) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeClusterList) String() string
- type PathAttributeCommunities
- func (p *PathAttributeCommunities) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeCommunities) MarshalJSON() ([]byte, error)
- func (p *PathAttributeCommunities) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeCommunities) String() string
- type PathAttributeExtendedCommunities
- func (p *PathAttributeExtendedCommunities) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeExtendedCommunities) Flat() map[string]string
- func (p *PathAttributeExtendedCommunities) MarshalJSON() ([]byte, error)
- func (p *PathAttributeExtendedCommunities) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeExtendedCommunities) String() string
- type PathAttributeIP6ExtendedCommunities
- func (p *PathAttributeIP6ExtendedCommunities) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeIP6ExtendedCommunities) MarshalJSON() ([]byte, error)
- func (p *PathAttributeIP6ExtendedCommunities) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeIP6ExtendedCommunities) String() string
- type PathAttributeInterface
- type PathAttributeLargeCommunities
- func (p *PathAttributeLargeCommunities) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeLargeCommunities) MarshalJSON() ([]byte, error)
- func (p *PathAttributeLargeCommunities) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeLargeCommunities) String() string
- type PathAttributeLocalPref
- func (p *PathAttributeLocalPref) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeLocalPref) MarshalJSON() ([]byte, error)
- func (p *PathAttributeLocalPref) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeLocalPref) String() string
- type PathAttributeLs
- func (p *PathAttributeLs) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeLs) Extract() *LsAttribute
- func (p *PathAttributeLs) MarshalJSON() ([]byte, error)
- func (p *PathAttributeLs) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeLs) String() string
- type PathAttributeMpReachNLRI
- func (p *PathAttributeMpReachNLRI) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeMpReachNLRI) MarshalJSON() ([]byte, error)
- func (p *PathAttributeMpReachNLRI) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeMpReachNLRI) String() string
- type PathAttributeMpUnreachNLRI
- func (p *PathAttributeMpUnreachNLRI) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeMpUnreachNLRI) MarshalJSON() ([]byte, error)
- func (p *PathAttributeMpUnreachNLRI) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeMpUnreachNLRI) String() string
- type PathAttributeMultiExitDisc
- func (p *PathAttributeMultiExitDisc) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeMultiExitDisc) MarshalJSON() ([]byte, error)
- func (p *PathAttributeMultiExitDisc) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeMultiExitDisc) String() string
- type PathAttributeNextHop
- type PathAttributeOrigin
- type PathAttributeOriginatorId
- func (p *PathAttributeOriginatorId) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeOriginatorId) MarshalJSON() ([]byte, error)
- func (p *PathAttributeOriginatorId) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeOriginatorId) String() string
- type PathAttributePmsiTunnel
- func (p *PathAttributePmsiTunnel) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributePmsiTunnel) MarshalJSON() ([]byte, error)
- func (p *PathAttributePmsiTunnel) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributePmsiTunnel) String() string
- type PathAttributePrefixSID
- func (p *PathAttributePrefixSID) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributePrefixSID) Extract() *PrefixSIDAttribute
- func (p *PathAttributePrefixSID) MarshalJSON() ([]byte, error)
- func (p *PathAttributePrefixSID) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributePrefixSID) String() string
- type PathAttributeTunnelEncap
- func (p *PathAttributeTunnelEncap) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (p *PathAttributeTunnelEncap) MarshalJSON() ([]byte, error)
- func (p *PathAttributeTunnelEncap) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (p *PathAttributeTunnelEncap) String() string
- type PathAttributeUnknown
- type PmsiTunnelIDInterface
- type PmsiTunnelType
- type PrefixDefault
- type PrefixSIDAttribute
- type PrefixSIDTLVInterface
- type Protocol
- type RedirectFourOctetAsSpecificExtended
- func (e *RedirectFourOctetAsSpecificExtended) Flat() map[string]string
- func (e *RedirectFourOctetAsSpecificExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *RedirectFourOctetAsSpecificExtended) MarshalJSON() ([]byte, error)
- func (e *RedirectFourOctetAsSpecificExtended) Serialize() ([]byte, error)
- func (e *RedirectFourOctetAsSpecificExtended) String() string
- type RedirectIPv4AddressSpecificExtended
- func (e *RedirectIPv4AddressSpecificExtended) Flat() map[string]string
- func (e *RedirectIPv4AddressSpecificExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *RedirectIPv4AddressSpecificExtended) MarshalJSON() ([]byte, error)
- func (e *RedirectIPv4AddressSpecificExtended) Serialize() ([]byte, error)
- func (e *RedirectIPv4AddressSpecificExtended) String() string
- type RedirectIPv6AddressSpecificExtended
- func (e *RedirectIPv6AddressSpecificExtended) Flat() map[string]string
- func (e *RedirectIPv6AddressSpecificExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *RedirectIPv6AddressSpecificExtended) MarshalJSON() ([]byte, error)
- func (e *RedirectIPv6AddressSpecificExtended) Serialize() ([]byte, error)
- func (e *RedirectIPv6AddressSpecificExtended) String() string
- type RedirectTwoOctetAsSpecificExtended
- func (e *RedirectTwoOctetAsSpecificExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *RedirectTwoOctetAsSpecificExtended) MarshalJSON() ([]byte, error)
- func (e *RedirectTwoOctetAsSpecificExtended) Serialize() ([]byte, error)
- func (e *RedirectTwoOctetAsSpecificExtended) String() string
- type RouteDistinguisherFourOctetAS
- type RouteDistinguisherIPAddressAS
- type RouteDistinguisherInterface
- type RouteDistinguisherTwoOctetAS
- type RouteDistinguisherUnknown
- type RouteFamily
- type RouteTargetMembershipNLRI
- func (n *RouteTargetMembershipNLRI) AFI() uint16
- func (n *RouteTargetMembershipNLRI) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (l *RouteTargetMembershipNLRI) Flat() map[string]string
- func (n *RouteTargetMembershipNLRI) Len(options ...*MarshallingOption) int
- func (n *RouteTargetMembershipNLRI) MarshalJSON() ([]byte, error)
- func (n *RouteTargetMembershipNLRI) SAFI() uint8
- func (n *RouteTargetMembershipNLRI) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (n *RouteTargetMembershipNLRI) String() string
- type RouterMacExtended
- func (e *RouterMacExtended) Flat() map[string]string
- func (e *RouterMacExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *RouterMacExtended) MarshalJSON() ([]byte, error)
- func (e *RouterMacExtended) Serialize() ([]byte, error)
- func (e *RouterMacExtended) String() string
- type SRBehavior
- type SRENLPValue
- type SRPolicyIPv4
- type SRPolicyIPv6
- type SRPolicyNLRI
- func (s *SRPolicyNLRI) AFI() uint16
- func (s *SRPolicyNLRI) Flat() map[string]string
- func (s *SRPolicyNLRI) Len(options ...*MarshallingOption) int
- func (s *SRPolicyNLRI) MarshalJSON() ([]byte, error)
- func (s *SRPolicyNLRI) SAFI() uint8
- func (s *SRPolicyNLRI) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (s *SRPolicyNLRI) String() string
- type SRv6EndpointBehaviorStructure
- type SRv6InformationSTLV
- type SRv6InformationSubTLV
- func (s *SRv6InformationSubTLV) DecodeFromBytes(data []byte) error
- func (s *SRv6InformationSubTLV) Extract() *SRv6InformationSTLV
- func (s *SRv6InformationSubTLV) Len() int
- func (s *SRv6InformationSubTLV) MarshalJSON() ([]byte, error)
- func (s *SRv6InformationSubTLV) Serialize() ([]byte, error)
- func (s *SRv6InformationSubTLV) String() string
- type SRv6L3Service
- type SRv6L3ServiceAttribute
- func (s *SRv6L3ServiceAttribute) DecodeFromBytes(data []byte) error
- func (s *SRv6L3ServiceAttribute) Extract() *SRv6L3Service
- func (s *SRv6L3ServiceAttribute) Len() int
- func (s *SRv6L3ServiceAttribute) MarshalJSON() ([]byte, error)
- func (s *SRv6L3ServiceAttribute) Serialize() ([]byte, error)
- func (s *SRv6L3ServiceAttribute) String() string
- type SRv6SIDStructureSubSubTLV
- type SRv6ServiceTLV
- type SegmentListWeight
- type SegmentType
- type SegmentTypeA
- type SegmentTypeB
- type SubSubTLV
- type SubSubTLVType
- type SubTLV
- type SubTLVType
- type TCPFlag
- type TLV
- type TLVType
- type TrafficActionExtended
- func (e *TrafficActionExtended) Flat() map[string]string
- func (e *TrafficActionExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *TrafficActionExtended) MarshalJSON() ([]byte, error)
- func (e *TrafficActionExtended) Serialize() ([]byte, error)
- func (e *TrafficActionExtended) String() string
- type TrafficRateExtended
- func (e *TrafficRateExtended) Flat() map[string]string
- func (e *TrafficRateExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *TrafficRateExtended) MarshalJSON() ([]byte, error)
- func (e *TrafficRateExtended) Serialize() ([]byte, error)
- func (e *TrafficRateExtended) String() string
- type TrafficRemarkExtended
- func (e *TrafficRemarkExtended) Flat() map[string]string
- func (e *TrafficRemarkExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *TrafficRemarkExtended) MarshalJSON() ([]byte, error)
- func (e *TrafficRemarkExtended) Serialize() ([]byte, error)
- func (e *TrafficRemarkExtended) String() string
- type TunnelEncapSubTLV
- type TunnelEncapSubTLVColor
- type TunnelEncapSubTLVEgressEndpoint
- type TunnelEncapSubTLVEncapsulation
- type TunnelEncapSubTLVInterface
- type TunnelEncapSubTLVProtocol
- type TunnelEncapSubTLVSRBSID
- type TunnelEncapSubTLVSRCandidatePathName
- type TunnelEncapSubTLVSRENLP
- type TunnelEncapSubTLVSRPreference
- type TunnelEncapSubTLVSRPriority
- type TunnelEncapSubTLVSRSegmentList
- type TunnelEncapSubTLVSRv6BSID
- type TunnelEncapSubTLVUDPDestPort
- type TunnelEncapSubTLVUnknown
- type TunnelEncapTLV
- type TunnelType
- type TwoOctetAsSpecificExtended
- func (e *TwoOctetAsSpecificExtended) Flat() map[string]string
- func (e *TwoOctetAsSpecificExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *TwoOctetAsSpecificExtended) MarshalJSON() ([]byte, error)
- func (e *TwoOctetAsSpecificExtended) Serialize() ([]byte, error)
- func (e *TwoOctetAsSpecificExtended) String() string
- type UnknownExtended
- type VPLSExtended
- type VPLSNLRI
- func (n *VPLSNLRI) AFI() uint16
- func (n *VPLSNLRI) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
- func (l *VPLSNLRI) Flat() map[string]string
- func (n *VPLSNLRI) Len(options ...*MarshallingOption) int
- func (n *VPLSNLRI) MarshalJSON() ([]byte, error)
- func (n *VPLSNLRI) RD() RouteDistinguisherInterface
- func (n *VPLSNLRI) SAFI() uint8
- func (n *VPLSNLRI) Serialize(options ...*MarshallingOption) ([]byte, error)
- func (n *VPLSNLRI) String() string
- type ValidationExtended
- func (e *ValidationExtended) Flat() map[string]string
- func (e *ValidationExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
- func (e *ValidationExtended) MarshalJSON() ([]byte, error)
- func (e *ValidationExtended) Serialize() ([]byte, error)
- func (e *ValidationExtended) String() string
- type ValidationState
- type WellKnownCommunity
Constants ¶
const ( AFI_IP = 1 AFI_IP6 = 2 AFI_L2VPN = 25 AFI_LS = 16388 AFI_OPAQUE = 16397 )
const ( SAFI_UNICAST = 1 SAFI_MULTICAST = 2 SAFI_MPLS_LABEL = 4 SAFI_ENCAPSULATION = 7 SAFI_VPLS = 65 SAFI_EVPN = 70 SAFI_LS = 71 SAFI_SRPOLICY = 73 SAFI_MUP = 85 SAFI_MPLS_VPN = 128 SAFI_MPLS_VPN_MULTICAST = 129 SAFI_ROUTE_TARGET_CONSTRAINTS = 132 SAFI_FLOW_SPEC_UNICAST = 133 SAFI_FLOW_SPEC_VPN = 134 SAFI_KEY_VALUE = 241 )
const ( BGP_ORIGIN_ATTR_TYPE_IGP uint8 = 0 BGP_ORIGIN_ATTR_TYPE_EGP uint8 = 1 BGP_ORIGIN_ATTR_TYPE_INCOMPLETE uint8 = 2 )
const ( BGP_ASPATH_ATTR_TYPE_SET = 1 BGP_ASPATH_ATTR_TYPE_SEQ = 2 BGP_ASPATH_ATTR_TYPE_CONFED_SEQ = 3 BGP_ASPATH_ATTR_TYPE_CONFED_SET = 4 )
const ( BGP_ATTR_NHLEN_IPV6_GLOBAL = 16 BGP_ATTR_NHLEN_IPV6_GLOBAL_AND_LL = 32 )
const ( BGP_MSG_OPEN BGP_MSG_UPDATE BGP_MSG_NOTIFICATION BGP_MSG_KEEPALIVE BGP_MSG_ROUTE_REFRESH )
const ( BGP_RD_TWO_OCTET_AS = iota BGP_RD_IPV4_ADDRESS BGP_RD_FOUR_OCTET_AS )
const ( EVPN_ROUTE_TYPE_ETHERNET_AUTO_DISCOVERY = 1 EVPN_ROUTE_TYPE_MAC_IP_ADVERTISEMENT = 2 EVPN_INCLUSIVE_MULTICAST_ETHERNET_TAG = 3 EVPN_ETHERNET_SEGMENT_ROUTE = 4 EVPN_IP_PREFIX = 5 EVPN_I_PMSI = 9 )
const ( LS_PROTOCOL_UNKNOWN = iota LS_PROTOCOL_ISIS_L1 LS_PROTOCOL_ISIS_L2 LS_PROTOCOL_OSPF_V2 LS_PROTOCOL_DIRECT LS_PROTOCOL_STATIC LS_PROTOCOL_OSPF_V3 LS_PROTOCOL_BGP )
const ( LS_TLV_UNKNOWN LsTLVType = iota LS_TLV_LOCAL_NODE_DESC = 256 LS_TLV_REMOTE_NODE_DESC = 257 LS_TLV_LINK_ID = 258 LS_TLV_IPV4_INTERFACE_ADDR = 259 LS_TLV_IPV4_NEIGHBOR_ADDR = 260 LS_TLV_IPV6_INTERFACE_ADDR = 261 LS_TLV_IPV6_NEIGHBOR_ADDR = 262 LS_TLV_MULTI_TOPO_ID = 263 LS_TLV_OSPF_ROUTE_TYPE = 264 LS_TLV_IP_REACH_INFO = 265 LS_TLV_AS = 512 LS_TLV_BGP_LS_ID = 513 LS_TLV_OSPF_AREA = 514 LS_TLV_IGP_ROUTER_ID = 515 LS_TLV_BGP_ROUTER_ID = 516 // RFC9086 LS_TLV_BGP_CONFEDERATION_MEMBER = 517 // RFC9086 LS_TLV_NODE_FLAG_BITS = 1024 LS_TLV_OPAQUE_NODE_ATTR = 1025 LS_TLV_NODE_NAME = 1026 LS_TLV_ISIS_AREA = 1027 LS_TLV_IPV4_LOCAL_ROUTER_ID = 1028 LS_TLV_IPV6_LOCAL_ROUTER_ID = 1029 LS_TLV_IPV4_REMOTE_ROUTER_ID = 1030 LS_TLV_IPV6_REMOTE_ROUTER_ID = 1031 LS_TLV_SR_CAPABILITIES = 1034 // draft-ietf-idr-bgp-ls-segment-routing-ext LS_TLV_SR_ALGORITHM = 1035 // draft-ietf-idr-bgp-ls-segment-routing-ext LS_TLV_SR_LOCAL_BLOCK = 1036 // draft-ietf-idr-bgp-ls-segment-routing-ext LS_TLV_SRMS_PREFERENCE = 1037 // draft-ietf-idr-bgp-ls-segment-routing-ext, TODO LS_TLV_ADMIN_GROUP = 1088 LS_TLV_MAX_LINK_BANDWIDTH = 1089 LS_TLV_MAX_RESERVABLE_BANDWIDTH = 1090 LS_TLV_UNRESERVED_BANDWIDTH = 1091 LS_TLV_TE_DEFAULT_METRIC = 1092 LS_TLV_LINK_PROTECTION_TYPE = 1093 // TODO LS_TLV_MPLS_PROTOCOL_MASK = 1094 // TODO LS_TLV_IGP_METRIC = 1095 LS_TLV_SRLG = 1096 LS_TLV_OPAQUE_LINK_ATTR = 1097 LS_TLV_LINK_NAME = 1098 LS_TLV_ADJACENCY_SID = 1099 // draft-ietf-idr-bgp-ls-segment-routing-ext LS_TLV_LAN_ADJACENCY_SID = 1100 // draft-ietf-idr-bgp-ls-segment-routing-ext, TODO LS_TLV_PEER_NODE_SID = 1101 // RFC9086 LS_TLV_PEER_ADJACENCY_SID = 1102 // RFC9086 LS_TLV_PEER_SET_SID = 1103 // RFC9086 LS_TLV_RTM_CAPABILITY = 1105 // RFC8169, TODO LS_TLV_IGP_FLAGS = 1152 LS_TLV_IGP_ROUTE_TAG = 1153 // TODO LS_TLV_EXTENDED_ROUTE_TAG = 1154 // TODO LS_TLV_PREFIX_METRIC = 1155 // TODO LS_TLV_OSPF_FORWARDING_ADDR = 1156 // TODO LS_TLV_OPAQUE_PREFIX_ATTR = 1157 LS_TLV_PREFIX_SID = 1158 // draft-ietf-idr-bgp-ls-segment-routing-ext LS_TLV_RANGE = 1159 // draft-ietf-idr-bgp-ls-segment-routing-ext, TODO LS_TLV_SID_LABEL_TLV = 1161 // draft-ietf-idr-bgp-ls-segment-routing-ext LS_TLV_PREFIX_ATTRIBUTE_FLAGS = 1170 // draft-ietf-idr-bgp-ls-segment-routing-ext, TODO LS_TLV_SOURCE_ROUTER_ID = 1171 // draft-ietf-idr-bgp-ls-segment-routing-ext, TODO LS_TLV_L2_BUNDLE_MEMBER_TLV = 1172 // draft-ietf-idr-bgp-ls-segment-routing-ext, TODO )
Based on https://www.iana.org/assignments/bgp-ls-parameters/bgp-ls-parameters.xhtml
const ( LS_OSPF_ROUTE_TYPE_UNKNOWN = iota LS_OSPF_ROUTE_TYPE_INTRA_AREA LS_OSPF_ROUTE_TYPE_INTER_AREA LS_OSPF_ROUTE_TYPE_EXTERNAL1 LS_OSPF_ROUTE_TYPE_EXTERNAL2 LS_OSPF_ROUTE_TYPE_NSSA1 LS_OSPF_ROUTE_TYPE_NSSA2 )
const ( BGP_ERROR_MESSAGE_HEADER_ERROR BGP_ERROR_OPEN_MESSAGE_ERROR BGP_ERROR_UPDATE_MESSAGE_ERROR BGP_ERROR_HOLD_TIMER_EXPIRED BGP_ERROR_FSM_ERROR BGP_ERROR_CEASE BGP_ERROR_ROUTE_REFRESH_MESSAGE_ERROR )
NOTIFICATION Error Code RFC 4271 4.5.
const ( BGP_ERROR_SUB_CONNECTION_NOT_SYNCHRONIZED BGP_ERROR_SUB_BAD_MESSAGE_LENGTH BGP_ERROR_SUB_BAD_MESSAGE_TYPE )
NOTIFICATION Error Subcode for BGP_ERROR_MESSAGE_HEADER_ERROR
const ( BGP_ERROR_SUB_UNSUPPORTED_VERSION_NUMBER BGP_ERROR_SUB_BAD_PEER_AS BGP_ERROR_SUB_BAD_BGP_IDENTIFIER BGP_ERROR_SUB_UNSUPPORTED_OPTIONAL_PARAMETER BGP_ERROR_SUB_DEPRECATED_AUTHENTICATION_FAILURE BGP_ERROR_SUB_UNACCEPTABLE_HOLD_TIME BGP_ERROR_SUB_UNSUPPORTED_CAPABILITY )
NOTIFICATION Error Subcode for BGP_ERROR_OPEN_MESSAGE_ERROR
const ( BGP_ERROR_SUB_MALFORMED_ATTRIBUTE_LIST BGP_ERROR_SUB_UNRECOGNIZED_WELL_KNOWN_ATTRIBUTE BGP_ERROR_SUB_MISSING_WELL_KNOWN_ATTRIBUTE BGP_ERROR_SUB_ATTRIBUTE_FLAGS_ERROR BGP_ERROR_SUB_ATTRIBUTE_LENGTH_ERROR BGP_ERROR_SUB_INVALID_ORIGIN_ATTRIBUTE BGP_ERROR_SUB_DEPRECATED_ROUTING_LOOP BGP_ERROR_SUB_INVALID_NEXT_HOP_ATTRIBUTE BGP_ERROR_SUB_OPTIONAL_ATTRIBUTE_ERROR BGP_ERROR_SUB_INVALID_NETWORK_FIELD BGP_ERROR_SUB_MALFORMED_AS_PATH )
NOTIFICATION Error Subcode for BGP_ERROR_UPDATE_MESSAGE_ERROR
const ( BGP_ERROR_SUB_RECEIVE_UNEXPECTED_MESSAGE_IN_OPENSENT_STATE BGP_ERROR_SUB_RECEIVE_UNEXPECTED_MESSAGE_IN_OPENCONFIRM_STATE BGP_ERROR_SUB_RECEIVE_UNEXPECTED_MESSAGE_IN_ESTABLISHED_STATE )
NOTIFICATION Error Subcode for BGP_ERROR_FSM_ERROR
const ( BGP_ERROR_SUB_MAXIMUM_NUMBER_OF_PREFIXES_REACHED BGP_ERROR_SUB_ADMINISTRATIVE_SHUTDOWN BGP_ERROR_SUB_PEER_DECONFIGURED BGP_ERROR_SUB_ADMINISTRATIVE_RESET BGP_ERROR_SUB_CONNECTION_REJECTED BGP_ERROR_SUB_OTHER_CONFIGURATION_CHANGE BGP_ERROR_SUB_CONNECTION_COLLISION_RESOLUTION BGP_ERROR_SUB_OUT_OF_RESOURCES BGP_ERROR_SUB_HARD_RESET //draft-ietf-idr-bgp-gr-notification-07 )
NOTIFICATION Error Subcode for BGP_ERROR_CEASE (RFC 4486)
const ( EGRESS_ENDPOINT_RESERVED_POS = 0 EGRESS_ENDPOINT_FAMILY_POS = 4 EGRESS_ENDPOINT_ADDRESS_POS = 6 )
Tunnel Egress Endpoint Sub-TLV subfield positions
const ( BGP_HEADER_LENGTH = 19 BGP_MAX_MESSAGE_LENGTH = 4096 )
const ( Unknown Protocol = iota ICMP = 0x01 IGMP = 0x02 TCP = 0x06 EGP = 0x08 IGP = 0x09 UDP = 0x11 RSVP = 0x2e GRE = 0x2f OSPF = 0x59 IPIP = 0x5e PIM = 0x67 SCTP = 0x84 )
const ( TCP_FLAG_FIN = 0x01 TCP_FLAG_SYN = 0x02 TCP_FLAG_RST = 0x04 TCP_FLAG_PUSH = 0x08 TCP_FLAG_ACK = 0x10 TCP_FLAG_URGENT = 0x20 TCP_FLAG_ECE = 0x40 TCP_FLAG_CWR = 0x80 )
const ( BITMASK_FLAG_OP_OR BitmaskFlagOp = iota BITMASK_FLAG_OP_MATCH = 0x01 BITMASK_FLAG_OP_NOT = 0x02 BITMASK_FLAG_OP_NOT_MATCH = 0x03 BITMASK_FLAG_OP_AND = 0x40 BITMASK_FLAG_OP_END = 0x80 )
const ( FRAG_FLAG_NOT FragmentFlag = iota FRAG_FLAG_DONT = 0x01 FRAG_FLAG_IS = 0x02 FRAG_FLAG_FIRST = 0x04 FRAG_FLAG_LAST = 0x08 )
const ( DEC_NUM_OP_TRUE DECNumOp = iota // true always with END bit set DEC_NUM_OP_EQ = 0x01 DEC_NUM_OP_GT = 0x02 DEC_NUM_OP_GT_EQ = 0x03 DEC_NUM_OP_LT = 0x04 DEC_NUM_OP_LT_EQ = 0x05 DEC_NUM_OP_NOT_EQ = 0x06 DEC_NUM_OP_FALSE = 0x07 // false always with END bit set DEC_NUM_OP_OR = 0x00 DEC_NUM_OP_AND = 0x40 DEC_NUM_OP_END = 0x80 )
const ( MUP_ARCH_TYPE_UNDEFINED = iota MUP_ARCH_TYPE_3GPP_5G )
BGP MUP SAFI Architecture Type as described in https://datatracker.ietf.org/doc/html/draft-mpmz-bess-mup-safi-00#section-3.1
const ( MUP_ROUTE_TYPE_INTERWORK_SEGMENT_DISCOVERY MUP_ROUTE_TYPE_DIRECT_SEGMENT_DISCOVERY MUP_ROUTE_TYPE_TYPE_1_SESSION_TRANSFORMED MUP_ROUTE_TYPE_TYPE_2_SESSION_TRANSFORMED )
BGP MUP SAFI Route Type as described in https://datatracker.ietf.org/doc/html/draft-mpmz-bess-mup-safi-00#section-3.1
const ( // SRPolicyIPv4NLRILen defines IPv4 SR Policy NLRI portion length in bits SRPolicyIPv4NLRILen = 96 // SRPolicyIPv6NLRILen defines IPv6 SR Policy NLRI portion length in bits SRPolicyIPv6NLRILen = 192 )
const AS_TRANS = 23456
const (
BGP_ERROR_ADMINISTRATIVE_COMMUNICATION_MAX = 128
)
Constants for BGP_ERROR_SUB_ADMINISTRATIVE_SHUTDOWN and BGP_ERROR_SUB_ADMINISTRATIVE_RESET
const (
BGP_ERROR_SUB_HOLD_TIMER_EXPIRED
)
NOTIFICATION Error Subcode for BGP_ERROR_HOLD_TIMER_EXPIRED
const (
BGP_ERROR_SUB_INVALID_MESSAGE_LENGTH
)
NOTIFICATION Error Subcode for BGP_ERROR_ROUTE_REFRESH
const (
BGP_OPT_CAPABILITY = 2
)
const BGP_PORT = 179
const (
// SegmentListSubTLVWeight defines code for Segment List's Weight sub-TLV
SegmentListSubTLVWeight = 9
)
const WITHDRAW_LABEL = uint32(0x800000)
RFC3107 Carrying Label Information in BGP-4
3. Carrying Label Mapping Information
The label information carried (as part of NLRI) in the Withdrawn Routes field should be set to 0x800000.
const ZERO_LABEL = uint32(0) // some platform uses this as withdraw label
Variables ¶
var AddressFamilyNameMap = map[RouteFamily]string{ RF_IPv4_UC: "ipv4-unicast", RF_IPv6_UC: "ipv6-unicast", RF_IPv4_MC: "ipv4-multicast", RF_IPv6_MC: "ipv6-multicast", RF_IPv4_MPLS: "ipv4-labelled-unicast", RF_IPv6_MPLS: "ipv6-labelled-unicast", RF_IPv4_VPN: "l3vpn-ipv4-unicast", RF_IPv6_VPN: "l3vpn-ipv6-unicast", RF_IPv4_VPN_MC: "l3vpn-ipv4-multicast", RF_IPv6_VPN_MC: "l3vpn-ipv6-multicast", RF_VPLS: "l2vpn-vpls", RF_EVPN: "l2vpn-evpn", RF_RTC_UC: "rtc", RF_IPv4_ENCAP: "ipv4-encap", RF_IPv6_ENCAP: "ipv6-encap", RF_FS_IPv4_UC: "ipv4-flowspec", RF_FS_IPv4_VPN: "l3vpn-ipv4-flowspec", RF_FS_IPv6_UC: "ipv6-flowspec", RF_FS_IPv6_VPN: "l3vpn-ipv6-flowspec", RF_FS_L2_VPN: "l2vpn-flowspec", RF_OPAQUE: "opaque", RF_LS: "ls", RF_SR_POLICY_IPv4: "ipv4-srpolicy", RF_SR_POLICY_IPv6: "ipv6-srpolicy", RF_MUP_IPv4: "ipv4-mup", RF_MUP_IPv6: "ipv6-mup", }
var AddressFamilyValueMap = map[string]RouteFamily{ AddressFamilyNameMap[RF_IPv4_UC]: RF_IPv4_UC, AddressFamilyNameMap[RF_IPv6_UC]: RF_IPv6_UC, AddressFamilyNameMap[RF_IPv4_MC]: RF_IPv4_MC, AddressFamilyNameMap[RF_IPv6_MC]: RF_IPv6_MC, AddressFamilyNameMap[RF_IPv4_MPLS]: RF_IPv4_MPLS, AddressFamilyNameMap[RF_IPv6_MPLS]: RF_IPv6_MPLS, AddressFamilyNameMap[RF_IPv4_VPN]: RF_IPv4_VPN, AddressFamilyNameMap[RF_IPv6_VPN]: RF_IPv6_VPN, AddressFamilyNameMap[RF_IPv4_VPN_MC]: RF_IPv4_VPN_MC, AddressFamilyNameMap[RF_IPv6_VPN_MC]: RF_IPv6_VPN_MC, AddressFamilyNameMap[RF_VPLS]: RF_VPLS, AddressFamilyNameMap[RF_EVPN]: RF_EVPN, AddressFamilyNameMap[RF_RTC_UC]: RF_RTC_UC, AddressFamilyNameMap[RF_IPv4_ENCAP]: RF_IPv4_ENCAP, AddressFamilyNameMap[RF_IPv6_ENCAP]: RF_IPv6_ENCAP, AddressFamilyNameMap[RF_FS_IPv4_UC]: RF_FS_IPv4_UC, AddressFamilyNameMap[RF_FS_IPv4_VPN]: RF_FS_IPv4_VPN, AddressFamilyNameMap[RF_FS_IPv6_UC]: RF_FS_IPv6_UC, AddressFamilyNameMap[RF_FS_IPv6_VPN]: RF_FS_IPv6_VPN, AddressFamilyNameMap[RF_FS_L2_VPN]: RF_FS_L2_VPN, AddressFamilyNameMap[RF_OPAQUE]: RF_OPAQUE, AddressFamilyNameMap[RF_LS]: RF_LS, AddressFamilyNameMap[RF_SR_POLICY_IPv4]: RF_SR_POLICY_IPv4, AddressFamilyNameMap[RF_SR_POLICY_IPv6]: RF_SR_POLICY_IPv6, AddressFamilyNameMap[RF_MUP_IPv4]: RF_MUP_IPv4, AddressFamilyNameMap[RF_MUP_IPv6]: RF_MUP_IPv6, }
var BitmaskFlagOpNameMap = map[BitmaskFlagOp]string{ BITMASK_FLAG_OP_OR: " ", BITMASK_FLAG_OP_AND: "&", BITMASK_FLAG_OP_END: "E", BITMASK_FLAG_OP_NOT: "!", BITMASK_FLAG_OP_MATCH: "=", }
var BitmaskFlagOpValueMap = map[string]BitmaskFlagOp{ " ": BITMASK_FLAG_OP_OR, "": BITMASK_FLAG_OP_OR, "==": BITMASK_FLAG_OP_MATCH, "=": BITMASK_FLAG_OP_MATCH, "!": BITMASK_FLAG_OP_NOT, "!=": BITMASK_FLAG_OP_NOT_MATCH, "=!": BITMASK_FLAG_OP_NOT_MATCH, "&": BITMASK_FLAG_OP_AND, "E": BITMASK_FLAG_OP_END, }
Note: Meaning of "" is different from that of the numeric operator because RFC5575 says if the Match bit in the bitmask operand is set, it should be "strictly" matching against the given value.
var CapNameMap = map[BGPCapabilityCode]string{ BGP_CAP_MULTIPROTOCOL: "multiprotocol", BGP_CAP_ROUTE_REFRESH: "route-refresh", BGP_CAP_CARRYING_LABEL_INFO: "carrying-label-info", BGP_CAP_GRACEFUL_RESTART: "graceful-restart", BGP_CAP_EXTENDED_NEXTHOP: "extended-nexthop", BGP_CAP_FOUR_OCTET_AS_NUMBER: "4-octet-as", BGP_CAP_ADD_PATH: "add-path", BGP_CAP_ENHANCED_ROUTE_REFRESH: "enhanced-route-refresh", BGP_CAP_ROUTE_REFRESH_CISCO: "cisco-route-refresh", BGP_CAP_LONG_LIVED_GRACEFUL_RESTART: "long-lived-graceful-restart", BGP_CAP_FQDN: "fqdn", BGP_CAP_SOFT_VERSION: "software-version", }
var DECNumOpNameMap = map[DECNumOp]string{ DEC_NUM_OP_TRUE: "true", DEC_NUM_OP_EQ: "==", DEC_NUM_OP_GT: ">", DEC_NUM_OP_GT_EQ: ">=", DEC_NUM_OP_LT: "<", DEC_NUM_OP_LT_EQ: "<=", DEC_NUM_OP_NOT_EQ: "!=", DEC_NUM_OP_FALSE: "false", DEC_NUM_OP_AND: "&", DEC_NUM_OP_END: "E", }
var DECNumOpValueMap = map[string]DECNumOp{ "true": DEC_NUM_OP_TRUE, "": DEC_NUM_OP_EQ, "==": DEC_NUM_OP_EQ, "=": DEC_NUM_OP_EQ, ">": DEC_NUM_OP_GT, ">=": DEC_NUM_OP_GT_EQ, "<": DEC_NUM_OP_LT, "<=": DEC_NUM_OP_LT_EQ, "!=": DEC_NUM_OP_NOT_EQ, "=!": DEC_NUM_OP_NOT_EQ, "!": DEC_NUM_OP_NOT_EQ, "false": DEC_NUM_OP_FALSE, " ": DEC_NUM_OP_OR, "&": DEC_NUM_OP_AND, "E": DEC_NUM_OP_END, }
var EthernetTypeNameMap = map[EthernetType]string{ IPv4: "ipv4", ARP: "arp", RARP: "rarp", VMTP: "vmtp", APPLE_TALK: "apple-talk", AARP: "aarp", IPX: "ipx", SNMP: "snmp", NET_BIOS: "net-bios", XTP: "xtp", IPv6: "ipv6", PPPoE_DISCOVERY: "pppoe-discovery", PPPoE_SESSION: "pppoe-session", LOOPBACK: "loopback", }
var FlowSpecNameMap = map[BGPFlowSpecType]string{ FLOW_SPEC_TYPE_UNKNOWN: "unknown", FLOW_SPEC_TYPE_DST_PREFIX: "destination", FLOW_SPEC_TYPE_SRC_PREFIX: "source", FLOW_SPEC_TYPE_IP_PROTO: "protocol", FLOW_SPEC_TYPE_PORT: "port", FLOW_SPEC_TYPE_DST_PORT: "destination-port", FLOW_SPEC_TYPE_SRC_PORT: "source-port", FLOW_SPEC_TYPE_ICMP_TYPE: "icmp-type", FLOW_SPEC_TYPE_ICMP_CODE: "icmp-code", FLOW_SPEC_TYPE_TCP_FLAG: "tcp-flags", FLOW_SPEC_TYPE_PKT_LEN: "packet-length", FLOW_SPEC_TYPE_DSCP: "dscp", FLOW_SPEC_TYPE_FRAGMENT: "fragment", FLOW_SPEC_TYPE_LABEL: "label", FLOW_SPEC_TYPE_ETHERNET_TYPE: "ether-type", FLOW_SPEC_TYPE_SRC_MAC: "source-mac", FLOW_SPEC_TYPE_DST_MAC: "destination-mac", FLOW_SPEC_TYPE_LLC_DSAP: "llc-dsap", FLOW_SPEC_TYPE_LLC_SSAP: "llc-ssap", FLOW_SPEC_TYPE_LLC_CONTROL: "llc-control", FLOW_SPEC_TYPE_SNAP: "snap", FLOW_SPEC_TYPE_VID: "vid", FLOW_SPEC_TYPE_COS: "cos", FLOW_SPEC_TYPE_INNER_VID: "inner-vid", FLOW_SPEC_TYPE_INNER_COS: "inner-cos", }
var FlowSpecValueMap = map[string]BGPFlowSpecType{ FlowSpecNameMap[FLOW_SPEC_TYPE_DST_PREFIX]: FLOW_SPEC_TYPE_DST_PREFIX, FlowSpecNameMap[FLOW_SPEC_TYPE_SRC_PREFIX]: FLOW_SPEC_TYPE_SRC_PREFIX, FlowSpecNameMap[FLOW_SPEC_TYPE_IP_PROTO]: FLOW_SPEC_TYPE_IP_PROTO, FlowSpecNameMap[FLOW_SPEC_TYPE_PORT]: FLOW_SPEC_TYPE_PORT, FlowSpecNameMap[FLOW_SPEC_TYPE_DST_PORT]: FLOW_SPEC_TYPE_DST_PORT, FlowSpecNameMap[FLOW_SPEC_TYPE_SRC_PORT]: FLOW_SPEC_TYPE_SRC_PORT, FlowSpecNameMap[FLOW_SPEC_TYPE_ICMP_TYPE]: FLOW_SPEC_TYPE_ICMP_TYPE, FlowSpecNameMap[FLOW_SPEC_TYPE_ICMP_CODE]: FLOW_SPEC_TYPE_ICMP_CODE, FlowSpecNameMap[FLOW_SPEC_TYPE_TCP_FLAG]: FLOW_SPEC_TYPE_TCP_FLAG, FlowSpecNameMap[FLOW_SPEC_TYPE_PKT_LEN]: FLOW_SPEC_TYPE_PKT_LEN, FlowSpecNameMap[FLOW_SPEC_TYPE_DSCP]: FLOW_SPEC_TYPE_DSCP, FlowSpecNameMap[FLOW_SPEC_TYPE_FRAGMENT]: FLOW_SPEC_TYPE_FRAGMENT, FlowSpecNameMap[FLOW_SPEC_TYPE_LABEL]: FLOW_SPEC_TYPE_LABEL, FlowSpecNameMap[FLOW_SPEC_TYPE_ETHERNET_TYPE]: FLOW_SPEC_TYPE_ETHERNET_TYPE, FlowSpecNameMap[FLOW_SPEC_TYPE_SRC_MAC]: FLOW_SPEC_TYPE_SRC_MAC, FlowSpecNameMap[FLOW_SPEC_TYPE_DST_MAC]: FLOW_SPEC_TYPE_DST_MAC, FlowSpecNameMap[FLOW_SPEC_TYPE_LLC_DSAP]: FLOW_SPEC_TYPE_LLC_DSAP, FlowSpecNameMap[FLOW_SPEC_TYPE_LLC_SSAP]: FLOW_SPEC_TYPE_LLC_SSAP, FlowSpecNameMap[FLOW_SPEC_TYPE_LLC_CONTROL]: FLOW_SPEC_TYPE_LLC_CONTROL, FlowSpecNameMap[FLOW_SPEC_TYPE_SNAP]: FLOW_SPEC_TYPE_SNAP, FlowSpecNameMap[FLOW_SPEC_TYPE_VID]: FLOW_SPEC_TYPE_VID, FlowSpecNameMap[FLOW_SPEC_TYPE_COS]: FLOW_SPEC_TYPE_COS, FlowSpecNameMap[FLOW_SPEC_TYPE_INNER_VID]: FLOW_SPEC_TYPE_INNER_VID, FlowSpecNameMap[FLOW_SPEC_TYPE_INNER_COS]: FLOW_SPEC_TYPE_INNER_COS, }
var FragmentFlagNameMap = map[FragmentFlag]string{ FRAG_FLAG_NOT: "not-a-fragment", FRAG_FLAG_DONT: "dont-fragment", FRAG_FLAG_IS: "is-fragment", FRAG_FLAG_FIRST: "first-fragment", FRAG_FLAG_LAST: "last-fragment", }
var FragmentSortedFlags = []FragmentFlag{ FRAG_FLAG_NOT, FRAG_FLAG_DONT, FRAG_FLAG_IS, FRAG_FLAG_FIRST, FRAG_FLAG_LAST, }
Prepares a sorted list of flags because map iterations does not happen in a consistent order in Golang.
var PathAttrFlags map[BGPAttrType]BGPAttrFlag = map[BGPAttrType]BGPAttrFlag{ BGP_ATTR_TYPE_ORIGIN: BGP_ATTR_FLAG_TRANSITIVE, BGP_ATTR_TYPE_AS_PATH: BGP_ATTR_FLAG_TRANSITIVE, BGP_ATTR_TYPE_NEXT_HOP: BGP_ATTR_FLAG_TRANSITIVE, BGP_ATTR_TYPE_MULTI_EXIT_DISC: BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_LOCAL_PREF: BGP_ATTR_FLAG_TRANSITIVE, BGP_ATTR_TYPE_ATOMIC_AGGREGATE: BGP_ATTR_FLAG_TRANSITIVE, BGP_ATTR_TYPE_AGGREGATOR: BGP_ATTR_FLAG_TRANSITIVE | BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_COMMUNITIES: BGP_ATTR_FLAG_TRANSITIVE | BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_ORIGINATOR_ID: BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_CLUSTER_LIST: BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_MP_REACH_NLRI: BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_MP_UNREACH_NLRI: BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_EXTENDED_COMMUNITIES: BGP_ATTR_FLAG_TRANSITIVE | BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_AS4_PATH: BGP_ATTR_FLAG_TRANSITIVE | BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_AS4_AGGREGATOR: BGP_ATTR_FLAG_TRANSITIVE | BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_PMSI_TUNNEL: BGP_ATTR_FLAG_TRANSITIVE | BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_TUNNEL_ENCAP: BGP_ATTR_FLAG_TRANSITIVE | BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_IP6_EXTENDED_COMMUNITIES: BGP_ATTR_FLAG_TRANSITIVE | BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_AIGP: BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_LARGE_COMMUNITY: BGP_ATTR_FLAG_TRANSITIVE | BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_LS: BGP_ATTR_FLAG_OPTIONAL, BGP_ATTR_TYPE_PREFIX_SID: BGP_ATTR_FLAG_TRANSITIVE | BGP_ATTR_FLAG_OPTIONAL, }
var ProtocolNameMap = map[Protocol]string{ Unknown: "unknown", ICMP: "icmp", IGMP: "igmp", TCP: "tcp", EGP: "egp", IGP: "igp", UDP: "udp", RSVP: "rsvp", GRE: "gre", OSPF: "ospf", IPIP: "ipip", PIM: "pim", SCTP: "sctp", }
var TCPFlagNameMap = map[TCPFlag]string{ TCP_FLAG_FIN: "F", TCP_FLAG_SYN: "S", TCP_FLAG_RST: "R", TCP_FLAG_PUSH: "P", TCP_FLAG_ACK: "A", TCP_FLAG_URGENT: "U", TCP_FLAG_CWR: "C", TCP_FLAG_ECE: "E", }
var TCPSortedFlags = []TCPFlag{ TCP_FLAG_FIN, TCP_FLAG_SYN, TCP_FLAG_RST, TCP_FLAG_PUSH, TCP_FLAG_ACK, TCP_FLAG_URGENT, TCP_FLAG_ECE, TCP_FLAG_CWR, }
Prepares a sorted list of flags because map iterations does not happen in a consistent order in Golang.
var WellKnownCommunityNameMap = map[WellKnownCommunity]string{ COMMUNITY_INTERNET: "internet", COMMUNITY_PLANNED_SHUT: "planned-shut", COMMUNITY_ACCEPT_OWN: "accept-own", COMMUNITY_ROUTE_FILTER_TRANSLATED_v4: "route-filter-translated-v4", COMMUNITY_ROUTE_FILTER_v4: "route-filter-v4", COMMUNITY_ROUTE_FILTER_TRANSLATED_v6: "route-filter-translated-v6", COMMUNITY_ROUTE_FILTER_v6: "route-filter-v6", COMMUNITY_LLGR_STALE: "llgr-stale", COMMUNITY_NO_LLGR: "no-llgr", COMMUNITY_BLACKHOLE: "blackhole", COMMUNITY_NO_EXPORT: "no-export", COMMUNITY_NO_ADVERTISE: "no-advertise", COMMUNITY_NO_EXPORT_SUBCONFED: "no-export-subconfed", COMMUNITY_NO_PEER: "no-peer", }
var WellKnownCommunityValueMap = map[string]WellKnownCommunity{ WellKnownCommunityNameMap[COMMUNITY_INTERNET]: COMMUNITY_INTERNET, WellKnownCommunityNameMap[COMMUNITY_PLANNED_SHUT]: COMMUNITY_PLANNED_SHUT, WellKnownCommunityNameMap[COMMUNITY_ACCEPT_OWN]: COMMUNITY_ACCEPT_OWN, WellKnownCommunityNameMap[COMMUNITY_ROUTE_FILTER_TRANSLATED_v4]: COMMUNITY_ROUTE_FILTER_TRANSLATED_v4, WellKnownCommunityNameMap[COMMUNITY_ROUTE_FILTER_v4]: COMMUNITY_ROUTE_FILTER_v4, WellKnownCommunityNameMap[COMMUNITY_ROUTE_FILTER_TRANSLATED_v6]: COMMUNITY_ROUTE_FILTER_TRANSLATED_v6, WellKnownCommunityNameMap[COMMUNITY_ROUTE_FILTER_v6]: COMMUNITY_ROUTE_FILTER_v6, WellKnownCommunityNameMap[COMMUNITY_LLGR_STALE]: COMMUNITY_LLGR_STALE, WellKnownCommunityNameMap[COMMUNITY_NO_LLGR]: COMMUNITY_NO_LLGR, WellKnownCommunityNameMap[COMMUNITY_NO_EXPORT]: COMMUNITY_NO_EXPORT, WellKnownCommunityNameMap[COMMUNITY_BLACKHOLE]: COMMUNITY_BLACKHOLE, WellKnownCommunityNameMap[COMMUNITY_NO_ADVERTISE]: COMMUNITY_NO_ADVERTISE, WellKnownCommunityNameMap[COMMUNITY_NO_EXPORT_SUBCONFED]: COMMUNITY_NO_EXPORT_SUBCONFED, WellKnownCommunityNameMap[COMMUNITY_NO_PEER]: COMMUNITY_NO_PEER, }
Functions ¶
func AsPathString ¶
func AsPathString(aspath *PathAttributeAsPath) string
func CompareFlowSpecNLRI ¶
func CompareFlowSpecNLRI(n, m *FlowSpecNLRI) (int, error)
CompareFlowSpecNLRI(n, m) returns -1 when m has precedence
0 when n and m have same precedence 1 when n has precedence
func EndpointString ¶ added in v3.9.0
func EndpointString(nlri AddrPrefixInterface) string
func FlatUpdate ¶
Update a Flat representation by adding elements of the second one. If two elements use same keys, values are separated with ';'. In this case, it returns an error but the update has been realized.
func GetBGPUpdateAttributes ¶
func GetBGPUpdateAttributes(data []byte) map[BGPAttrType]bool
func GetBGPUpdateAttributesFromMsg ¶
func GetBGPUpdateAttributesFromMsg(msg *BGPUpdate) map[BGPAttrType]bool
func IsAddPathEnabled ¶
func IsAddPathEnabled(decode bool, f RouteFamily, options []*MarshallingOption) bool
func IsAttributePresent ¶
func IsAttributePresent(attr BGPAttrType, options []*MarshallingOption) bool
func LabelString ¶
func LabelString(nlri AddrPrefixInterface) string
func NewMessageError ¶
func NewMessageErrorWithErrorHandling ¶
func NewMessageErrorWithErrorHandling(typeCode, subTypeCode uint8, data []byte, errorHandling ErrorHandling, errorAttribute *PathAttributeInterface, msg string) error
func QFIString ¶ added in v3.9.0
func QFIString(nlri AddrPrefixInterface) string
func RouteFamilyToAfiSafi ¶
func RouteFamilyToAfiSafi(rf RouteFamily) (uint16, uint8)
func SerializeExtendedCommunities ¶
func SerializeExtendedCommunities(comms []ExtendedCommunityInterface) ([][]byte, error)
func TEIDString ¶ added in v3.9.0
func TEIDString(nlri AddrPrefixInterface) string
func ValidateAttribute ¶
func ValidateAttribute(a PathAttributeInterface, rfs map[RouteFamily]BGPAddPathMode, isEBGP bool, isConfed bool) (bool, error)
func ValidateBGPMessage ¶
func ValidateBGPMessage(m *BGPMessage) error
func ValidateOpenMsg ¶
func ValidateUpdateMsg ¶
func ValidateUpdateMsg(m *BGPUpdate, rfs map[RouteFamily]BGPAddPathMode, isEBGP bool, isConfed bool) (bool, error)
Validator for BGPUpdate
Types ¶
type AddrPrefixInterface ¶
type AddrPrefixInterface interface { DecodeFromBytes([]byte, ...*MarshallingOption) error Serialize(...*MarshallingOption) ([]byte, error) AFI() uint16 SAFI() uint8 Len(...*MarshallingOption) int String() string MarshalJSON() ([]byte, error) // Create a flat map to describe attributes and their // values. This can be used to create structured outputs. Flat() map[string]string PathIdentifier() uint32 SetPathIdentifier(uint32) PathLocalIdentifier() uint32 SetPathLocalIdentifier(uint32) }
func NewPrefixFromRouteFamily ¶
func NewPrefixFromRouteFamily(afi uint16, safi uint8, prefixStr ...string) (prefix AddrPrefixInterface, err error)
type AigpTLVDefault ¶
type AigpTLVDefault struct { Value []byte // contains filtered or unexported fields }
func NewAigpTLVDefault ¶
func NewAigpTLVDefault(typ AigpTLVType, value []byte) *AigpTLVDefault
func (*AigpTLVDefault) Len ¶
func (t *AigpTLVDefault) Len() int
func (*AigpTLVDefault) MarshalJSON ¶
func (t *AigpTLVDefault) MarshalJSON() ([]byte, error)
func (*AigpTLVDefault) Serialize ¶
func (t *AigpTLVDefault) Serialize() ([]byte, error)
func (*AigpTLVDefault) String ¶
func (t *AigpTLVDefault) String() string
func (*AigpTLVDefault) Type ¶
func (t *AigpTLVDefault) Type() AigpTLVType
type AigpTLVIgpMetric ¶
type AigpTLVIgpMetric struct {
Metric uint64
}
func NewAigpTLVIgpMetric ¶
func NewAigpTLVIgpMetric(metric uint64) *AigpTLVIgpMetric
func (*AigpTLVIgpMetric) Len ¶
func (t *AigpTLVIgpMetric) Len() int
func (*AigpTLVIgpMetric) MarshalJSON ¶
func (t *AigpTLVIgpMetric) MarshalJSON() ([]byte, error)
func (*AigpTLVIgpMetric) Serialize ¶
func (t *AigpTLVIgpMetric) Serialize() ([]byte, error)
func (*AigpTLVIgpMetric) String ¶
func (t *AigpTLVIgpMetric) String() string
func (*AigpTLVIgpMetric) Type ¶
func (t *AigpTLVIgpMetric) Type() AigpTLVType
type AigpTLVInterface ¶
type AigpTLVType ¶
type AigpTLVType uint8
const ( AIGP_TLV_UNKNOWN AigpTLVType = iota AIGP_TLV_IGP_METRIC )
type As4PathParam ¶
func NewAs4PathParam ¶
func NewAs4PathParam(segType uint8, as []uint32) *As4PathParam
func (*As4PathParam) ASLen ¶
func (a *As4PathParam) ASLen() int
func (*As4PathParam) DecodeFromBytes ¶
func (a *As4PathParam) DecodeFromBytes(data []byte) error
func (*As4PathParam) GetAS ¶
func (a *As4PathParam) GetAS() []uint32
func (*As4PathParam) GetType ¶
func (a *As4PathParam) GetType() uint8
func (*As4PathParam) Len ¶
func (a *As4PathParam) Len() int
func (*As4PathParam) MarshalJSON ¶
func (a *As4PathParam) MarshalJSON() ([]byte, error)
func (*As4PathParam) Serialize ¶
func (a *As4PathParam) Serialize() ([]byte, error)
func (*As4PathParam) String ¶
func (a *As4PathParam) String() string
type AsPathParam ¶
func NewAsPathParam ¶
func NewAsPathParam(segType uint8, as []uint16) *AsPathParam
func (*AsPathParam) ASLen ¶
func (a *AsPathParam) ASLen() int
func (*AsPathParam) DecodeFromBytes ¶
func (a *AsPathParam) DecodeFromBytes(data []byte) error
func (*AsPathParam) GetAS ¶
func (a *AsPathParam) GetAS() []uint32
func (*AsPathParam) GetType ¶
func (a *AsPathParam) GetType() uint8
func (*AsPathParam) Len ¶
func (a *AsPathParam) Len() int
func (*AsPathParam) MarshalJSON ¶
func (a *AsPathParam) MarshalJSON() ([]byte, error)
func (*AsPathParam) Serialize ¶
func (a *AsPathParam) Serialize() ([]byte, error)
func (*AsPathParam) String ¶
func (a *AsPathParam) String() string
type AsPathParamFormat ¶
type AsPathParamFormat struct {
// contains filtered or unexported fields
}
type AsPathParamInterface ¶
type BGPAddPathMode ¶
type BGPAddPathMode uint8
const ( BGP_ADD_PATH_NONE BGPAddPathMode = iota BGP_ADD_PATH_RECEIVE BGP_ADD_PATH_SEND BGP_ADD_PATH_BOTH )
func (BGPAddPathMode) String ¶
func (m BGPAddPathMode) String() string
type BGPAttrFlag ¶
type BGPAttrFlag uint8
const ( BGP_ATTR_FLAG_EXTENDED_LENGTH BGPAttrFlag = 1 << 4 BGP_ATTR_FLAG_PARTIAL BGPAttrFlag = 1 << 5 BGP_ATTR_FLAG_TRANSITIVE BGPAttrFlag = 1 << 6 BGP_ATTR_FLAG_OPTIONAL BGPAttrFlag = 1 << 7 )
func (BGPAttrFlag) String ¶
func (f BGPAttrFlag) String() string
type BGPAttrType ¶
type BGPAttrType uint8
const ( BGP_ATTR_TYPE_ORIGIN BGPAttrType BGP_ATTR_TYPE_AS_PATH BGP_ATTR_TYPE_NEXT_HOP BGP_ATTR_TYPE_MULTI_EXIT_DISC BGP_ATTR_TYPE_LOCAL_PREF BGP_ATTR_TYPE_ATOMIC_AGGREGATE BGP_ATTR_TYPE_AGGREGATOR BGP_ATTR_TYPE_COMMUNITIES BGP_ATTR_TYPE_ORIGINATOR_ID BGP_ATTR_TYPE_CLUSTER_LIST BGP_ATTR_TYPE_MP_REACH_NLRI // = 14 BGP_ATTR_TYPE_MP_UNREACH_NLRI BGP_ATTR_TYPE_EXTENDED_COMMUNITIES BGP_ATTR_TYPE_AS4_PATH BGP_ATTR_TYPE_AS4_AGGREGATOR BGP_ATTR_TYPE_PMSI_TUNNEL // = 22 BGP_ATTR_TYPE_TUNNEL_ENCAP BGP_ATTR_TYPE_IP6_EXTENDED_COMMUNITIES // = 25 BGP_ATTR_TYPE_AIGP // = 26 BGP_ATTR_TYPE_LS // = 29 BGP_ATTR_TYPE_LARGE_COMMUNITY BGPAttrType = 32 BGP_ATTR_TYPE_PREFIX_SID BGPAttrType = 40 )
func (BGPAttrType) String ¶
func (i BGPAttrType) String() string
type BGPBody ¶
type BGPBody interface { DecodeFromBytes([]byte, ...*MarshallingOption) error Serialize(...*MarshallingOption) ([]byte, error) }
type BGPCapabilityCode ¶
type BGPCapabilityCode uint8
const ( BGP_CAP_MULTIPROTOCOL BGPCapabilityCode = 1 BGP_CAP_ROUTE_REFRESH BGPCapabilityCode = 2 BGP_CAP_CARRYING_LABEL_INFO BGPCapabilityCode = 4 BGP_CAP_EXTENDED_NEXTHOP BGPCapabilityCode = 5 BGP_CAP_GRACEFUL_RESTART BGPCapabilityCode = 64 BGP_CAP_FOUR_OCTET_AS_NUMBER BGPCapabilityCode = 65 BGP_CAP_ADD_PATH BGPCapabilityCode = 69 BGP_CAP_ENHANCED_ROUTE_REFRESH BGPCapabilityCode = 70 BGP_CAP_LONG_LIVED_GRACEFUL_RESTART BGPCapabilityCode = 71 BGP_CAP_FQDN BGPCapabilityCode = 73 BGP_CAP_SOFT_VERSION BGPCapabilityCode = 75 BGP_CAP_ROUTE_REFRESH_CISCO BGPCapabilityCode = 128 )
func (BGPCapabilityCode) String ¶
func (c BGPCapabilityCode) String() string
type BGPFlowSpecType ¶
type BGPFlowSpecType uint8
const ( FLOW_SPEC_TYPE_UNKNOWN BGPFlowSpecType = iota FLOW_SPEC_TYPE_DST_PREFIX FLOW_SPEC_TYPE_SRC_PREFIX FLOW_SPEC_TYPE_IP_PROTO FLOW_SPEC_TYPE_PORT FLOW_SPEC_TYPE_DST_PORT FLOW_SPEC_TYPE_SRC_PORT FLOW_SPEC_TYPE_ICMP_TYPE FLOW_SPEC_TYPE_ICMP_CODE FLOW_SPEC_TYPE_TCP_FLAG FLOW_SPEC_TYPE_PKT_LEN FLOW_SPEC_TYPE_DSCP FLOW_SPEC_TYPE_FRAGMENT FLOW_SPEC_TYPE_LABEL FLOW_SPEC_TYPE_ETHERNET_TYPE // 14 FLOW_SPEC_TYPE_SRC_MAC FLOW_SPEC_TYPE_DST_MAC FLOW_SPEC_TYPE_LLC_DSAP FLOW_SPEC_TYPE_LLC_SSAP FLOW_SPEC_TYPE_LLC_CONTROL FLOW_SPEC_TYPE_SNAP FLOW_SPEC_TYPE_VID FLOW_SPEC_TYPE_COS FLOW_SPEC_TYPE_INNER_VID FLOW_SPEC_TYPE_INNER_COS )
func (BGPFlowSpecType) String ¶
func (t BGPFlowSpecType) String() string
type BGPHeader ¶
func (*BGPHeader) DecodeFromBytes ¶
func (msg *BGPHeader) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
type BGPKeepAlive ¶
type BGPKeepAlive struct { }
func (*BGPKeepAlive) DecodeFromBytes ¶
func (msg *BGPKeepAlive) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*BGPKeepAlive) Serialize ¶
func (msg *BGPKeepAlive) Serialize(options ...*MarshallingOption) ([]byte, error)
type BGPMessage ¶
func NewBGPKeepAliveMessage ¶
func NewBGPKeepAliveMessage() *BGPMessage
func NewBGPNotificationMessage ¶
func NewBGPNotificationMessage(errcode uint8, errsubcode uint8, data []byte) *BGPMessage
func NewBGPOpenMessage ¶
func NewBGPOpenMessage(myas uint16, holdtime uint16, id string, optparams []OptionParameterInterface) *BGPMessage
func NewBGPRouteRefreshMessage ¶
func NewBGPRouteRefreshMessage(afi uint16, demarcation uint8, safi uint8) *BGPMessage
func NewBGPUpdateMessage ¶
func NewBGPUpdateMessage(withdrawnRoutes []*IPAddrPrefix, pathattrs []PathAttributeInterface, nlri []*IPAddrPrefix) *BGPMessage
func NewEndOfRib ¶
func NewEndOfRib(family RouteFamily) *BGPMessage
func NewTestBGPOpenMessage ¶
func NewTestBGPOpenMessage() *BGPMessage
func NewTestBGPUpdateMessage ¶
func NewTestBGPUpdateMessage() *BGPMessage
func ParseBGPBody ¶
func ParseBGPBody(h *BGPHeader, data []byte, options ...*MarshallingOption) (*BGPMessage, error)
func ParseBGPMessage ¶
func ParseBGPMessage(data []byte, options ...*MarshallingOption) (*BGPMessage, error)
func (*BGPMessage) Serialize ¶
func (msg *BGPMessage) Serialize(options ...*MarshallingOption) ([]byte, error)
type BGPNotification ¶
func (*BGPNotification) DecodeFromBytes ¶
func (msg *BGPNotification) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*BGPNotification) Serialize ¶
func (msg *BGPNotification) Serialize(options ...*MarshallingOption) ([]byte, error)
type BGPOpen ¶
type BGPOpen struct { Version uint8 MyAS uint16 HoldTime uint16 ID net.IP OptParamLen uint8 OptParams []OptionParameterInterface }
func (*BGPOpen) DecodeFromBytes ¶
func (msg *BGPOpen) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
type BGPRouteRefresh ¶
func (*BGPRouteRefresh) DecodeFromBytes ¶
func (msg *BGPRouteRefresh) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*BGPRouteRefresh) Serialize ¶
func (msg *BGPRouteRefresh) Serialize(options ...*MarshallingOption) ([]byte, error)
type BGPUpdate ¶
type BGPUpdate struct { WithdrawnRoutesLen uint16 WithdrawnRoutes []*IPAddrPrefix TotalPathAttributeLen uint16 PathAttributes []PathAttributeInterface NLRI []*IPAddrPrefix }
func TreatAsWithdraw ¶
func (*BGPUpdate) DecodeFromBytes ¶
func (msg *BGPUpdate) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*BGPUpdate) IsEndOfRib ¶
func (msg *BGPUpdate) IsEndOfRib() (bool, RouteFamily)
type BGPUpdateAttributes ¶
type BGPUpdateAttributes struct {
Attribute map[BGPAttrType]bool
}
BGPUpdateAttributes defines a map with a key as bgp attribute type and value as bool. Value set to true indicates that the attribute specified by the key exists in the bgp update.
type BitmaskFlagOp ¶
type BitmaskFlagOp uint8
func (BitmaskFlagOp) String ¶
func (f BitmaskFlagOp) String() string
type CapAddPath ¶
type CapAddPath struct { DefaultParameterCapability Tuples []*CapAddPathTuple }
func NewCapAddPath ¶
func NewCapAddPath(tuples []*CapAddPathTuple) *CapAddPath
func (*CapAddPath) DecodeFromBytes ¶
func (c *CapAddPath) DecodeFromBytes(data []byte) error
func (*CapAddPath) MarshalJSON ¶
func (c *CapAddPath) MarshalJSON() ([]byte, error)
func (*CapAddPath) Serialize ¶
func (c *CapAddPath) Serialize() ([]byte, error)
type CapAddPathTuple ¶
type CapAddPathTuple struct { RouteFamily RouteFamily Mode BGPAddPathMode }
func NewCapAddPathTuple ¶
func NewCapAddPathTuple(family RouteFamily, mode BGPAddPathMode) *CapAddPathTuple
func (*CapAddPathTuple) MarshalJSON ¶
func (t *CapAddPathTuple) MarshalJSON() ([]byte, error)
type CapCarryingLabelInfo ¶
type CapCarryingLabelInfo struct {
DefaultParameterCapability
}
func NewCapCarryingLabelInfo ¶
func NewCapCarryingLabelInfo() *CapCarryingLabelInfo
type CapEnhancedRouteRefresh ¶
type CapEnhancedRouteRefresh struct {
DefaultParameterCapability
}
func NewCapEnhancedRouteRefresh ¶
func NewCapEnhancedRouteRefresh() *CapEnhancedRouteRefresh
type CapExtendedNexthop ¶
type CapExtendedNexthop struct { DefaultParameterCapability Tuples []*CapExtendedNexthopTuple }
func NewCapExtendedNexthop ¶
func NewCapExtendedNexthop(tuples []*CapExtendedNexthopTuple) *CapExtendedNexthop
func (*CapExtendedNexthop) DecodeFromBytes ¶
func (c *CapExtendedNexthop) DecodeFromBytes(data []byte) error
func (*CapExtendedNexthop) MarshalJSON ¶
func (c *CapExtendedNexthop) MarshalJSON() ([]byte, error)
func (*CapExtendedNexthop) Serialize ¶
func (c *CapExtendedNexthop) Serialize() ([]byte, error)
type CapExtendedNexthopTuple ¶
func NewCapExtendedNexthopTuple ¶
func NewCapExtendedNexthopTuple(af RouteFamily, nexthop uint16) *CapExtendedNexthopTuple
func (*CapExtendedNexthopTuple) MarshalJSON ¶
func (c *CapExtendedNexthopTuple) MarshalJSON() ([]byte, error)
type CapFQDN ¶
type CapFQDN struct { DefaultParameterCapability HostNameLen uint8 HostName string DomainNameLen uint8 DomainName string }
func NewCapFQDN ¶
func (*CapFQDN) DecodeFromBytes ¶
func (*CapFQDN) MarshalJSON ¶
type CapFourOctetASNumber ¶
type CapFourOctetASNumber struct { DefaultParameterCapability CapValue uint32 }
func NewCapFourOctetASNumber ¶
func NewCapFourOctetASNumber(asnum uint32) *CapFourOctetASNumber
func (*CapFourOctetASNumber) DecodeFromBytes ¶
func (c *CapFourOctetASNumber) DecodeFromBytes(data []byte) error
func (*CapFourOctetASNumber) MarshalJSON ¶
func (c *CapFourOctetASNumber) MarshalJSON() ([]byte, error)
func (*CapFourOctetASNumber) Serialize ¶
func (c *CapFourOctetASNumber) Serialize() ([]byte, error)
type CapGracefulRestart ¶
type CapGracefulRestart struct { DefaultParameterCapability Flags uint8 Time uint16 Tuples []*CapGracefulRestartTuple }
func NewCapGracefulRestart ¶
func NewCapGracefulRestart(restarting, notification bool, time uint16, tuples []*CapGracefulRestartTuple) *CapGracefulRestart
func (*CapGracefulRestart) DecodeFromBytes ¶
func (c *CapGracefulRestart) DecodeFromBytes(data []byte) error
func (*CapGracefulRestart) MarshalJSON ¶
func (c *CapGracefulRestart) MarshalJSON() ([]byte, error)
func (*CapGracefulRestart) Serialize ¶
func (c *CapGracefulRestart) Serialize() ([]byte, error)
type CapGracefulRestartTuple ¶
func NewCapGracefulRestartTuple ¶
func NewCapGracefulRestartTuple(rf RouteFamily, forward bool) *CapGracefulRestartTuple
func (*CapGracefulRestartTuple) MarshalJSON ¶
func (c *CapGracefulRestartTuple) MarshalJSON() ([]byte, error)
type CapLongLivedGracefulRestart ¶
type CapLongLivedGracefulRestart struct { DefaultParameterCapability Tuples []*CapLongLivedGracefulRestartTuple }
func NewCapLongLivedGracefulRestart ¶
func NewCapLongLivedGracefulRestart(tuples []*CapLongLivedGracefulRestartTuple) *CapLongLivedGracefulRestart
func (*CapLongLivedGracefulRestart) DecodeFromBytes ¶
func (c *CapLongLivedGracefulRestart) DecodeFromBytes(data []byte) error
func (*CapLongLivedGracefulRestart) MarshalJSON ¶
func (c *CapLongLivedGracefulRestart) MarshalJSON() ([]byte, error)
func (*CapLongLivedGracefulRestart) Serialize ¶
func (c *CapLongLivedGracefulRestart) Serialize() ([]byte, error)
type CapLongLivedGracefulRestartTuple ¶
type CapLongLivedGracefulRestartTuple struct { AFI uint16 SAFI uint8 Flags uint8 RestartTime uint32 }
func NewCapLongLivedGracefulRestartTuple ¶
func NewCapLongLivedGracefulRestartTuple(rf RouteFamily, forward bool, restartTime uint32) *CapLongLivedGracefulRestartTuple
func (*CapLongLivedGracefulRestartTuple) MarshalJSON ¶
func (c *CapLongLivedGracefulRestartTuple) MarshalJSON() ([]byte, error)
type CapMultiProtocol ¶
type CapMultiProtocol struct { DefaultParameterCapability CapValue RouteFamily }
func NewCapMultiProtocol ¶
func NewCapMultiProtocol(rf RouteFamily) *CapMultiProtocol
func (*CapMultiProtocol) DecodeFromBytes ¶
func (c *CapMultiProtocol) DecodeFromBytes(data []byte) error
func (*CapMultiProtocol) MarshalJSON ¶
func (c *CapMultiProtocol) MarshalJSON() ([]byte, error)
func (*CapMultiProtocol) Serialize ¶
func (c *CapMultiProtocol) Serialize() ([]byte, error)
type CapRouteRefresh ¶
type CapRouteRefresh struct {
DefaultParameterCapability
}
func NewCapRouteRefresh ¶
func NewCapRouteRefresh() *CapRouteRefresh
type CapRouteRefreshCisco ¶
type CapRouteRefreshCisco struct {
DefaultParameterCapability
}
func NewCapRouteRefreshCisco ¶
func NewCapRouteRefreshCisco() *CapRouteRefreshCisco
type CapSoftwareVersion ¶ added in v3.11.0
type CapSoftwareVersion struct { DefaultParameterCapability SoftwareVersionLen uint8 SoftwareVersion string }
func NewCapSoftwareVersion ¶ added in v3.11.0
func NewCapSoftwareVersion(version string) *CapSoftwareVersion
func (*CapSoftwareVersion) DecodeFromBytes ¶ added in v3.11.0
func (c *CapSoftwareVersion) DecodeFromBytes(data []byte) error
func (*CapSoftwareVersion) MarshalJSON ¶ added in v3.11.0
func (c *CapSoftwareVersion) MarshalJSON() ([]byte, error)
func (*CapSoftwareVersion) Serialize ¶ added in v3.11.0
func (c *CapSoftwareVersion) Serialize() ([]byte, error)
type CapUnknown ¶
type CapUnknown struct {
DefaultParameterCapability
}
func NewCapUnknown ¶
func NewCapUnknown(code BGPCapabilityCode, value []byte) *CapUnknown
type ColorExtended ¶
type ColorExtended struct {
Color uint32
}
func NewColorExtended ¶
func NewColorExtended(color uint32) *ColorExtended
func (*ColorExtended) Flat ¶
func (e *ColorExtended) Flat() map[string]string
func (*ColorExtended) GetTypes ¶
func (e *ColorExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
func (*ColorExtended) MarshalJSON ¶
func (e *ColorExtended) MarshalJSON() ([]byte, error)
func (*ColorExtended) Serialize ¶
func (e *ColorExtended) Serialize() ([]byte, error)
func (*ColorExtended) String ¶
func (e *ColorExtended) String() string
type DefaultGatewayExtended ¶
type DefaultGatewayExtended struct { }
func NewDefaultGatewayExtended ¶
func NewDefaultGatewayExtended() *DefaultGatewayExtended
func (*DefaultGatewayExtended) Flat ¶
func (e *DefaultGatewayExtended) Flat() map[string]string
func (*DefaultGatewayExtended) GetTypes ¶
func (e *DefaultGatewayExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
func (*DefaultGatewayExtended) MarshalJSON ¶
func (e *DefaultGatewayExtended) MarshalJSON() ([]byte, error)
func (*DefaultGatewayExtended) Serialize ¶
func (e *DefaultGatewayExtended) Serialize() ([]byte, error)
func (*DefaultGatewayExtended) String ¶
func (e *DefaultGatewayExtended) String() string
type DefaultParameterCapability ¶
type DefaultParameterCapability struct { CapCode BGPCapabilityCode `json:"code"` CapLen uint8 `json:"-"` CapValue []byte `json:"value,omitempty"` }
func (*DefaultParameterCapability) Code ¶
func (c *DefaultParameterCapability) Code() BGPCapabilityCode
func (*DefaultParameterCapability) DecodeFromBytes ¶
func (c *DefaultParameterCapability) DecodeFromBytes(data []byte) error
func (*DefaultParameterCapability) Len ¶
func (c *DefaultParameterCapability) Len() int
func (*DefaultParameterCapability) Serialize ¶
func (c *DefaultParameterCapability) Serialize() ([]byte, error)
type DefaultPmsiTunnelID ¶
type DefaultPmsiTunnelID struct {
Value []byte
}
func NewDefaultPmsiTunnelID ¶
func NewDefaultPmsiTunnelID(value []byte) *DefaultPmsiTunnelID
func (*DefaultPmsiTunnelID) Len ¶
func (i *DefaultPmsiTunnelID) Len() int
func (*DefaultPmsiTunnelID) Serialize ¶
func (i *DefaultPmsiTunnelID) Serialize() ([]byte, error)
func (*DefaultPmsiTunnelID) String ¶
func (i *DefaultPmsiTunnelID) String() string
type DefaultRouteDistinguisher ¶
type DefaultRouteDistinguisher struct {
Type uint16
}
func (*DefaultRouteDistinguisher) Len ¶
func (rd *DefaultRouteDistinguisher) Len() int
type ESILabelExtended ¶
func NewESILabelExtended ¶
func NewESILabelExtended(label uint32, isSingleActive bool) *ESILabelExtended
func (*ESILabelExtended) Flat ¶
func (e *ESILabelExtended) Flat() map[string]string
func (*ESILabelExtended) GetTypes ¶
func (e *ESILabelExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
func (*ESILabelExtended) MarshalJSON ¶
func (e *ESILabelExtended) MarshalJSON() ([]byte, error)
func (*ESILabelExtended) Serialize ¶
func (e *ESILabelExtended) Serialize() ([]byte, error)
func (*ESILabelExtended) String ¶
func (e *ESILabelExtended) String() string
type ESImportRouteTarget ¶
type ESImportRouteTarget struct {
ESImport net.HardwareAddr
}
func NewESImportRouteTarget ¶
func NewESImportRouteTarget(mac string) *ESImportRouteTarget
func (*ESImportRouteTarget) Flat ¶
func (e *ESImportRouteTarget) Flat() map[string]string
func (*ESImportRouteTarget) GetTypes ¶
func (e *ESImportRouteTarget) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
func (*ESImportRouteTarget) MarshalJSON ¶
func (e *ESImportRouteTarget) MarshalJSON() ([]byte, error)
func (*ESImportRouteTarget) Serialize ¶
func (e *ESImportRouteTarget) Serialize() ([]byte, error)
func (*ESImportRouteTarget) String ¶
func (e *ESImportRouteTarget) String() string
type EVPNEthernetAutoDiscoveryRoute ¶
type EVPNEthernetAutoDiscoveryRoute struct { RD RouteDistinguisherInterface ESI EthernetSegmentIdentifier ETag uint32 Label uint32 }
func (*EVPNEthernetAutoDiscoveryRoute) DecodeFromBytes ¶
func (er *EVPNEthernetAutoDiscoveryRoute) DecodeFromBytes(data []byte) error
func (*EVPNEthernetAutoDiscoveryRoute) Len ¶
func (er *EVPNEthernetAutoDiscoveryRoute) Len() int
func (*EVPNEthernetAutoDiscoveryRoute) MarshalJSON ¶
func (er *EVPNEthernetAutoDiscoveryRoute) MarshalJSON() ([]byte, error)
func (*EVPNEthernetAutoDiscoveryRoute) Serialize ¶
func (er *EVPNEthernetAutoDiscoveryRoute) Serialize() ([]byte, error)
func (*EVPNEthernetAutoDiscoveryRoute) String ¶
func (er *EVPNEthernetAutoDiscoveryRoute) String() string
type EVPNEthernetSegmentRoute ¶
type EVPNEthernetSegmentRoute struct { RD RouteDistinguisherInterface ESI EthernetSegmentIdentifier IPAddressLength uint8 IPAddress net.IP }
func (*EVPNEthernetSegmentRoute) DecodeFromBytes ¶
func (er *EVPNEthernetSegmentRoute) DecodeFromBytes(data []byte) error
func (*EVPNEthernetSegmentRoute) Len ¶
func (er *EVPNEthernetSegmentRoute) Len() int
func (*EVPNEthernetSegmentRoute) MarshalJSON ¶
func (er *EVPNEthernetSegmentRoute) MarshalJSON() ([]byte, error)
func (*EVPNEthernetSegmentRoute) Serialize ¶
func (er *EVPNEthernetSegmentRoute) Serialize() ([]byte, error)
func (*EVPNEthernetSegmentRoute) String ¶
func (er *EVPNEthernetSegmentRoute) String() string
type EVPNIPMSIRoute ¶
type EVPNIPMSIRoute struct { RD RouteDistinguisherInterface ETag uint32 EC ExtendedCommunityInterface }
func (*EVPNIPMSIRoute) DecodeFromBytes ¶
func (er *EVPNIPMSIRoute) DecodeFromBytes(data []byte) error
func (*EVPNIPMSIRoute) Len ¶
func (er *EVPNIPMSIRoute) Len() int
func (*EVPNIPMSIRoute) MarshalJSON ¶
func (er *EVPNIPMSIRoute) MarshalJSON() ([]byte, error)
func (*EVPNIPMSIRoute) Serialize ¶
func (er *EVPNIPMSIRoute) Serialize() ([]byte, error)
func (*EVPNIPMSIRoute) String ¶
func (er *EVPNIPMSIRoute) String() string
type EVPNIPPrefixRoute ¶
type EVPNIPPrefixRoute struct { RD RouteDistinguisherInterface ESI EthernetSegmentIdentifier ETag uint32 IPPrefixLength uint8 IPPrefix net.IP GWIPAddress net.IP Label uint32 }
func (*EVPNIPPrefixRoute) DecodeFromBytes ¶
func (er *EVPNIPPrefixRoute) DecodeFromBytes(data []byte) error
func (*EVPNIPPrefixRoute) Len ¶
func (er *EVPNIPPrefixRoute) Len() int
func (*EVPNIPPrefixRoute) MarshalJSON ¶
func (er *EVPNIPPrefixRoute) MarshalJSON() ([]byte, error)
func (*EVPNIPPrefixRoute) Serialize ¶
func (er *EVPNIPPrefixRoute) Serialize() ([]byte, error)
func (*EVPNIPPrefixRoute) String ¶
func (er *EVPNIPPrefixRoute) String() string
type EVPNMacIPAdvertisementRoute ¶
type EVPNMacIPAdvertisementRoute struct { RD RouteDistinguisherInterface ESI EthernetSegmentIdentifier ETag uint32 MacAddressLength uint8 MacAddress net.HardwareAddr IPAddressLength uint8 IPAddress net.IP Labels []uint32 }
func (*EVPNMacIPAdvertisementRoute) DecodeFromBytes ¶
func (er *EVPNMacIPAdvertisementRoute) DecodeFromBytes(data []byte) error
func (*EVPNMacIPAdvertisementRoute) Len ¶
func (er *EVPNMacIPAdvertisementRoute) Len() int
func (*EVPNMacIPAdvertisementRoute) MarshalJSON ¶
func (er *EVPNMacIPAdvertisementRoute) MarshalJSON() ([]byte, error)
func (*EVPNMacIPAdvertisementRoute) Serialize ¶
func (er *EVPNMacIPAdvertisementRoute) Serialize() ([]byte, error)
func (*EVPNMacIPAdvertisementRoute) String ¶
func (er *EVPNMacIPAdvertisementRoute) String() string
type EVPNMulticastEthernetTagRoute ¶
type EVPNMulticastEthernetTagRoute struct { RD RouteDistinguisherInterface ETag uint32 IPAddressLength uint8 IPAddress net.IP }
func (*EVPNMulticastEthernetTagRoute) DecodeFromBytes ¶
func (er *EVPNMulticastEthernetTagRoute) DecodeFromBytes(data []byte) error
func (*EVPNMulticastEthernetTagRoute) Len ¶
func (er *EVPNMulticastEthernetTagRoute) Len() int
func (*EVPNMulticastEthernetTagRoute) MarshalJSON ¶
func (er *EVPNMulticastEthernetTagRoute) MarshalJSON() ([]byte, error)
func (*EVPNMulticastEthernetTagRoute) Serialize ¶
func (er *EVPNMulticastEthernetTagRoute) Serialize() ([]byte, error)
func (*EVPNMulticastEthernetTagRoute) String ¶
func (er *EVPNMulticastEthernetTagRoute) String() string
type EVPNNLRI ¶
type EVPNNLRI struct { PrefixDefault RouteType uint8 Length uint8 RouteTypeData EVPNRouteTypeInterface }
func NewEVPNEthernetAutoDiscoveryRoute ¶
func NewEVPNEthernetAutoDiscoveryRoute(rd RouteDistinguisherInterface, esi EthernetSegmentIdentifier, etag uint32, label uint32) *EVPNNLRI
func NewEVPNEthernetSegmentRoute ¶
func NewEVPNEthernetSegmentRoute(rd RouteDistinguisherInterface, esi EthernetSegmentIdentifier, ipAddress string) *EVPNNLRI
func NewEVPNIPMSIRoute ¶
func NewEVPNIPMSIRoute(rd RouteDistinguisherInterface, etag uint32, ec ExtendedCommunityInterface) *EVPNNLRI
func NewEVPNIPPrefixRoute ¶
func NewEVPNIPPrefixRoute(rd RouteDistinguisherInterface, esi EthernetSegmentIdentifier, etag uint32, ipPrefixLength uint8, ipPrefix string, gateway string, label uint32) *EVPNNLRI
func NewEVPNMacIPAdvertisementRoute ¶
func NewEVPNMacIPAdvertisementRoute(rd RouteDistinguisherInterface, esi EthernetSegmentIdentifier, etag uint32, macAddress string, ipAddress string, labels []uint32) *EVPNNLRI
func NewEVPNMulticastEthernetTagRoute ¶
func NewEVPNMulticastEthernetTagRoute(rd RouteDistinguisherInterface, etag uint32, ipAddress string) *EVPNNLRI
func NewEVPNNLRI ¶
func NewEVPNNLRI(routeType uint8, routeTypeData EVPNRouteTypeInterface) *EVPNNLRI
func (*EVPNNLRI) DecodeFromBytes ¶
func (n *EVPNNLRI) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*EVPNNLRI) Len ¶
func (n *EVPNNLRI) Len(options ...*MarshallingOption) int
func (*EVPNNLRI) MarshalJSON ¶
func (*EVPNNLRI) RD ¶
func (n *EVPNNLRI) RD() RouteDistinguisherInterface
type EVPNRouteTypeInterface ¶
type EncapExtended ¶
type EncapExtended struct {
TunnelType TunnelType
}
func NewEncapExtended ¶
func NewEncapExtended(tunnelType TunnelType) *EncapExtended
func (*EncapExtended) Flat ¶
func (e *EncapExtended) Flat() map[string]string
func (*EncapExtended) GetTypes ¶
func (e *EncapExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
func (*EncapExtended) MarshalJSON ¶
func (e *EncapExtended) MarshalJSON() ([]byte, error)
func (*EncapExtended) Serialize ¶
func (e *EncapExtended) Serialize() ([]byte, error)
func (*EncapExtended) String ¶
func (e *EncapExtended) String() string
type EncapNLRI ¶
type EncapNLRI struct { IPAddrPrefixDefault // contains filtered or unexported fields }
func NewEncapNLRI ¶
func (*EncapNLRI) DecodeFromBytes ¶
func (n *EncapNLRI) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*EncapNLRI) Len ¶
func (n *EncapNLRI) Len(options ...*MarshallingOption) int
type EncapSubTLVType ¶
type EncapSubTLVType uint8
const ( ENCAP_SUBTLV_TYPE_ENCAPSULATION EncapSubTLVType = 1 ENCAP_SUBTLV_TYPE_PROTOCOL EncapSubTLVType = 2 ENCAP_SUBTLV_TYPE_COLOR EncapSubTLVType = 4 ENCAP_SUBTLV_TYPE_EGRESS_ENDPOINT EncapSubTLVType = 6 ENCAP_SUBTLV_TYPE_UDP_DEST_PORT EncapSubTLVType = 8 ENCAP_SUBTLV_TYPE_SRPREFERENCE EncapSubTLVType = 12 ENCAP_SUBTLV_TYPE_SRBINDING_SID EncapSubTLVType = 13 ENCAP_SUBTLV_TYPE_SRENLP EncapSubTLVType = 14 ENCAP_SUBTLV_TYPE_SRPRIORITY EncapSubTLVType = 15 ENCAP_SUBTLV_TYPE_SRSEGMENT_LIST EncapSubTLVType = 128 ENCAP_SUBTLV_TYPE_SRCANDIDATE_PATH_NAME EncapSubTLVType = 129 )
type Encapv6NLRI ¶
type Encapv6NLRI struct {
EncapNLRI
}
func NewEncapv6NLRI ¶
func NewEncapv6NLRI(endpoint string) *Encapv6NLRI
func (*Encapv6NLRI) AFI ¶
func (n *Encapv6NLRI) AFI() uint16
type ErrorHandling ¶
type ErrorHandling int
const ( ERROR_HANDLING_NONE ErrorHandling = iota ERROR_HANDLING_ATTRIBUTE_DISCARD ERROR_HANDLING_TREAT_AS_WITHDRAW ERROR_HANDLING_AFISAFI_DISABLE ERROR_HANDLING_SESSION_RESET )
type EthernetSegmentIdentifier ¶
func ParseEthernetSegmentIdentifier ¶
func ParseEthernetSegmentIdentifier(args []string) (EthernetSegmentIdentifier, error)
Decode Ethernet Segment Identifier (ESI) from string slice.
The first element of args should be the Type field (e.g., "ARBITRARY", "arbitrary", "ESI_ARBITRARY" or "esi_arbitrary") and "single-homed" is the special keyword for all zeroed ESI. For the "ARBITRARY" Value field (Type 0), it should be the colon separated hex values and the number of elements should be 9 at most.
e.g.) args := []string{"ARBITRARY", "11:22:33:44:55:66:77:88:99"}
For the other types, the Value field format is the similar to the string format of ESI.
e.g.) args := []string{"lacp", "aa:bb:cc:dd:ee:ff", "100"}
func (*EthernetSegmentIdentifier) DecodeFromBytes ¶
func (esi *EthernetSegmentIdentifier) DecodeFromBytes(data []byte) error
func (*EthernetSegmentIdentifier) Serialize ¶
func (esi *EthernetSegmentIdentifier) Serialize() ([]byte, error)
func (*EthernetSegmentIdentifier) String ¶
func (esi *EthernetSegmentIdentifier) String() string
type EthernetType ¶
type EthernetType int
Potentially taken from https://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml
const ( IPv4 EthernetType = 0x0800 ARP EthernetType = 0x0806 RARP EthernetType = 0x8035 VMTP EthernetType = 0x805B APPLE_TALK EthernetType = 0x809B AARP EthernetType = 0x80F3 IPX EthernetType = 0x8137 SNMP EthernetType = 0x814C NET_BIOS EthernetType = 0x8191 XTP EthernetType = 0x817D IPv6 EthernetType = 0x86DD PPPoE_DISCOVERY EthernetType = 0x8863 PPPoE_SESSION EthernetType = 0x8864 LOOPBACK EthernetType = 0x9000 )
func (EthernetType) String ¶
func (t EthernetType) String() string
type ExtendedCommunityAttrSubType ¶
type ExtendedCommunityAttrSubType uint8
RFC7153 5.2. Registries for the "Sub-Type" Field RANGE REGISTRATION PROCEDURES 0x00-0xBF First Come First Served 0xC0-0xFF IETF Review
const ( EC_SUBTYPE_ROUTE_TARGET ExtendedCommunityAttrSubType = 0x02 // EC_TYPE: 0x00, 0x01, 0x02 EC_SUBTYPE_ROUTE_ORIGIN ExtendedCommunityAttrSubType = 0x03 // EC_TYPE: 0x00, 0x01, 0x02 EC_SUBTYPE_LINK_BANDWIDTH ExtendedCommunityAttrSubType = 0x04 // EC_TYPE: 0x40 EC_SUBTYPE_GENERIC ExtendedCommunityAttrSubType = 0x04 // EC_TYPE: 0x02, 0x42 EC_SUBTYPE_OSPF_DOMAIN_ID ExtendedCommunityAttrSubType = 0x05 // EC_TYPE: 0x00, 0x01, 0x02 EC_SUBTYPE_OSPF_ROUTE_ID ExtendedCommunityAttrSubType = 0x07 // EC_TYPE: 0x01 EC_SUBTYPE_BGP_DATA_COLLECTION ExtendedCommunityAttrSubType = 0x08 // EC_TYPE: 0x00, 0x02 EC_SUBTYPE_SOURCE_AS ExtendedCommunityAttrSubType = 0x09 // EC_TYPE: 0x00, 0x02 EC_SUBTYPE_L2VPN_ID ExtendedCommunityAttrSubType = 0x0A // EC_TYPE: 0x00, 0x01 EC_SUBTYPE_VRF_ROUTE_IMPORT ExtendedCommunityAttrSubType = 0x0B // EC_TYPE: 0x01 EC_SUBTYPE_CISCO_VPN_DISTINGUISHER ExtendedCommunityAttrSubType = 0x10 // EC_TYPE: 0x00, 0x01, 0x02 EC_SUBTYPE_OSPF_ROUTE_TYPE ExtendedCommunityAttrSubType = 0x06 // EC_TYPE: 0x03 EC_SUBTYPE_COLOR ExtendedCommunityAttrSubType = 0x0B // EC_TYPE: 0x03 EC_SUBTYPE_ENCAPSULATION ExtendedCommunityAttrSubType = 0x0C // EC_TYPE: 0x03 EC_SUBTYPE_DEFAULT_GATEWAY ExtendedCommunityAttrSubType = 0x0D // EC_TYPE: 0x03 EC_SUBTYPE_ORIGIN_VALIDATION ExtendedCommunityAttrSubType = 0x00 // EC_TYPE: 0x43 EC_SUBTYPE_MUP_DIRECT_SEG ExtendedCommunityAttrSubType = 0x00 // EC_TYPE: 0x0c EC_SUBTYPE_FLOWSPEC_TRAFFIC_RATE ExtendedCommunityAttrSubType = 0x06 // EC_TYPE: 0x80 EC_SUBTYPE_FLOWSPEC_TRAFFIC_ACTION ExtendedCommunityAttrSubType = 0x07 // EC_TYPE: 0x80 EC_SUBTYPE_FLOWSPEC_REDIRECT ExtendedCommunityAttrSubType = 0x08 // EC_TYPE: 0x80 EC_SUBTYPE_FLOWSPEC_TRAFFIC_REMARK ExtendedCommunityAttrSubType = 0x09 // EC_TYPE: 0x80 EC_SUBTYPE_L2_INFO ExtendedCommunityAttrSubType = 0x0A // EC_TYPE: 0x80 EC_SUBTYPE_FLOWSPEC_REDIRECT_IP6 ExtendedCommunityAttrSubType = 0x0B // EC_TYPE: 0x80 EC_SUBTYPE_MAC_MOBILITY ExtendedCommunityAttrSubType = 0x00 // EC_TYPE: 0x06 EC_SUBTYPE_ESI_LABEL ExtendedCommunityAttrSubType = 0x01 // EC_TYPE: 0x06 EC_SUBTYPE_ES_IMPORT ExtendedCommunityAttrSubType = 0x02 // EC_TYPE: 0x06 EC_SUBTYPE_ROUTER_MAC ExtendedCommunityAttrSubType = 0x03 // EC_TYPE: 0x06 EC_SUBTYPE_UUID_BASED_RT ExtendedCommunityAttrSubType = 0x11 )
type ExtendedCommunityAttrType ¶
type ExtendedCommunityAttrType uint8
RFC7153 5.1. Registries for the "Type" Field RANGE REGISTRATION PROCEDURES 0x00-0x3F Transitive First Come First Served 0x40-0x7F Non-Transitive First Come First Served 0x80-0x8F Transitive Experimental Use 0x90-0xBF Transitive Standards Action 0xC0-0xCF Non-Transitive Experimental Use 0xD0-0xFF Non-Transitive Standards Action
const ( EC_TYPE_TRANSITIVE_TWO_OCTET_AS_SPECIFIC ExtendedCommunityAttrType = 0x00 EC_TYPE_TRANSITIVE_IP6_SPECIFIC ExtendedCommunityAttrType = 0x00 // RFC5701 EC_TYPE_TRANSITIVE_IP4_SPECIFIC ExtendedCommunityAttrType = 0x01 EC_TYPE_TRANSITIVE_FOUR_OCTET_AS_SPECIFIC ExtendedCommunityAttrType = 0x02 EC_TYPE_TRANSITIVE_OPAQUE ExtendedCommunityAttrType = 0x03 EC_TYPE_TRANSITIVE_QOS_MARKING ExtendedCommunityAttrType = 0x04 EC_TYPE_COS_CAPABILITY ExtendedCommunityAttrType = 0x05 EC_TYPE_EVPN ExtendedCommunityAttrType = 0x06 EC_TYPE_FLOWSPEC_REDIRECT_MIRROR ExtendedCommunityAttrType = 0x08 EC_TYPE_MUP ExtendedCommunityAttrType = 0x0c EC_TYPE_NON_TRANSITIVE_TWO_OCTET_AS_SPECIFIC ExtendedCommunityAttrType = 0x40 EC_TYPE_NON_TRANSITIVE_LINK_BANDWIDTH ExtendedCommunityAttrType = 0x40 EC_TYPE_NON_TRANSITIVE_IP6_SPECIFIC ExtendedCommunityAttrType = 0x40 // RFC5701 EC_TYPE_NON_TRANSITIVE_IP4_SPECIFIC ExtendedCommunityAttrType = 0x41 EC_TYPE_NON_TRANSITIVE_FOUR_OCTET_AS_SPECIFIC ExtendedCommunityAttrType = 0x42 EC_TYPE_NON_TRANSITIVE_OPAQUE ExtendedCommunityAttrType = 0x43 EC_TYPE_NON_TRANSITIVE_QOS_MARKING ExtendedCommunityAttrType = 0x44 EC_TYPE_GENERIC_TRANSITIVE_EXPERIMENTAL ExtendedCommunityAttrType = 0x80 EC_TYPE_GENERIC_TRANSITIVE_EXPERIMENTAL2 ExtendedCommunityAttrType = 0x81 // RFC7674 EC_TYPE_GENERIC_TRANSITIVE_EXPERIMENTAL3 ExtendedCommunityAttrType = 0x82 // RFC7674 )
type ExtendedCommunityInterface ¶
type ExtendedCommunityInterface interface { Serialize() ([]byte, error) String() string GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType) MarshalJSON() ([]byte, error) Flat() map[string]string }
func ParseExtended ¶
func ParseExtended(data []byte) (ExtendedCommunityInterface, error)
func ParseExtendedCommunity ¶
func ParseExtendedCommunity(subtype ExtendedCommunityAttrSubType, com string) (ExtendedCommunityInterface, error)
func ParseIP6Extended ¶
func ParseIP6Extended(data []byte) (ExtendedCommunityInterface, error)
func ParseRouteTarget ¶
func ParseRouteTarget(rt string) (ExtendedCommunityInterface, error)
type FlowSpecComponent ¶
type FlowSpecComponent struct { Items []*FlowSpecComponentItem // contains filtered or unexported fields }
func NewFlowSpecComponent ¶
func NewFlowSpecComponent(typ BGPFlowSpecType, items []*FlowSpecComponentItem) *FlowSpecComponent
func (*FlowSpecComponent) DecodeFromBytes ¶
func (p *FlowSpecComponent) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*FlowSpecComponent) Len ¶
func (p *FlowSpecComponent) Len(options ...*MarshallingOption) int
func (*FlowSpecComponent) MarshalJSON ¶
func (p *FlowSpecComponent) MarshalJSON() ([]byte, error)
func (*FlowSpecComponent) Serialize ¶
func (p *FlowSpecComponent) Serialize(options ...*MarshallingOption) ([]byte, error)
func (*FlowSpecComponent) String ¶
func (p *FlowSpecComponent) String() string
func (*FlowSpecComponent) Type ¶
func (p *FlowSpecComponent) Type() BGPFlowSpecType
type FlowSpecComponentInterface ¶
type FlowSpecComponentInterface interface { DecodeFromBytes([]byte, ...*MarshallingOption) error Serialize(...*MarshallingOption) ([]byte, error) Len(...*MarshallingOption) int Type() BGPFlowSpecType String() string }
func ParseFlowSpecComponents ¶
func ParseFlowSpecComponents(rf RouteFamily, arg string) ([]FlowSpecComponentInterface, error)
type FlowSpecComponentItem ¶
func NewFlowSpecComponentItem ¶
func NewFlowSpecComponentItem(op uint8, value uint64) *FlowSpecComponentItem
func (*FlowSpecComponentItem) Len ¶
func (v *FlowSpecComponentItem) Len() int
func (*FlowSpecComponentItem) Serialize ¶
func (v *FlowSpecComponentItem) Serialize() ([]byte, error)
type FlowSpecDestinationMac ¶
type FlowSpecDestinationMac struct {
// contains filtered or unexported fields
}
func NewFlowSpecDestinationMac ¶
func NewFlowSpecDestinationMac(mac net.HardwareAddr) *FlowSpecDestinationMac
func (*FlowSpecDestinationMac) DecodeFromBytes ¶
func (p *FlowSpecDestinationMac) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*FlowSpecDestinationMac) Len ¶
func (p *FlowSpecDestinationMac) Len(options ...*MarshallingOption) int
func (*FlowSpecDestinationMac) MarshalJSON ¶
func (*FlowSpecDestinationMac) Serialize ¶
func (p *FlowSpecDestinationMac) Serialize(options ...*MarshallingOption) ([]byte, error)
func (*FlowSpecDestinationMac) Type ¶
func (p *FlowSpecDestinationMac) Type() BGPFlowSpecType
type FlowSpecDestinationPrefix ¶
type FlowSpecDestinationPrefix struct {
// contains filtered or unexported fields
}
func NewFlowSpecDestinationPrefix ¶
func NewFlowSpecDestinationPrefix(prefix AddrPrefixInterface) *FlowSpecDestinationPrefix
func (*FlowSpecDestinationPrefix) DecodeFromBytes ¶
func (p *FlowSpecDestinationPrefix) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*FlowSpecDestinationPrefix) Len ¶
func (p *FlowSpecDestinationPrefix) Len(options ...*MarshallingOption) int
func (*FlowSpecDestinationPrefix) MarshalJSON ¶
func (*FlowSpecDestinationPrefix) Serialize ¶
func (p *FlowSpecDestinationPrefix) Serialize(options ...*MarshallingOption) ([]byte, error)
func (*FlowSpecDestinationPrefix) Type ¶
func (p *FlowSpecDestinationPrefix) Type() BGPFlowSpecType
type FlowSpecDestinationPrefix6 ¶
type FlowSpecDestinationPrefix6 struct {
// contains filtered or unexported fields
}
func NewFlowSpecDestinationPrefix6 ¶
func NewFlowSpecDestinationPrefix6(prefix AddrPrefixInterface, offset uint8) *FlowSpecDestinationPrefix6
func (*FlowSpecDestinationPrefix6) DecodeFromBytes ¶
func (p *FlowSpecDestinationPrefix6) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
draft-ietf-idr-flow-spec-v6-06 <type (1 octet), prefix length (1 octet), prefix offset(1 octet), prefix>
func (*FlowSpecDestinationPrefix6) Len ¶
func (p *FlowSpecDestinationPrefix6) Len(options ...*MarshallingOption) int
func (*FlowSpecDestinationPrefix6) MarshalJSON ¶
func (*FlowSpecDestinationPrefix6) Serialize ¶
func (p *FlowSpecDestinationPrefix6) Serialize(options ...*MarshallingOption) ([]byte, error)
func (*FlowSpecDestinationPrefix6) Type ¶
func (p *FlowSpecDestinationPrefix6) Type() BGPFlowSpecType
type FlowSpecIPv4Unicast ¶
type FlowSpecIPv4Unicast struct {
FlowSpecNLRI
}
func NewFlowSpecIPv4Unicast ¶
func NewFlowSpecIPv4Unicast(value []FlowSpecComponentInterface) *FlowSpecIPv4Unicast
func (*FlowSpecIPv4Unicast) DecodeFromBytes ¶
func (n *FlowSpecIPv4Unicast) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*FlowSpecIPv4Unicast) Flat ¶
func (l *FlowSpecIPv4Unicast) Flat() map[string]string
type FlowSpecIPv4VPN ¶
type FlowSpecIPv4VPN struct {
FlowSpecNLRI
}
func NewFlowSpecIPv4VPN ¶
func NewFlowSpecIPv4VPN(rd RouteDistinguisherInterface, value []FlowSpecComponentInterface) *FlowSpecIPv4VPN
func (*FlowSpecIPv4VPN) DecodeFromBytes ¶
func (n *FlowSpecIPv4VPN) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*FlowSpecIPv4VPN) Flat ¶
func (l *FlowSpecIPv4VPN) Flat() map[string]string
type FlowSpecIPv6Unicast ¶
type FlowSpecIPv6Unicast struct {
FlowSpecNLRI
}
func NewFlowSpecIPv6Unicast ¶
func NewFlowSpecIPv6Unicast(value []FlowSpecComponentInterface) *FlowSpecIPv6Unicast
func (*FlowSpecIPv6Unicast) DecodeFromBytes ¶
func (n *FlowSpecIPv6Unicast) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*FlowSpecIPv6Unicast) Flat ¶
func (l *FlowSpecIPv6Unicast) Flat() map[string]string
type FlowSpecIPv6VPN ¶
type FlowSpecIPv6VPN struct {
FlowSpecNLRI
}
func NewFlowSpecIPv6VPN ¶
func NewFlowSpecIPv6VPN(rd RouteDistinguisherInterface, value []FlowSpecComponentInterface) *FlowSpecIPv6VPN
func (*FlowSpecIPv6VPN) DecodeFromBytes ¶
func (n *FlowSpecIPv6VPN) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*FlowSpecIPv6VPN) Flat ¶
func (l *FlowSpecIPv6VPN) Flat() map[string]string
type FlowSpecL2VPN ¶
type FlowSpecL2VPN struct {
FlowSpecNLRI
}
func NewFlowSpecL2VPN ¶
func NewFlowSpecL2VPN(rd RouteDistinguisherInterface, value []FlowSpecComponentInterface) *FlowSpecL2VPN
func (*FlowSpecL2VPN) DecodeFromBytes ¶
func (n *FlowSpecL2VPN) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*FlowSpecL2VPN) Flat ¶
func (l *FlowSpecL2VPN) Flat() map[string]string
type FlowSpecNLRI ¶
type FlowSpecNLRI struct { PrefixDefault Value []FlowSpecComponentInterface // contains filtered or unexported fields }
func (*FlowSpecNLRI) AFI ¶
func (n *FlowSpecNLRI) AFI() uint16
func (*FlowSpecNLRI) Len ¶
func (n *FlowSpecNLRI) Len(options ...*MarshallingOption) int
func (*FlowSpecNLRI) MarshalJSON ¶
func (n *FlowSpecNLRI) MarshalJSON() ([]byte, error)
func (*FlowSpecNLRI) RD ¶
func (n *FlowSpecNLRI) RD() RouteDistinguisherInterface
func (*FlowSpecNLRI) SAFI ¶
func (n *FlowSpecNLRI) SAFI() uint8
func (*FlowSpecNLRI) Serialize ¶
func (n *FlowSpecNLRI) Serialize(options ...*MarshallingOption) ([]byte, error)
func (*FlowSpecNLRI) String ¶
func (n *FlowSpecNLRI) String() string
type FlowSpecSourceMac ¶
type FlowSpecSourceMac struct {
// contains filtered or unexported fields
}
func NewFlowSpecSourceMac ¶
func NewFlowSpecSourceMac(mac net.HardwareAddr) *FlowSpecSourceMac
func (*FlowSpecSourceMac) DecodeFromBytes ¶
func (p *FlowSpecSourceMac) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*FlowSpecSourceMac) Len ¶
func (p *FlowSpecSourceMac) Len(options ...*MarshallingOption) int
func (*FlowSpecSourceMac) MarshalJSON ¶
func (*FlowSpecSourceMac) Serialize ¶
func (p *FlowSpecSourceMac) Serialize(options ...*MarshallingOption) ([]byte, error)
func (*FlowSpecSourceMac) Type ¶
func (p *FlowSpecSourceMac) Type() BGPFlowSpecType
type FlowSpecSourcePrefix ¶
type FlowSpecSourcePrefix struct {
// contains filtered or unexported fields
}
func NewFlowSpecSourcePrefix ¶
func NewFlowSpecSourcePrefix(prefix AddrPrefixInterface) *FlowSpecSourcePrefix
func (*FlowSpecSourcePrefix) DecodeFromBytes ¶
func (p *FlowSpecSourcePrefix) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*FlowSpecSourcePrefix) Len ¶
func (p *FlowSpecSourcePrefix) Len(options ...*MarshallingOption) int
func (*FlowSpecSourcePrefix) MarshalJSON ¶
func (*FlowSpecSourcePrefix) Serialize ¶
func (p *FlowSpecSourcePrefix) Serialize(options ...*MarshallingOption) ([]byte, error)
func (*FlowSpecSourcePrefix) Type ¶
func (p *FlowSpecSourcePrefix) Type() BGPFlowSpecType
type FlowSpecSourcePrefix6 ¶
type FlowSpecSourcePrefix6 struct {
// contains filtered or unexported fields
}
func NewFlowSpecSourcePrefix6 ¶
func NewFlowSpecSourcePrefix6(prefix AddrPrefixInterface, offset uint8) *FlowSpecSourcePrefix6
func (*FlowSpecSourcePrefix6) DecodeFromBytes ¶
func (p *FlowSpecSourcePrefix6) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
draft-ietf-idr-flow-spec-v6-06 <type (1 octet), prefix length (1 octet), prefix offset(1 octet), prefix>
func (*FlowSpecSourcePrefix6) Len ¶
func (p *FlowSpecSourcePrefix6) Len(options ...*MarshallingOption) int
func (*FlowSpecSourcePrefix6) MarshalJSON ¶
func (*FlowSpecSourcePrefix6) Serialize ¶
func (p *FlowSpecSourcePrefix6) Serialize(options ...*MarshallingOption) ([]byte, error)
func (*FlowSpecSourcePrefix6) Type ¶
func (p *FlowSpecSourcePrefix6) Type() BGPFlowSpecType
type FlowSpecUnknown ¶
type FlowSpecUnknown struct {
Value []byte
}
func (*FlowSpecUnknown) DecodeFromBytes ¶
func (p *FlowSpecUnknown) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*FlowSpecUnknown) Len ¶
func (p *FlowSpecUnknown) Len(options ...*MarshallingOption) int
func (*FlowSpecUnknown) MarshalJSON ¶
func (p *FlowSpecUnknown) MarshalJSON() ([]byte, error)
func (*FlowSpecUnknown) Serialize ¶
func (p *FlowSpecUnknown) Serialize(options ...*MarshallingOption) ([]byte, error)
func (*FlowSpecUnknown) String ¶
func (p *FlowSpecUnknown) String() string
func (*FlowSpecUnknown) Type ¶
func (p *FlowSpecUnknown) Type() BGPFlowSpecType
type FourOctetAsSpecificExtended ¶
type FourOctetAsSpecificExtended struct { SubType ExtendedCommunityAttrSubType AS uint32 LocalAdmin uint16 IsTransitive bool }
func NewFourOctetAsSpecificExtended ¶
func NewFourOctetAsSpecificExtended(subtype ExtendedCommunityAttrSubType, as uint32, localAdmin uint16, isTransitive bool) *FourOctetAsSpecificExtended
func (*FourOctetAsSpecificExtended) Flat ¶
func (e *FourOctetAsSpecificExtended) Flat() map[string]string
func (*FourOctetAsSpecificExtended) GetTypes ¶
func (e *FourOctetAsSpecificExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
func (*FourOctetAsSpecificExtended) MarshalJSON ¶
func (e *FourOctetAsSpecificExtended) MarshalJSON() ([]byte, error)
func (*FourOctetAsSpecificExtended) Serialize ¶
func (e *FourOctetAsSpecificExtended) Serialize() ([]byte, error)
func (*FourOctetAsSpecificExtended) String ¶
func (e *FourOctetAsSpecificExtended) String() string
type FragmentFlag ¶
type FragmentFlag int
func (FragmentFlag) String ¶
func (f FragmentFlag) String() string
type IPAddrPrefix ¶
type IPAddrPrefix struct { IPAddrPrefixDefault // contains filtered or unexported fields }
func NewIPAddrPrefix ¶
func NewIPAddrPrefix(length uint8, prefix string) *IPAddrPrefix
func (*IPAddrPrefix) AFI ¶
func (r *IPAddrPrefix) AFI() uint16
func (*IPAddrPrefix) DecodeFromBytes ¶
func (r *IPAddrPrefix) DecodeFromBytes(data []byte, options ...*MarshallingOption) error
func (*IPAddrPrefix) Len ¶
func (r *IPAddrPrefix) Len(options ...*MarshallingOption) int
func (*IPAddrPrefix) SAFI ¶
func (r *IPAddrPrefix) SAFI() uint8
func (*IPAddrPrefix) Serialize ¶
func (r *IPAddrPrefix) Serialize(options ...*MarshallingOption) ([]byte, error)
type IPAddrPrefixDefault ¶
type IPAddrPrefixDefault struct { PrefixDefault Length uint8 Prefix net.IP }
func (*IPAddrPrefixDefault) Flat ¶
func (p *IPAddrPrefixDefault) Flat() map[string]string
func (*IPAddrPrefixDefault) MarshalJSON ¶
func (r *IPAddrPrefixDefault) MarshalJSON() ([]byte, error)
func (*IPAddrPrefixDefault) String ¶
func (r *IPAddrPrefixDefault) String() string
type IPv4AddressSpecificExtended ¶
type IPv4AddressSpecificExtended struct { SubType ExtendedCommunityAttrSubType IPv4 net.IP LocalAdmin uint16 IsTransitive bool }
func NewIPv4AddressSpecificExtended ¶
func NewIPv4AddressSpecificExtended(subtype ExtendedCommunityAttrSubType, ip string, localAdmin uint16, isTransitive bool) *IPv4AddressSpecificExtended
func (*IPv4AddressSpecificExtended) Flat ¶
func (e *IPv4AddressSpecificExtended) Flat() map[string]string
func (*IPv4AddressSpecificExtended) GetTypes ¶
func (e *IPv4AddressSpecificExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
func (*IPv4AddressSpecificExtended) MarshalJSON ¶
func (e *IPv4AddressSpecificExtended) MarshalJSON() ([]byte, error)
func (*IPv4AddressSpecificExtended) Serialize ¶
func (e *IPv4AddressSpecificExtended) Serialize() ([]byte, error)
func (*IPv4AddressSpecificExtended) String ¶
func (e *IPv4AddressSpecificExtended) String() string
type IPv6AddrPrefix ¶
type IPv6AddrPrefix struct {
IPAddrPrefix
}
func NewIPv6AddrPrefix ¶
func NewIPv6AddrPrefix(length uint8, prefix string) *IPv6AddrPrefix
func (*IPv6AddrPrefix) AFI ¶
func (r *IPv6AddrPrefix) AFI() uint16
func (*IPv6AddrPrefix) String ¶
func (r *IPv6AddrPrefix) String() string
type IPv6AddressSpecificExtended ¶
type IPv6AddressSpecificExtended struct { SubType ExtendedCommunityAttrSubType IPv6 net.IP LocalAdmin uint16 IsTransitive bool }
func NewIPv6AddressSpecificExtended ¶
func NewIPv6AddressSpecificExtended(subtype ExtendedCommunityAttrSubType, ip string, localAdmin uint16, isTransitive bool) *IPv6AddressSpecificExtended
func (*IPv6AddressSpecificExtended) Flat ¶
func (e *IPv6AddressSpecificExtended) Flat() map[string]string
func (*IPv6AddressSpecificExtended) GetTypes ¶
func (e *IPv6AddressSpecificExtended) GetTypes() (ExtendedCommunityAttrType, ExtendedCommunityAttrSubType)
func (*IPv6AddressSpecificExtended) MarshalJSON ¶
func (e *IPv6AddressSpecificExtended) MarshalJSON() ([]byte, error)
func (*IPv6AddressSpecificExtended) Serialize ¶
func (e *IPv6AddressSpecificExtended) Serialize() ([]byte, error)
func (*IPv6AddressSpecificExtended) String ¶
func (e *IPv6AddressSpecificExtended) String() string
type IngressReplTunnelID ¶
func NewIngressReplTunnelID ¶
func NewIngressReplTunnelID(value string) *IngressReplTunnelID
func (*IngressReplTunnelID) Len ¶
func (i *IngressReplTunnelID) Len() int
func (*IngressReplTunnelID) Serialize ¶
func (i *IngressReplTunnelID) Serialize() ([]byte, error)
func (*IngressReplTunnelID) String ¶
func (i *IngressReplTunnelID) String() string
type LabeledIPAddrPrefix ¶
type LabeledIPAddrPrefix struct { IPAddrPrefixDefault Labels MPLSLabelStack // contains filtered or unexported fields }
func NewLabeledIPAddrPrefix ¶
func NewLabeledIPAddrPrefix(length uint8, prefix string, label MPLSLabelStack) *LabeledIPAddrPrefix
func (*LabeledIPAddrPrefix) AFI ¶
func (r *LabeledIPAddrPrefix) AFI() uint16
func (*LabeledIPAddrPrefix) DecodeFromBytes ¶
func (l *LabeledIPAddrPrefix) DecodeFromBytes(data []byte, options ...*MarshallingOption) error