tproxy: added udp6_lib_lookup function
Just like with IPv4, we need access to the UDP hash table to look up local sockets, but instead of exporting the global udp_table, export a lookup function. Signed-off-by: Balazs Scheidler <bazsi@balabit.hu> Signed-off-by: KOVACS Krisztian <hidden@balabit.hu> Signed-off-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
parent
88440ae70e
commit
aa976fc011
2 changed files with 11 additions and 0 deletions
|
@ -183,6 +183,9 @@ extern int udp_lib_setsockopt(struct sock *sk, int level, int optname,
|
||||||
extern struct sock *udp4_lib_lookup(struct net *net, __be32 saddr, __be16 sport,
|
extern struct sock *udp4_lib_lookup(struct net *net, __be32 saddr, __be16 sport,
|
||||||
__be32 daddr, __be16 dport,
|
__be32 daddr, __be16 dport,
|
||||||
int dif);
|
int dif);
|
||||||
|
extern struct sock *udp6_lib_lookup(struct net *net, const struct in6_addr *saddr, __be16 sport,
|
||||||
|
const struct in6_addr *daddr, __be16 dport,
|
||||||
|
int dif);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SNMP statistics for UDP and UDP-Lite
|
* SNMP statistics for UDP and UDP-Lite
|
||||||
|
|
|
@ -320,6 +320,14 @@ static struct sock *__udp6_lib_lookup_skb(struct sk_buff *skb,
|
||||||
udptable);
|
udptable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct sock *udp6_lib_lookup(struct net *net, const struct in6_addr *saddr, __be16 sport,
|
||||||
|
const struct in6_addr *daddr, __be16 dport, int dif)
|
||||||
|
{
|
||||||
|
return __udp6_lib_lookup(net, saddr, sport, daddr, dport, dif, &udp_table);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(udp6_lib_lookup);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This should be easy, if there is something there we
|
* This should be easy, if there is something there we
|
||||||
* return it, otherwise we block.
|
* return it, otherwise we block.
|
||||||
|
|
Loading…
Reference in a new issue