selftests: mptcp: add userspace pm subflow flag
authorGeliang Tang <tanggeliang@kylinos.cn>
Fri, 1 Mar 2024 18:18:31 +0000 (19:18 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Mar 2024 13:07:45 +0000 (13:07 +0000)
This patch adds the address flag MPTCP_PM_ADDR_FLAG_SUBFLOW in csf() in
pm_nl_ctl.c when subflow is created by a userspace PM.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/mptcp/pm_nl_ctl.c

index 49369c4a5f261f73c51f7e598f9d53f9b5970d66..e97856323ec348364a3752dc55c04d7b3bbe558a 100644 (file)
@@ -453,6 +453,7 @@ int csf(int fd, int pm_family, int argc, char *argv[])
        char data[NLMSG_ALIGN(sizeof(struct nlmsghdr)) +
                  NLMSG_ALIGN(sizeof(struct genlmsghdr)) +
                  1024];
+       u_int32_t flags = MPTCP_PM_ADDR_FLAG_SUBFLOW;
        const char *params[5];
        struct nlmsghdr *nh;
        struct rtattr *addr;
@@ -558,6 +559,13 @@ int csf(int fd, int pm_family, int argc, char *argv[])
                        off += NLMSG_ALIGN(rta->rta_len);
                }
 
+               /* addr flags */
+               rta = (void *)(data + off);
+               rta->rta_type = MPTCP_PM_ADDR_ATTR_FLAGS;
+               rta->rta_len = RTA_LENGTH(4);
+               memcpy(RTA_DATA(rta), &flags, 4);
+               off += NLMSG_ALIGN(rta->rta_len);
+
                addr->rta_len = off - addr_start;
        }