*: use a vishvananda/netlink fork by Monogon
This switches Metropolis over to a Monogon-maintained fork of
vishvananda/netlink.
The package was modified to support the 'sample' action in packet
filters. This is required for the upcoming change enabling network
analytics through local packet capture.
Metropolis' dhcp4c had to be modified to match the vishvananda/netlink
version referenced by this change.
Change-Id: I2dd0799a009618f8543904252b85ff63ddd560c7
Reviewed-on: https://review.monogon.dev/c/monogon/+/1109
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/go.mod b/go.mod
index c2151c3..b4c7ced 100644
--- a/go.mod
+++ b/go.mod
@@ -62,6 +62,9 @@
// bazeldnf currently comes with a go-rpmutils patch
replace github.com/sassoftware/go-rpmutils v0.1.1 => github.com/rmohr/go-rpmutils v0.1.2-0.20201215123907-5acf7436c00d
+// Our psample patches
+replace github.com/vishvananda/netlink => github.com/monogon-dev/netlink v0.0.0-20230125113930-88977c3ff4b3
+
require (
github.com/adrg/xdg v0.4.0
github.com/bazelbuild/rules_go v0.30.0
@@ -114,7 +117,7 @@
golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3
golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4
- golang.org/x/sys v0.0.0-20220513210249-45d2b4557a2a
+ golang.org/x/sys v0.0.0-20220804214406-8e32c043e418
golang.org/x/text v0.3.7
golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20220208144051-fde48d68ee68
diff --git a/go.sum b/go.sum
index 3221238..f5c166d 100644
--- a/go.sum
+++ b/go.sum
@@ -1646,6 +1646,8 @@
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0=
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4=
+github.com/monogon-dev/netlink v0.0.0-20230125113930-88977c3ff4b3 h1:y05BDqZ6q3if6pYBHJcnQRUd92ihzBEJde/S4fpKEAM=
+github.com/monogon-dev/netlink v0.0.0-20230125113930-88977c3ff4b3/go.mod h1:cAAsePK2e15YDAMJNyOpGYEWNe4sIghTY7gpz4cX/Ik=
github.com/monogon-dev/ttrpc v1.0.2-0.20210119122237-222b428f008e h1:+Fbjfo26pg4HtkAw9sC/YhUwaAb16355o/J/oHkyCDc=
github.com/monogon-dev/ttrpc v1.0.2-0.20210119122237-222b428f008e/go.mod h1:g04xY+y0I7btWLP6tHhnQOci4GimvhUo57XUf0410Ww=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
@@ -2111,13 +2113,6 @@
github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc=
github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
-github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
-github.com/vishvananda/netlink v1.0.0/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
-github.com/vishvananda/netlink v1.0.1-0.20190930145447-2ec5bdc52b86/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
-github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE=
-github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
-github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5 h1:+UB2BJA852UkGH42H+Oee69djmxS3ANzl2b/JtT1YiA=
-github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI=
github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI=
github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU=
@@ -2594,7 +2589,6 @@
golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606122018-79a91cf218c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190620070143-6f217b454f45/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -2731,8 +2725,9 @@
golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220513210249-45d2b4557a2a h1:N2T1jUrTQE9Re6TFF5PhvEHXHCguynGhKjWVsIUt5cY=
golang.org/x/sys v0.0.0-20220513210249-45d2b4557a2a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220804214406-8e32c043e418 h1:9vYwv7OjYaky/tlAeD7C4oC9EsPTlaFl1H2jS++V+ME=
+golang.org/x/sys v0.0.0-20220804214406-8e32c043e418/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
diff --git a/metropolis/node/core/network/dhcp4c/callback/callback_test.go b/metropolis/node/core/network/dhcp4c/callback/callback_test.go
index 7b06713..a1c459a 100644
--- a/metropolis/node/core/network/dhcp4c/callback/callback_test.go
+++ b/metropolis/node/core/network/dhcp4c/callback/callback_test.go
@@ -194,6 +194,7 @@
// Linux weirdly returns no RTA_DST for default routes, but one
// for everything else.
Dst: nil,
+ Family: unix.AF_INET,
Gw: testNet1Router,
Src: testNet1.IP,
Table: mainRoutingTable,
@@ -212,6 +213,7 @@
name: "RemovesUnrelatedOldRoutes",
initialRoutes: []netlink.Route{{
Dst: &testRoute,
+ Family: unix.AF_INET,
LinkIndex: -1, // Filled in dynamically with test interface
Protocol: unix.RTPROT_DHCP,
Gw: testNet2Router,
@@ -225,6 +227,7 @@
name: "IgnoresNonDHCPRoutes",
initialRoutes: []netlink.Route{{
Dst: &testRoute,
+ Family: unix.AF_INET,
LinkIndex: -1, // Filled in dynamically with test interface
Protocol: unix.RTPROT_BIRD,
Gw: testNet2Router,
@@ -234,6 +237,7 @@
expectedRoutes: []netlink.Route{{
Protocol: unix.RTPROT_BIRD,
Dst: &testRoute,
+ Family: unix.AF_INET,
Gw: testNet2Router,
Table: mainRoutingTable,
LinkIndex: -1, // Filled in dynamically with test interface
@@ -244,6 +248,7 @@
name: "RemovesRoute",
initialRoutes: []netlink.Route{{
Dst: nil,
+ Family: unix.AF_INET,
LinkIndex: -1, // Filled in dynamically with test interface
Protocol: unix.RTPROT_DHCP,
Gw: testNet2Router,
@@ -256,6 +261,7 @@
name: "UpdatesRoute",
initialRoutes: []netlink.Route{{
Dst: nil,
+ Family: unix.AF_INET,
LinkIndex: -1, // Filled in dynamically with test interface
Protocol: unix.RTPROT_DHCP,
Src: testNet1.IP,
@@ -266,6 +272,7 @@
expectedRoutes: []netlink.Route{{
Protocol: unix.RTPROT_DHCP,
Dst: nil,
+ Family: unix.AF_INET,
Gw: testNet2Router,
Src: testNet2.IP,
Table: mainRoutingTable,
@@ -288,6 +295,7 @@
expectedRoutes: []netlink.Route{{
Protocol: unix.RTPROT_DHCP,
Dst: nil,
+ Family: unix.AF_INET,
Gw: net.IPv4(192, 168, 42, 1).To4(), // Equal() doesn't know about canonicalization
Src: testNet1.IP,
Table: mainRoutingTable,
@@ -296,6 +304,7 @@
}, {
Protocol: unix.RTPROT_DHCP,
Dst: mustParseCIDR("192.168.42.1/32"),
+ Family: unix.AF_INET,
Gw: nil,
Src: testNet1.IP,
Table: mainRoutingTable,
diff --git a/third_party/go/repositories.bzl b/third_party/go/repositories.bzl
index 85d8e56..4ef864b 100644
--- a/third_party/go/repositories.bzl
+++ b/third_party/go/repositories.bzl
@@ -4917,8 +4917,9 @@
go_repository(
name = "com_github_vishvananda_netlink",
importpath = "github.com/vishvananda/netlink",
- sum = "h1:+UB2BJA852UkGH42H+Oee69djmxS3ANzl2b/JtT1YiA=",
- version = "v1.1.1-0.20210330154013-f5de75959ad5",
+ replace = "github.com/monogon-dev/netlink",
+ sum = "h1:y05BDqZ6q3if6pYBHJcnQRUd92ihzBEJde/S4fpKEAM=",
+ version = "v0.0.0-20230125113930-88977c3ff4b3",
)
go_repository(
name = "com_github_vishvananda_netns",
@@ -6170,8 +6171,8 @@
go_repository(
name = "org_golang_x_sys",
importpath = "golang.org/x/sys",
- sum = "h1:N2T1jUrTQE9Re6TFF5PhvEHXHCguynGhKjWVsIUt5cY=",
- version = "v0.0.0-20220513210249-45d2b4557a2a",
+ sum = "h1:9vYwv7OjYaky/tlAeD7C4oC9EsPTlaFl1H2jS++V+ME=",
+ version = "v0.0.0-20220804214406-8e32c043e418",
)
go_repository(
name = "org_golang_x_term",