diff --git a/attr_far.go b/attr_far.go index 4c8c76d..1e76764 100644 --- a/attr_far.go +++ b/attr_far.go @@ -17,7 +17,7 @@ const ( type FAR struct { ID uint32 - Action uint8 + Action uint16 Param *ForwardParam PDRIDs []uint16 BARID *uint8 @@ -35,7 +35,7 @@ func DecodeFAR(b []byte) (*FAR, error) { case FAR_ID: far.ID = native.Uint32(b[n:]) case FAR_APPLY_ACTION: - far.Action = b[n] + far.Action = native.Uint16(b[n:]) case FAR_FORWARDING_PARAMETER: param, err := DecodeForwardParam(b[n:]) if err != nil { diff --git a/cmd/gogtp5g-tunnel/cmd_far.go b/cmd/gogtp5g-tunnel/cmd_far.go index 282fc29..e124a2e 100644 --- a/cmd/gogtp5g-tunnel/cmd_far.go +++ b/cmd/gogtp5g-tunnel/cmd_far.go @@ -35,7 +35,7 @@ func ParseFAROptions(args []string) ([]nl.Attr, error) { } attrs = append(attrs, nl.Attr{ Type: gtp5gnl.FAR_APPLY_ACTION, - Value: nl.AttrU8(v), + Value: nl.AttrU16(v), }) case "--hdr-creation": // --hdr-creation diff --git a/far.go b/far.go index 0cf135e..1b5f5cb 100644 --- a/far.go +++ b/far.go @@ -10,7 +10,7 @@ import ( // m LINK: ifindex // m FAR_ID: u32 -// m FAR_APPLY_ACTION: u8 +// m FAR_APPLY_ACTION: u16 // m FAR_FORWARDING_PARAMETER { // m FORWARDING_PARAMETER_OUTER_HEADER_CREATION { // OUTER_HEADER_CREATION_DESCRIPTION: u16 diff --git a/far_test.go b/far_test.go index ce02657..6cdcdd1 100644 --- a/far_test.go +++ b/far_test.go @@ -49,7 +49,7 @@ func TestCreateFAR(t *testing.T) { attrs := []nl.Attr{ { Type: FAR_APPLY_ACTION, - Value: nl.AttrU8(1), + Value: nl.AttrU16(1), }, { Type: FAR_FORWARDING_PARAMETER,