From 886e0f258dadc8432dc2dc348ab6ca996f3094eb Mon Sep 17 00:00:00 2001 From: Louis Royer Date: Mon, 24 Jun 2024 17:04:14 +0200 Subject: [PATCH] Update jsonapi to v0.0.4 --- go.mod | 2 +- go.sum | 2 ++ internal/netfunc/headend-encaps-ctrl.go | 10 +++++++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 744d9a0..81f5a3c 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/google/gopacket v1.1.19 github.com/nextmn/gopacket-gtp v0.0.6 github.com/nextmn/gopacket-srv6 v0.0.7 - github.com/nextmn/json-api v0.0.3 + github.com/nextmn/json-api v0.0.4 github.com/songgao/water v0.0.0-20200317203138-2b4b6d7c09d8 github.com/urfave/cli/v2 v2.27.2 gopkg.in/yaml.v3 v3.0.1 diff --git a/go.sum b/go.sum index f6431a5..806eab7 100644 --- a/go.sum +++ b/go.sum @@ -67,6 +67,8 @@ github.com/nextmn/json-api v0.0.2 h1:Xo18bv+eWPc+BBfjNP5MdA0bWokaupzEGW5kt1BwYxg github.com/nextmn/json-api v0.0.2/go.mod h1:gi9IhsD+FFg7iEnJaZtEaY1WlZkQ75KBBk0z5FmSJBU= github.com/nextmn/json-api v0.0.3 h1:COfRvrXsPOnkYTMoEfcX55n2H1dDKJh86AqT8+N6qZo= github.com/nextmn/json-api v0.0.3/go.mod h1:gi9IhsD+FFg7iEnJaZtEaY1WlZkQ75KBBk0z5FmSJBU= +github.com/nextmn/json-api v0.0.4 h1:K8zNEesHMv8gHxP4zDoTbIhIhH85/8YY18hQaKpuUy4= +github.com/nextmn/json-api v0.0.4/go.mod h1:gi9IhsD+FFg7iEnJaZtEaY1WlZkQ75KBBk0z5FmSJBU= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= diff --git a/internal/netfunc/headend-encaps-ctrl.go b/internal/netfunc/headend-encaps-ctrl.go index 70d35da..37fb9b3 100644 --- a/internal/netfunc/headend-encaps-ctrl.go +++ b/internal/netfunc/headend-encaps-ctrl.go @@ -40,8 +40,8 @@ func (h HeadendEncapsWithCtrl) Handle(packet []byte) ([]byte, error) { if err != nil { return nil, err } - src := net.ParseIP("::") // FIXME: don't hardcode - nextHop := net.ParseIP(action.SRH) // FIXME: allow multiple segments + src := net.ParseIP("::") // FIXME: don't hardcode + nextHop := action.NextHop.AsSlice() // FIXME: allow multiple segments ipheader := &layers.IPv6{ SrcIP: src, // S06. Set the IPv6 DA = B @@ -54,7 +54,11 @@ func (h HeadendEncapsWithCtrl) Handle(packet []byte) ([]byte, error) { } // FIXME: allow multiple segments //segList := append([]net.IP{seg0}, bsid.ReverseSegmentsList()...) - segList := []net.IP{nextHop} + segList := []net.IP{} + for _, seg := range action.SRH { + segList = append(segList, seg.AsSlice()) + } + srh := &gopacket_srv6.IPv6Routing{ RoutingType: 4, // the first item on segments list is the next endpoint