Documentation
¶
Index ¶
- Variables
- type EtherType
- func (*EtherType) Descriptor() ([]byte, []int)deprecated
- func (x *EtherType) GetExplicit() uint32
- func (x *EtherType) GetValue() isEtherType_Value
- func (x *EtherType) GetWellKnown() EtherType_Eth
- func (*EtherType) ProtoMessage()
- func (x *EtherType) ProtoReflect() protoreflect.Message
- func (x *EtherType) Reset()
- func (x *EtherType) String() string
- type EtherType_Eth
- func (EtherType_Eth) Descriptor() protoreflect.EnumDescriptor
- func (x EtherType_Eth) Enum() *EtherType_Eth
- func (EtherType_Eth) EnumDescriptor() ([]byte, []int)deprecated
- func (x EtherType_Eth) Number() protoreflect.EnumNumber
- func (x EtherType_Eth) String() string
- func (EtherType_Eth) Type() protoreflect.EnumType
- func (x *EtherType_Eth) UnmarshalJSON(b []byte) errordeprecated
- type EtherType_Explicit
- type EtherType_WellKnown
- type IPNetwork
- type RouterId
- func (*RouterId) Descriptor() ([]byte, []int)deprecated
- func (x *RouterId) GetDottedQuad() string
- func (x *RouterId) GetType() isRouterId_Type
- func (x *RouterId) GetU32() uint32
- func (*RouterId) ProtoMessage()
- func (x *RouterId) ProtoReflect() protoreflect.Message
- func (x *RouterId) Reset()
- func (x *RouterId) String() string
- type RouterId_DottedQuad
- type RouterId_U32
- type SegmentId
Constants ¶
This section is empty.
Variables ¶
var ( EtherType_Eth_name = map[int32]string{ 0: "ETH_UNSPECIFIED", 2048: "ETH_IPV4", 2054: "ETH_ARP", 33024: "ETH_VLAN_CTAG", 34525: "ETH_IPV6", 34887: "ETH_MPLS", 34888: "ETH_MPLS_UPSTREAM", 34984: "ETH_VLAN_STAG", 35047: "ETH_PBB", } EtherType_Eth_value = map[string]int32{ "ETH_UNSPECIFIED": 0, "ETH_IPV4": 2048, "ETH_ARP": 2054, "ETH_VLAN_CTAG": 33024, "ETH_IPV6": 34525, "ETH_MPLS": 34887, "ETH_MPLS_UPSTREAM": 34888, "ETH_VLAN_STAG": 34984, "ETH_PBB": 35047, } )
Enum value maps for EtherType_Eth.
var File_api_types_ethernet_proto protoreflect.FileDescriptor
var File_api_types_ietf_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type EtherType ¶
type EtherType struct {
// Types that are valid to be assigned to Value:
//
// *EtherType_WellKnown
// *EtherType_Explicit
Value isEtherType_Value `protobuf_oneof:"value"`
// contains filtered or unexported fields
}
Identifies an "EtherType" value.
See also the IANA registry for IEEE 802 Numbers:
https://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml
func (*EtherType) GetWellKnown ¶
func (x *EtherType) GetWellKnown() EtherType_Eth
func (*EtherType) ProtoReflect ¶
func (x *EtherType) ProtoReflect() protoreflect.Message
type EtherType_Eth ¶
type EtherType_Eth int32
A collection of well-known EtherTypes.
const ( EtherType_ETH_UNSPECIFIED EtherType_Eth = 0 EtherType_ETH_IPV4 EtherType_Eth = 2048 // 0x0800 EtherType_ETH_ARP EtherType_Eth = 2054 // 0x0806 EtherType_ETH_VLAN_CTAG EtherType_Eth = 33024 // 0x8100 (IEEE 802.1Q) EtherType_ETH_IPV6 EtherType_Eth = 34525 // 0x86dd EtherType_ETH_MPLS EtherType_Eth = 34887 // 0x8847 // Formerly MPLS multicast; see RFC 5332. EtherType_ETH_MPLS_UPSTREAM EtherType_Eth = 34888 // 0x8848; upstream-assigned label EtherType_ETH_VLAN_STAG EtherType_Eth = 34984 // 0x88A8 (IEEE 802.1ad, "QinQ") EtherType_ETH_PBB EtherType_Eth = 35047 // 0x88E7 (IEEE 802.1Q, Backbone Service Instance) )
func (EtherType_Eth) Descriptor ¶
func (EtherType_Eth) Descriptor() protoreflect.EnumDescriptor
func (EtherType_Eth) Enum ¶
func (x EtherType_Eth) Enum() *EtherType_Eth
func (EtherType_Eth) EnumDescriptor
deprecated
func (EtherType_Eth) EnumDescriptor() ([]byte, []int)
Deprecated: Use EtherType_Eth.Descriptor instead.
func (EtherType_Eth) Number ¶
func (x EtherType_Eth) Number() protoreflect.EnumNumber
func (EtherType_Eth) String ¶
func (x EtherType_Eth) String() string
func (EtherType_Eth) Type ¶
func (EtherType_Eth) Type() protoreflect.EnumType
func (*EtherType_Eth) UnmarshalJSON
deprecated
func (x *EtherType_Eth) UnmarshalJSON(b []byte) error
Deprecated: Do not use.
type EtherType_Explicit ¶
type EtherType_Explicit struct {
Explicit uint32 `protobuf:"varint,2,opt,name=explicit,oneof"`
}
type EtherType_WellKnown ¶
type EtherType_WellKnown struct {
WellKnown EtherType_Eth `protobuf:"varint,1,opt,name=well_known,json=wellKnown,enum=aalyria.spacetime.api.types.EtherType_Eth,oneof"`
}
type IPNetwork ¶
type IPNetwork struct {
IpPrefix string `protobuf:"bytes,1,opt,name=ip_prefix,json=ipPrefix,proto3" json:"ip_prefix,omitempty"`
Realm string `protobuf:"bytes,2,opt,name=realm,proto3" json:"realm,omitempty"`
// contains filtered or unexported fields
}
A type representing an IP prefix that may optionally need an additional qualifier to be properly unique. This is required, for example, when multiple non-public IP prefixes may be referenced within an NMTS model (e.g., overlapping RFC 1918 networks, or incorrectly-allocated ULAs).
The `ip_prefix` field is the approximate equivalent of "inet:ip-prefix" from the "ietf-inet-types" YANG module; see also [RFC 6991](https://rfc-editor.org/rfc/rfc6991). It contains the the string representation of an IPv4 or IPv6 prefix, with a CIDR suffix and without any zone/scope ID qualifier. Text formatting should follow [RFC 5952](https://rfc-editor.org/rfc/rfc5952), especially section 4.3.
The `realm` field is an optional qualifier containing a string name for a "realm" that is significant within the model and sufficient to differentiate one instance of a non-public prefix from another. The name "realm" is modeled after RFC 3102/3103 Realm-specific IP, though this in no way implies support for this protocol.
func (*IPNetwork) ProtoReflect ¶
func (x *IPNetwork) ProtoReflect() protoreflect.Message
type RouterId ¶
type RouterId struct {
// Types that are valid to be assigned to Type:
//
// *RouterId_DottedQuad
// *RouterId_U32
Type isRouterId_Type `protobuf_oneof:"type"`
// contains filtered or unexported fields
}
The format of the `dotted_quad` string field is given by RFC 6991 [Section 3](https://rfc-editor.org/rfc/rfc6991#section-3):
"An unsigned 32-bit number expressed in the dotted-quad notation, i.e., four octets written as decimal numbers and separated with the '.' (full stop) character."
See also:
- [OSPFv2](https://rfc-editor.org/rfc/rfc2328#section-1.2)
- [OSPFv3](https://rfc-editor.org/rfc/rfc5340#section-2.11)
IS-IS identifiers may be much larger, but 4-octet conventions and uses are common practice, e.g.:
- [IS-IS for IP](https://rfc-editor.org/rfc/rfc1195#section-3.3)
- [IS-IS TE](https://rfc-editor.org/rfc/rfc5305#section-4.3)
Note: "0.0.0.0" is commonly considered RESERVED in several router identification and configuration contexts and SHOULD NOT be used.
func (*RouterId) ProtoReflect ¶
func (x *RouterId) ProtoReflect() protoreflect.Message
type RouterId_DottedQuad ¶
type RouterId_DottedQuad struct {
DottedQuad string `protobuf:"bytes,1,opt,name=dotted_quad,json=dottedQuad,proto3,oneof"`
}
type RouterId_U32 ¶
type RouterId_U32 struct {
U32 uint32 `protobuf:"varint,2,opt,name=u32,proto3,oneof"`
}
type SegmentId ¶
type SegmentId struct {
Mpls *uint32 `protobuf:"varint,1,opt,name=mpls,proto3,oneof" json:"mpls,omitempty"` // restricted to unsigned 20-bit values
Ipv6 *string `protobuf:"bytes,2,opt,name=ipv6,proto3,oneof" json:"ipv6,omitempty"` // An IPv6 (SRv6) address.
// contains filtered or unexported fields
}
A Segment Routing Architecture Segment Identifier (SID).
One representation of a SID is as an index relative to a block of other identifiers. That representation is presently NOT RECOMMENDED here; all SIDs should be resolved to concrete data plane values prior to input to the model.
It is not expected that networks would operate both SR-MPLS and SRv6 at the same time. Nevertheless, a router could conceivably "bridge" an SR-MPLS domain and an SRv6 domain (especially since an SRv6 domain can more easily span multiple administrative domains, whether advisable or not).
Values for `mpls` fields are 20-bit unsigned integers. Zero (0), being reserved for the "IPv4 Explicit NULL Label", is not a valid SR-MPLS label value. See also:
https://rfc-editor.org/rfc/rfc3032#section-2.1 https://iana.org/assignments/mpls-label-values
Values for `ipv6` fields may be any forwardable unicast IPv6 address. Use of addresses from the IANA-reserved 5f00::/16 prefix is RECOMMENDED. Empty `IPv6Address` strings and the zero-value "::" are both invalid SRv6 SIDs. See also:
https://datatracker.ietf.org/doc/draft-ietf-6man-sids/ https://iana.org/assignments/iana-ipv6-special-registry
func (*SegmentId) ProtoReflect ¶
func (x *SegmentId) ProtoReflect() protoreflect.Message
Source Files
¶
- ethernet.pb.go
- ietf.pb.go