: Make NETMAP target usable in OUTPUT
Subsystems (2)
PATCH 3/4 : Make NETMAP target usable in OUTPUT
[NETFILTER]: Make NETMAP target usable in OUTPUT
Signed-off-by Gary Wayne Smith <[email protected]>
Signed-off-by Patrick McHardy <[email protected]>
---
commit 7ea3224e415f93eff91b7e21cfb99fc39b2c1e90
tree bcae188c7e54ec80398c581d73d4ffa2176b0a80
parent 17bfdaf02646cc6fafa9fa661e4c6e8775a9af3a
author Gary Wayne Smith <[email protected]> Mon, 15 Aug 2005 00:32:48 +0200 committer Patrick McHardy <[email protected]> Mon, 15 Aug 2005 00:32:48 +0200
net/ipv4/netfilter/ipt_NETMAP.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-)
net/ipv4/netfilter/ipt_NETMAP.c +5 -3
@@ -46,7 +46,8 @@ check(const char *tablename,DEBUGP (MODULENAME ":check: size %u.\n" , targinfosize);return 0 ; } -if (hook_mask & ~((1 <<NF_IP_PRE_ROUTING ) | (1 <<NF_IP_POST_ROUTING ))) { +if (hook_mask & ~((1 <<NF_IP_PRE_ROUTING ) | (1 <<NF_IP_POST_ROUTING ) | + (1 <<NF_IP_LOCAL_OUT ))) {DEBUGP (MODULENAME ":check: bad hooks %x.\n" , hook_mask);return 0 ; }
@@ -76,12 +77,13 @@ target(struct sk_buff **pskb,struct ip_nat_range newrange;IP_NF_ASSERT (hooknum ==NF_IP_PRE_ROUTING - || hooknum ==NF_IP_POST_ROUTING ); + || hooknum ==NF_IP_POST_ROUTING + || hooknum ==NF_IP_LOCAL_OUT ); ct =ip_conntrack_get (*pskb, &ctinfo); netmask = ~(mr->range[0 ].min_ip ^ mr->range[0 ].max_ip); -if (hooknum ==NF_IP_PRE_ROUTING ) +if (hooknum ==NF_IP_PRE_ROUTING || hooknum ==NF_IP_LOCAL_OUT ) new_ip = (*pskb)->nh.iph->daddr & ~netmask;else new_ip = (*pskb)->nh.iph->saddr & ~netmask;