public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
* [PATCH 1/3] test: Fix name of CI asciinema player in perf links handler
@ 2022-02-23 10:04 Stefano Brivio
  2022-02-23 10:04 ` [PATCH 2/3] netlink: Avoid left-over bytes in request on MTU configuration Stefano Brivio
  2022-02-23 10:04 ` [PATCH 3/3] conf, ndp: Disable router advertisements on --config-net Stefano Brivio
  0 siblings, 2 replies; 3+ messages in thread
From: Stefano Brivio @ 2022-02-23 10:04 UTC (permalink / raw)
  To: passt-dev

[-- Attachment #1: Type: text/plain, Size: 787 bytes --]

Signed-off-by: Stefano Brivio <sbrivio(a)redhat.com>
---
 test/lib/perf_report | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/test/lib/perf_report b/test/lib/perf_report
index 9117046..f1d3ab9 100755
--- a/test/lib/perf_report
+++ b/test/lib/perf_report
@@ -114,11 +114,10 @@ for (var i = 0; i < perf_links.length; i++) {
 		}
 
 		event.preventDefault();
-		ci_video_player.dispose();
-		ci_video_player = AsciinemaPlayer.create(
-			"/builds/latest/web/ci.cast",
-			ci_video,
-			{ startAt: seek, autoplay: true });
+		ci_player.dispose();
+		ci_player = AsciinemaPlayer.create("/builds/latest/web/ci.cast",
+						   ci_video,
+						   { startAt: seek, autoplay: true });
 
 		window.scrollTo({ top: top, behavior: "smooth" })
 	}, false);
-- 
@@ -114,11 +114,10 @@ for (var i = 0; i < perf_links.length; i++) {
 		}
 
 		event.preventDefault();
-		ci_video_player.dispose();
-		ci_video_player = AsciinemaPlayer.create(
-			"/builds/latest/web/ci.cast",
-			ci_video,
-			{ startAt: seek, autoplay: true });
+		ci_player.dispose();
+		ci_player = AsciinemaPlayer.create("/builds/latest/web/ci.cast",
+						   ci_video,
+						   { startAt: seek, autoplay: true });
 
 		window.scrollTo({ top: top, behavior: "smooth" })
 	}, false);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/3] netlink: Avoid left-over bytes in request on MTU configuration
  2022-02-23 10:04 [PATCH 1/3] test: Fix name of CI asciinema player in perf links handler Stefano Brivio
@ 2022-02-23 10:04 ` Stefano Brivio
  2022-02-23 10:04 ` [PATCH 3/3] conf, ndp: Disable router advertisements on --config-net Stefano Brivio
  1 sibling, 0 replies; 3+ messages in thread
From: Stefano Brivio @ 2022-02-23 10:04 UTC (permalink / raw)
  To: passt-dev

[-- Attachment #1: Type: text/plain, Size: 1309 bytes --]

When nl_link() configures the MTU, it shouldn't send extra bytes,
otherwise we'll get a kernel warning:

  netlink: 4 bytes leftover after parsing attributes in process `pasta'.

Signed-off-by: Stefano Brivio <sbrivio(a)redhat.com>
---
 netlink.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/netlink.c b/netlink.c
index 532868d..a530f3f 100644
--- a/netlink.c
+++ b/netlink.c
@@ -479,13 +479,16 @@ next:
 void nl_link(int ns, unsigned int ifi, void *mac, int up, int mtu)
 {
 	int change = !MAC_IS_ZERO(mac) || up || mtu;
-	struct {
+	struct req_t {
 		struct nlmsghdr nlh;
 		struct ifinfomsg ifm;
 		struct rtattr rta;
 		union {
 			unsigned char mac[ETH_ALEN];
-			unsigned int mtu;
+			struct {
+				unsigned int mtu;
+				uint8_t end;
+			} mtu;
 		} set;
 	} req = {
 		.nlh.nlmsg_type   = change ? RTM_NEWLINK : RTM_GETLINK,
@@ -513,8 +516,8 @@ void nl_link(int ns, unsigned int ifi, void *mac, int up, int mtu)
 	}
 
 	if (mtu) {
-		req.nlh.nlmsg_len = sizeof(req);
-		req.set.mtu = mtu;
+		req.nlh.nlmsg_len = offsetof(struct req_t, set.mtu.end);
+		req.set.mtu.mtu = mtu;
 		req.rta.rta_type = IFLA_MTU;
 		req.rta.rta_len = RTA_LENGTH(sizeof(unsigned int));
 		nl_req(ns, buf, &req, req.nlh.nlmsg_len);
-- 
@@ -479,13 +479,16 @@ next:
 void nl_link(int ns, unsigned int ifi, void *mac, int up, int mtu)
 {
 	int change = !MAC_IS_ZERO(mac) || up || mtu;
-	struct {
+	struct req_t {
 		struct nlmsghdr nlh;
 		struct ifinfomsg ifm;
 		struct rtattr rta;
 		union {
 			unsigned char mac[ETH_ALEN];
-			unsigned int mtu;
+			struct {
+				unsigned int mtu;
+				uint8_t end;
+			} mtu;
 		} set;
 	} req = {
 		.nlh.nlmsg_type   = change ? RTM_NEWLINK : RTM_GETLINK,
@@ -513,8 +516,8 @@ void nl_link(int ns, unsigned int ifi, void *mac, int up, int mtu)
 	}
 
 	if (mtu) {
-		req.nlh.nlmsg_len = sizeof(req);
-		req.set.mtu = mtu;
+		req.nlh.nlmsg_len = offsetof(struct req_t, set.mtu.end);
+		req.set.mtu.mtu = mtu;
 		req.rta.rta_type = IFLA_MTU;
 		req.rta.rta_len = RTA_LENGTH(sizeof(unsigned int));
 		nl_req(ns, buf, &req, req.nlh.nlmsg_len);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 3/3] conf, ndp: Disable router advertisements on --config-net
  2022-02-23 10:04 [PATCH 1/3] test: Fix name of CI asciinema player in perf links handler Stefano Brivio
  2022-02-23 10:04 ` [PATCH 2/3] netlink: Avoid left-over bytes in request on MTU configuration Stefano Brivio
@ 2022-02-23 10:04 ` Stefano Brivio
  1 sibling, 0 replies; 3+ messages in thread
From: Stefano Brivio @ 2022-02-23 10:04 UTC (permalink / raw)
  To: passt-dev

[-- Attachment #1: Type: text/plain, Size: 1263 bytes --]

If we statically configure a default route, and also advertise it for
SLAAC, the kernel will try moments later to add the same route:

  ICMPv6: RA: ndisc_router_discovery failed to add default route

Signed-off-by: Stefano Brivio <sbrivio(a)redhat.com>
---
 conf.c  | 3 +++
 passt.1 | 4 +++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/conf.c b/conf.c
index c8a3693..08f24be 100644
--- a/conf.c
+++ b/conf.c
@@ -1255,6 +1255,9 @@ void conf(struct ctx *c, int argc, char **argv)
 		usage(argv[0]);
 	}
 
+	if (c->pasta_conf_ns)
+		c->no_ra = 1;
+
 	if (c->mode == MODE_PASTA && c->pasta_netns_fd == -1)
 		pasta_start_ns(c);
 
diff --git a/passt.1 b/passt.1
index 65b473b..1e7cf1a 100644
--- a/passt.1
+++ b/passt.1
@@ -440,7 +440,9 @@ The default path is shown with --help.
 .TP
 .BR \-\-config-net
 Configure networking in the namespace: set up addresses and routes as configured
-or sourced from the host, and bring up the tap interface.
+or sourced from the host, and bring up the tap interface. This option implies
+\fB--no-ra\fR: the static configuration of the IPv6 address will not allow the
+kernel to set up the default route using SLAAC.
 
 .TP
 .BR \-\-ns-mac-addr " " \fIaddr
-- 
@@ -440,7 +440,9 @@ The default path is shown with --help.
 .TP
 .BR \-\-config-net
 Configure networking in the namespace: set up addresses and routes as configured
-or sourced from the host, and bring up the tap interface.
+or sourced from the host, and bring up the tap interface. This option implies
+\fB--no-ra\fR: the static configuration of the IPv6 address will not allow the
+kernel to set up the default route using SLAAC.
 
 .TP
 .BR \-\-ns-mac-addr " " \fIaddr
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-02-23 10:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-23 10:04 [PATCH 1/3] test: Fix name of CI asciinema player in perf links handler Stefano Brivio
2022-02-23 10:04 ` [PATCH 2/3] netlink: Avoid left-over bytes in request on MTU configuration Stefano Brivio
2022-02-23 10:04 ` [PATCH 3/3] conf, ndp: Disable router advertisements on --config-net Stefano Brivio

Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).