Commit 21f2825a authored by Geliang Tang's avatar Geliang Tang
Browse files

selftests: mptcp: add userspace pm subflow flag

mainline inclusion
from mainline-v6.9-rc1
commit 9963b77e25c63b3f1fee306a8e83e9e0b45ebad0
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I9VYQ9
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=9963b77e25c63b3f1fee306a8e83e9e0b45ebad0



--------------------------------

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: default avatarGeliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
Reviewed-by: default avatarMat Martineau <martineau@kernel.org>
Signed-off-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Reviewed-by: default avatarJackie Liu <liuyun01@kylinos.cn>
Signed-off-by: default avatarGeliang Tang <tanggeliang@kylinos.cn>
parent 23a62f82
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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;
	}