netlink: implement nla_put_in_addr and nla_put_in6_addr
IP addresses are often stored in netlink attributes. Add generic functions to do that. For nla_put_in_addr, it would be nicer to pass struct in_addr but this is not used universally throughout the kernel, in way too many places __be32 is used to store IPv4 address. Signed-off-by: Jiri Benc <jbenc@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
此提交包含在:
@@ -1739,10 +1739,8 @@ static int ip6_tnl_fill_info(struct sk_buff *skb, const struct net_device *dev)
|
||||
struct __ip6_tnl_parm *parm = &tunnel->parms;
|
||||
|
||||
if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
|
||||
nla_put(skb, IFLA_IPTUN_LOCAL, sizeof(struct in6_addr),
|
||||
&parm->laddr) ||
|
||||
nla_put(skb, IFLA_IPTUN_REMOTE, sizeof(struct in6_addr),
|
||||
&parm->raddr) ||
|
||||
nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
|
||||
nla_put_in6_addr(skb, IFLA_IPTUN_REMOTE, &parm->raddr) ||
|
||||
nla_put_u8(skb, IFLA_IPTUN_TTL, parm->hop_limit) ||
|
||||
nla_put_u8(skb, IFLA_IPTUN_ENCAP_LIMIT, parm->encap_limit) ||
|
||||
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
|
||||
|
新增問題並參考
封鎖使用者