OpenWrt – Diff between revs 2 and 3

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 2 Rev 3
Line 15... Line 15...
15 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> 15 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
16 --- 16 ---
Line 17... Line 17...
17   17  
18 --- a/include/linux/netfilter.h 18 --- a/include/linux/netfilter.h
19 +++ b/include/linux/netfilter.h 19 +++ b/include/linux/netfilter.h
Line 20... Line 20...
20 @@ -311,8 +311,6 @@ struct nf_queue_entry; 20 @@ -274,8 +274,6 @@ struct nf_queue_entry;
21 21
22 struct nf_afinfo { 22 struct nf_afinfo {
23 unsigned short family; 23 unsigned short family;
24 - int (*reroute)(struct net *net, struct sk_buff *skb, 24 - int (*reroute)(struct net *net, struct sk_buff *skb,
25 - const struct nf_queue_entry *entry); 25 - const struct nf_queue_entry *entry);
Line 26... Line 26...
26 int route_key_size; 26 int route_key_size;
27 }; 27 };
28 28
29 @@ -331,6 +329,7 @@ __sum16 nf_checksum_partial(struct sk_bu 29 @@ -294,6 +292,7 @@ __sum16 nf_checksum_partial(struct sk_bu
30 u_int8_t protocol, unsigned short family); 30 u_int8_t protocol, unsigned short family);
Line 136... Line 136...
136 .route_key_size = sizeof(struct ip_rt_info), 136 .route_key_size = sizeof(struct ip_rt_info),
137 }; 137 };
Line 138... Line 138...
138 138
139 --- a/net/ipv6/netfilter.c 139 --- a/net/ipv6/netfilter.c
140 +++ b/net/ipv6/netfilter.c 140 +++ b/net/ipv6/netfilter.c
141 @@ -70,7 +70,7 @@ int ip6_route_me_harder(struct net *net, 141 @@ -69,7 +69,7 @@ int ip6_route_me_harder(struct net *net,
142 } 142 }
Line 143... Line 143...
143 EXPORT_SYMBOL(ip6_route_me_harder); 143 EXPORT_SYMBOL(ip6_route_me_harder);
144 144
145 -static int nf_ip6_reroute(struct net *net, struct sk_buff *skb, 145 -static int nf_ip6_reroute(struct net *net, struct sk_buff *skb,
146 +static int nf_ip6_reroute(struct sk_buff *skb, 146 +static int nf_ip6_reroute(struct sk_buff *skb,
147 const struct nf_queue_entry *entry) 147 const struct nf_queue_entry *entry)
148 { 148 {
149 struct ip6_rt_info *rt_info = nf_queue_entry_reroute(entry); 149 struct ip6_rt_info *rt_info = nf_queue_entry_reroute(entry);
150 @@ -80,7 +80,7 @@ static int nf_ip6_reroute(struct net *ne 150 @@ -79,7 +79,7 @@ static int nf_ip6_reroute(struct net *ne
151 if (!ipv6_addr_equal(&iph->daddr, &rt_info->daddr) || 151 if (!ipv6_addr_equal(&iph->daddr, &rt_info->daddr) ||
152 !ipv6_addr_equal(&iph->saddr, &rt_info->saddr) || 152 !ipv6_addr_equal(&iph->saddr, &rt_info->saddr) ||
153 skb->mark != rt_info->mark) 153 skb->mark != rt_info->mark)
154 - return ip6_route_me_harder(net, skb); 154 - return ip6_route_me_harder(net, skb);
155 + return ip6_route_me_harder(entry->state.net, skb); 155 + return ip6_route_me_harder(entry->state.net, skb);
156 } 156 }
157 return 0; 157 return 0;
158 } 158 }
159 @@ -173,11 +173,11 @@ static const struct nf_ipv6_ops ipv6ops 159 @@ -172,11 +172,11 @@ static const struct nf_ipv6_ops ipv6ops
160 .checksum = nf_ip6_checksum, 160 .checksum = nf_ip6_checksum,
161 .checksum_partial = nf_ip6_checksum_partial, 161 .checksum_partial = nf_ip6_checksum_partial,
162 .route = nf_ip6_route, 162 .route = nf_ip6_route,
Line 169... Line 169...
169 .route_key_size = sizeof(struct ip6_rt_info), 169 .route_key_size = sizeof(struct ip6_rt_info),
170 }; 170 };
Line 171... Line 171...
171 171
172 --- a/net/netfilter/nf_queue.c 172 --- a/net/netfilter/nf_queue.c
173 +++ b/net/netfilter/nf_queue.c 173 +++ b/net/netfilter/nf_queue.c
174 @@ -266,7 +266,6 @@ void nf_reinject(struct nf_queue_entry * 174 @@ -250,7 +250,6 @@ void nf_reinject(struct nf_queue_entry *
175 const struct nf_hook_entry *hook_entry; 175 const struct nf_hook_entry *hook_entry;
176 const struct nf_hook_entries *hooks; 176 const struct nf_hook_entries *hooks;
177 struct sk_buff *skb = entry->skb; 177 struct sk_buff *skb = entry->skb;
178 - const struct nf_afinfo *afinfo; 178 - const struct nf_afinfo *afinfo;
179 const struct net *net; 179 const struct net *net;
180 unsigned int i; 180 unsigned int i;
181 int err; 181 int err;
182 @@ -293,8 +292,7 @@ void nf_reinject(struct nf_queue_entry * 182 @@ -277,8 +276,7 @@ void nf_reinject(struct nf_queue_entry *
Line 183... Line 183...
183 verdict = nf_hook_entry_hookfn(hook_entry, skb, &entry->state); 183 verdict = nf_hook_entry_hookfn(hook_entry, skb, &entry->state);
184 184
185 if (verdict == NF_ACCEPT) { 185 if (verdict == NF_ACCEPT) {