Commit e6c35529 authored by Matthieu Baerts (NGI0)'s avatar Matthieu Baerts (NGI0) Committed by Jakub Kicinski
Browse files

selftests: mptcp: pm: get server-side flag



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: default avatarGeliang Tang <geliang@kernel.org>
Signed-off-by: default avatarMatthieu 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: default avatarJakub Kicinski <kuba@kernel.org>
parent c8bc168f
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -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);