package
0.0.2
Repository: https://github.com/nextmn/rfc9433.git
Documentation: pkg.go.dev

# Packages

Package errors provides common encoding errors used by rfc9433 package.

# Functions

NewArgsMobSession creates an ArgsMobSession.
NewMGTP4IPv6Dst creates a new MGTP4IPv6Dst.
NewMGTP4IPv6Src creates a nw MGTP4IPv6Src.
ParseArgsMobSession parses given byte sequence as an ArgsMobSession.
ParseMGTP4IPv6Dst parses a given byte sequence into a MGTP4IPv6Dst according to the given prefixLength.
ParseMGTP4IPv6SrcNextMN parses a given IPv6 source address without any specific bit pattern into a MGTP4IPv6Src.
ParseMGTP4IPv6SrcNextMN parses a given IPv6 source address with NextMN bit pattern into a MGTP4IPv6Src.

# Structs

Args.Mob.Session as defined in RFC 9433, section 6.1: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QFI |R|U| PDU Session ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |PDU Sess(cont')| +-+-+-+-+-+-+-+-+ Figure 8: Args.Mob.Session Format.
RFC 9433, section 6.6 (End.M.GTP4.E): The End.M.GTP.E SID in S has the following format: 0 127 +-----------------------+-------+----------------+---------+ | SRGW-IPv6-LOC-FUNC |IPv4DA |Args.Mob.Session|0 Padded | +-----------------------+-------+----------------+---------+ 128-a-b-c a b c Figure 9: End.M.GTP4.E SID Encoding.
RFC 9433, section 6.6 (End.M.GTP4.E): The IPv6 Source Address has the following format: 0 127 +----------------------+--------+--------------------------+ | Source UPF Prefix |IPv4 SA | any bit pattern(ignored) | +----------------------+--------+--------------------------+ 128-a-b a b Figure 10: IPv6 SA Encoding for End.M.GTP4.E With NextMN implementation, we choose to deviate from the RFC because RFC's proposal doesn't allow to retrieve the IPv4 SA without knowing the prefix length, which may be different for 2 packets issued from 2 different headends.