xfrm6_output.c (0c4b51f0054ce85c0ec578ab818f0631834573eb) | xfrm6_output.c (be10de0a322ded7701a4dcce4a0ba83b3bbf42e5) |
---|---|
1/* 2 * xfrm6_output.c - Common IPsec encapsulation code for IPv6. 3 * Copyright (C) 2002 USAGI/WIDE Project 4 * Copyright (c) 2004 Herbert Xu <herbert@gondor.apana.org.au> 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version --- 155 unchanged lines hidden (view full) --- 164 x->outer_mode->afinfo->output_finish); 165 } 166 return x->outer_mode->afinfo->output_finish(sk, skb); 167} 168 169int xfrm6_output(struct sock *sk, struct sk_buff *skb) 170{ 171 struct net *net = dev_net(skb_dst(skb)->dev); | 1/* 2 * xfrm6_output.c - Common IPsec encapsulation code for IPv6. 3 * Copyright (C) 2002 USAGI/WIDE Project 4 * Copyright (c) 2004 Herbert Xu <herbert@gondor.apana.org.au> 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version --- 155 unchanged lines hidden (view full) --- 164 x->outer_mode->afinfo->output_finish); 165 } 166 return x->outer_mode->afinfo->output_finish(sk, skb); 167} 168 169int xfrm6_output(struct sock *sk, struct sk_buff *skb) 170{ 171 struct net *net = dev_net(skb_dst(skb)->dev); |
172 |
|
172 return NF_HOOK_COND(NFPROTO_IPV6, NF_INET_POST_ROUTING, 173 net, sk, skb, NULL, skb_dst(skb)->dev, 174 __xfrm6_output, 175 !(IP6CB(skb)->flags & IP6SKB_REROUTED)); 176} | 173 return NF_HOOK_COND(NFPROTO_IPV6, NF_INET_POST_ROUTING, 174 net, sk, skb, NULL, skb_dst(skb)->dev, 175 __xfrm6_output, 176 !(IP6CB(skb)->flags & IP6SKB_REROUTED)); 177} |