net: add helpers checking if socket can be bound to nonlocal address
The construction "net->ipv4.sysctl_ip_nonlocal_bind || inet->freebind || inet->transparent" is present three times and its IPv6 counterpart is also present three times. We introduce two small helpers to characterize these tests uniformly. Signed-off-by: Vincent Bernat <vincent@bernat.im> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
d39db3b4d6
commit
83ba464515
@@ -766,6 +766,13 @@ static inline int ip6_sk_dst_hoplimit(struct ipv6_pinfo *np, struct flowi6 *fl6,
|
||||
return hlimit;
|
||||
}
|
||||
|
||||
static inline bool ipv6_can_nonlocal_bind(struct net *net,
|
||||
struct inet_sock *inet)
|
||||
{
|
||||
return net->ipv6.sysctl.ip_nonlocal_bind ||
|
||||
inet->freebind || inet->transparent;
|
||||
}
|
||||
|
||||
/* copy IPv6 saddr & daddr to flow_keys, possibly using 64bit load/store
|
||||
* Equivalent to : flow->v6addrs.src = iph->saddr;
|
||||
* flow->v6addrs.dst = iph->daddr;
|
||||
|
Reference in New Issue
Block a user