mptcp: deal with MPTCP_PM_ADDR_ATTR_PORT in PM netlink
authorGeliang Tang <geliangtang@gmail.com>
Mon, 1 Feb 2021 23:09:17 +0000 (15:09 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 3 Feb 2021 02:37:19 +0000 (18:37 -0800)
This patch adds MPTCP_PM_ADDR_ATTR_PORT filling and parsing in PM
netlink.

Signed-off-by: Geliang Tang <geliangtang@gmail.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/pm_netlink.c

index c610597..e7b1abb 100644 (file)
@@ -911,6 +911,9 @@ skip_family:
        if (tb[MPTCP_PM_ADDR_ATTR_FLAGS])
                entry->addr.flags = nla_get_u32(tb[MPTCP_PM_ADDR_ATTR_FLAGS]);
 
+       if (tb[MPTCP_PM_ADDR_ATTR_PORT])
+               entry->addr.port = htons(nla_get_u16(tb[MPTCP_PM_ADDR_ATTR_PORT]));
+
        return 0;
 }
 
@@ -1177,6 +1180,8 @@ static int mptcp_nl_fill_addr(struct sk_buff *skb,
 
        if (nla_put_u16(skb, MPTCP_PM_ADDR_ATTR_FAMILY, addr->family))
                goto nla_put_failure;
+       if (nla_put_u16(skb, MPTCP_PM_ADDR_ATTR_PORT, ntohs(addr->port)))
+               goto nla_put_failure;
        if (nla_put_u8(skb, MPTCP_PM_ADDR_ATTR_ID, addr->id))
                goto nla_put_failure;
        if (nla_put_u32(skb, MPTCP_PM_ADDR_ATTR_FLAGS, entry->addr.flags))