]> www.infradead.org Git - users/hch/misc.git/commitdiff
selftests: mptcp: pm: get server-side flag
authorMatthieu Baerts (NGI0) <matttbe@kernel.org>
Fri, 19 Sep 2025 12:09:01 +0000 (14:09 +0200)
committerJakub Kicinski <kuba@kernel.org>
Mon, 22 Sep 2025 18:51:25 +0000 (11:51 -0700)
server-side info linked to the MPTCP connect/established events can now
come from the flags, in addition to the dedicated attribute.

The attribute is now deprecated -- in favour of the new flag, and will
be removed later on.

Print this info only once.

Reviewed-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20250919-net-next-mptcp-server-side-flag-v1-4-a97a5d561a8b@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/mptcp/pm_nl_ctl.c

index 93fea3442216c8fef43731a99c1d5710f234b150..d4981b76693bbddca74169437a540ad6294cf1d5 100644 (file)
@@ -2,6 +2,7 @@
 
 #include <errno.h>
 #include <error.h>
+#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -113,6 +114,8 @@ static int capture_events(int fd, int event_group)
                error(1, errno, "could not join the " MPTCP_PM_EV_GRP_NAME " mcast group");
 
        do {
+               bool server_side = false;
+
                FD_ZERO(&rfds);
                FD_SET(fd, &rfds);
                res_len = NLMSG_ALIGN(sizeof(struct nlmsghdr)) +
@@ -187,18 +190,22 @@ static int capture_events(int fd, int event_group)
                                else if (attrs->rta_type == MPTCP_ATTR_ERROR)
                                        fprintf(stderr, ",error:%u", *(__u8 *)RTA_DATA(attrs));
                                else if (attrs->rta_type == MPTCP_ATTR_SERVER_SIDE)
-                                       fprintf(stderr, ",server_side:%u", *(__u8 *)RTA_DATA(attrs));
+                                       server_side = !!*(__u8 *)RTA_DATA(attrs);
                                else if (attrs->rta_type == MPTCP_ATTR_FLAGS) {
                                        __u16 flags = *(__u16 *)RTA_DATA(attrs);
 
                                        /* only print when present, easier */
                                        if (flags & MPTCP_PM_EV_FLAG_DENY_JOIN_ID0)
                                                fprintf(stderr, ",deny_join_id0:1");
+                                       if (flags & MPTCP_PM_EV_FLAG_SERVER_SIDE)
+                                               server_side = true;
                                }
 
                                attrs = RTA_NEXT(attrs, msg_len);
                        }
                }
+               if (server_side)
+                       fprintf(stderr, ",server_side:1");
                fprintf(stderr, "\n");
        } while (1);