tlv: add links to rfc
This commit is contained in:
parent
9bc7c59221
commit
4b5fce5c1f
12
tlv/tlv.go
12
tlv/tlv.go
|
@ -317,6 +317,7 @@ func assertSubLengthGreater(b []byte, t SubType, l int) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://datatracker.ietf.org/doc/html/rfc8966#section-4.6.1
|
||||||
type Pad1 struct{}
|
type Pad1 struct{}
|
||||||
|
|
||||||
func (Pad1) T() Type {
|
func (Pad1) T() Type {
|
||||||
|
@ -332,6 +333,7 @@ func Pad1FromBytes(b []byte) (Pad1, []byte, error) {
|
||||||
return Pad1{}, b[1:], nil
|
return Pad1{}, b[1:], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://datatracker.ietf.org/doc/html/rfc8966#section-4.6.2
|
||||||
type PadN uint8
|
type PadN uint8
|
||||||
|
|
||||||
func (PadN) T() Type {
|
func (PadN) T() Type {
|
||||||
|
@ -347,6 +349,7 @@ func PadNFromBytes(b []byte) (PadN, []byte, error) {
|
||||||
return PadN(b[1]), b[1:], nil
|
return PadN(b[1]), b[1:], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://datatracker.ietf.org/doc/html/rfc8966#section-4.6.3
|
||||||
type AckReq struct {
|
type AckReq struct {
|
||||||
Opaque [2]byte
|
Opaque [2]byte
|
||||||
Interval uint16
|
Interval uint16
|
||||||
|
@ -371,6 +374,7 @@ func AckReqFromBytes(b []byte) (AckReq, []byte, error) {
|
||||||
return ar, b[6:], nil
|
return ar, b[6:], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://datatracker.ietf.org/doc/html/rfc8966#section-4.6.4
|
||||||
type Ack struct {
|
type Ack struct {
|
||||||
Opaque uint16
|
Opaque uint16
|
||||||
}
|
}
|
||||||
|
@ -389,6 +393,7 @@ func AckFromBytes(b []byte) (Ack, []byte, error) {
|
||||||
return Ack{uint16(b[0])<<8 | uint16(b[1])}, b[4:], nil
|
return Ack{uint16(b[0])<<8 | uint16(b[1])}, b[4:], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://datatracker.ietf.org/doc/html/rfc8966#section-4.6.5
|
||||||
type Hello struct {
|
type Hello struct {
|
||||||
Flags uint16
|
Flags uint16
|
||||||
Seqno uint16
|
Seqno uint16
|
||||||
|
@ -414,6 +419,7 @@ func HelloFromBytes(b []byte) (Hello, []byte, error) {
|
||||||
return h, b[6:], nil
|
return h, b[6:], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://datatracker.ietf.org/doc/html/rfc8966#section-4.6.6
|
||||||
type IHU struct {
|
type IHU struct {
|
||||||
// AE uint8
|
// AE uint8
|
||||||
// reserved uint8
|
// reserved uint8
|
||||||
|
@ -457,6 +463,7 @@ func IHUFromBytes(b []byte) (IHU, []byte, error) {
|
||||||
return ihu, b, err
|
return ihu, b, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://datatracker.ietf.org/doc/html/rfc8966#section-4.6.7
|
||||||
type RouterID [8]byte
|
type RouterID [8]byte
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -501,6 +508,7 @@ func (r RouterID) String() string {
|
||||||
return buf.String()
|
return buf.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://datatracker.ietf.org/doc/html/rfc8966#section-4.6.8
|
||||||
type NextHop struct {
|
type NextHop struct {
|
||||||
// AE uint8
|
// AE uint8
|
||||||
// reserved uint8
|
// reserved uint8
|
||||||
|
@ -533,6 +541,7 @@ func NextHopFromBytes(b []byte) (NextHop, []byte, error) {
|
||||||
return nh, b, err
|
return nh, b, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://datatracker.ietf.org/doc/html/rfc8966#section-4.6.9
|
||||||
type Update struct {
|
type Update struct {
|
||||||
// AE uint8
|
// AE uint8
|
||||||
Flags uint8
|
Flags uint8
|
||||||
|
@ -610,6 +619,7 @@ func (s *PacketDecoder) UpdateFromBytes(b []byte) (Update, []byte, error) {
|
||||||
return u, b, err
|
return u, b, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://datatracker.ietf.org/doc/html/rfc8966#section-4.6.10
|
||||||
type RouteRequest struct {
|
type RouteRequest struct {
|
||||||
// AE uint8
|
// AE uint8
|
||||||
// plen uint8
|
// plen uint8
|
||||||
|
@ -637,6 +647,7 @@ func RouteRequestFromBytes(b []byte) (RouteRequest, []byte, error) {
|
||||||
return rr, b, err
|
return rr, b, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://datatracker.ietf.org/doc/html/rfc8966#section-4.6.11
|
||||||
type SeqnoRequest struct {
|
type SeqnoRequest struct {
|
||||||
// AE uint8
|
// AE uint8
|
||||||
// Plen uint8
|
// Plen uint8
|
||||||
|
@ -670,6 +681,7 @@ func SeqnoRequestFromBytes(b []byte) (SeqnoRequest, []byte, error) {
|
||||||
return sr, b, err
|
return sr, b, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://datatracker.ietf.org/doc/html/draft-ietf-babel-source-specific-07#section-7.1
|
||||||
type SourcePrefix struct {
|
type SourcePrefix struct {
|
||||||
netaddr.IPPrefix
|
netaddr.IPPrefix
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue