|
|
|
@ -332,7 +332,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> |
|
|
|
|
memcpy(p->name, u->name, sizeof(u->name));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -1633,6 +1791,15 @@ static int ip6_tnl_validate(struct nlatt
|
|
|
|
|
@@ -1634,6 +1792,15 @@ static int ip6_tnl_validate(struct nlatt
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -348,7 +348,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> |
|
|
|
|
static void ip6_tnl_netlink_parms(struct nlattr *data[],
|
|
|
|
|
struct __ip6_tnl_parm *parms)
|
|
|
|
|
{
|
|
|
|
|
@@ -1666,6 +1833,46 @@ static void ip6_tnl_netlink_parms(struct
|
|
|
|
|
@@ -1667,6 +1834,46 @@ static void ip6_tnl_netlink_parms(struct
|
|
|
|
|
|
|
|
|
|
if (data[IFLA_IPTUN_PROTO])
|
|
|
|
|
parms->proto = nla_get_u8(data[IFLA_IPTUN_PROTO]);
|
|
|
|
@ -395,7 +395,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev,
|
|
|
|
|
@@ -1718,6 +1925,12 @@ static void ip6_tnl_dellink(struct net_d
|
|
|
|
|
@@ -1719,6 +1926,12 @@ static void ip6_tnl_dellink(struct net_d
|
|
|
|
|
|
|
|
|
|
static size_t ip6_tnl_get_size(const struct net_device *dev)
|
|
|
|
|
{
|
|
|
|
@ -408,7 +408,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> |
|
|
|
|
return
|
|
|
|
|
/* IFLA_IPTUN_LINK */
|
|
|
|
|
nla_total_size(4) +
|
|
|
|
|
@@ -1735,6 +1948,24 @@ static size_t ip6_tnl_get_size(const str
|
|
|
|
|
@@ -1736,6 +1949,24 @@ static size_t ip6_tnl_get_size(const str
|
|
|
|
|
nla_total_size(4) +
|
|
|
|
|
/* IFLA_IPTUN_PROTO */
|
|
|
|
|
nla_total_size(1) +
|
|
|
|
@ -433,7 +433,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> |
|
|
|
|
0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -1742,6 +1973,9 @@ static int ip6_tnl_fill_info(struct sk_b
|
|
|
|
|
@@ -1743,6 +1974,9 @@ static int ip6_tnl_fill_info(struct sk_b
|
|
|
|
|
{
|
|
|
|
|
struct ip6_tnl *tunnel = netdev_priv(dev);
|
|
|
|
|
struct __ip6_tnl_parm *parm = &tunnel->parms;
|
|
|
|
@ -443,7 +443,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> |
|
|
|
|
|
|
|
|
|
if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
|
|
|
|
|
nla_put(skb, IFLA_IPTUN_LOCAL, sizeof(struct in6_addr),
|
|
|
|
|
@@ -1752,8 +1986,27 @@ static int ip6_tnl_fill_info(struct sk_b
|
|
|
|
|
@@ -1753,8 +1987,27 @@ static int ip6_tnl_fill_info(struct sk_b
|
|
|
|
|
nla_put_u8(skb, IFLA_IPTUN_ENCAP_LIMIT, parm->encap_limit) ||
|
|
|
|
|
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
|
|
|
|
|
nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
|
|
|
|
@ -472,7 +472,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> |
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
nla_put_failure:
|
|
|
|
|
@@ -1777,6 +2030,7 @@ static const struct nla_policy ip6_tnl_p
|
|
|
|
|
@@ -1778,6 +2031,7 @@ static const struct nla_policy ip6_tnl_p
|
|
|
|
|
[IFLA_IPTUN_FLOWINFO] = { .type = NLA_U32 },
|
|
|
|
|
[IFLA_IPTUN_FLAGS] = { .type = NLA_U32 },
|
|
|
|
|
[IFLA_IPTUN_PROTO] = { .type = NLA_U8 },
|
|
|
|
|