aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2008-03-25 23:26:43 -0400
committerDavid S. Miller <davem@davemloft.net>2008-03-25 23:26:43 -0400
commitc7f485abd618e0d249bdd1abdc586bd10fee1954 (patch)
tree618ad078a96c0f7c641efaa38f0d363ee2775e42 /include
parent0d0ab0378d67517a4f4ae3497706c13d9dd24af1 (diff)
[NETFILTER]: nf_conntrack_sip: RTP routing optimization
Optimize call routing between NATed endpoints: when an external registrar sends a media description that contains an existing RTP expectation from a different SNATed connection, the gatekeeper is trying to route the call directly between the two endpoints. We assume both endpoints can reach each other directly and "un-NAT" the addresses, which makes the media stream go between the two endpoints directly. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/netfilter/nf_conntrack_sip.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/netfilter/nf_conntrack_sip.h b/include/linux/netfilter/nf_conntrack_sip.h
index 71fa3eb5f485..5da04e586a3f 100644
--- a/include/linux/netfilter/nf_conntrack_sip.h
+++ b/include/linux/netfilter/nf_conntrack_sip.h
@@ -114,6 +114,12 @@ extern unsigned int (*nf_nat_sdp_addr_hook)(struct sk_buff *skb,
114 enum sdp_header_types type, 114 enum sdp_header_types type,
115 enum sdp_header_types term, 115 enum sdp_header_types term,
116 const union nf_inet_addr *addr); 116 const union nf_inet_addr *addr);
117extern unsigned int (*nf_nat_sdp_port_hook)(struct sk_buff *skb,
118 const char **dptr,
119 unsigned int *datalen,
120 unsigned int matchoff,
121 unsigned int matchlen,
122 u_int16_t port);
117extern unsigned int (*nf_nat_sdp_session_hook)(struct sk_buff *skb, 123extern unsigned int (*nf_nat_sdp_session_hook)(struct sk_buff *skb,
118 const char **dptr, 124 const char **dptr,
119 unsigned int dataoff, 125 unsigned int dataoff,