diff options
Diffstat (limited to 'net/ipv6/ip6_output.c')
| -rw-r--r-- | net/ipv6/ip6_output.c | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index 590d2b797197..a7fcbcc83576 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c | |||
| @@ -153,38 +153,6 @@ int ip6_output(struct sk_buff *skb) | |||
| 153 | return ip6_output2(skb); | 153 | return ip6_output2(skb); |
| 154 | } | 154 | } |
| 155 | 155 | ||
| 156 | #ifdef CONFIG_NETFILTER | ||
| 157 | int ip6_route_me_harder(struct sk_buff *skb) | ||
| 158 | { | ||
| 159 | struct ipv6hdr *iph = skb->nh.ipv6h; | ||
| 160 | struct dst_entry *dst; | ||
| 161 | struct flowi fl = { | ||
| 162 | .oif = skb->sk ? skb->sk->sk_bound_dev_if : 0, | ||
| 163 | .nl_u = | ||
| 164 | { .ip6_u = | ||
| 165 | { .daddr = iph->daddr, | ||
| 166 | .saddr = iph->saddr, } }, | ||
| 167 | .proto = iph->nexthdr, | ||
| 168 | }; | ||
| 169 | |||
| 170 | dst = ip6_route_output(skb->sk, &fl); | ||
| 171 | |||
| 172 | if (dst->error) { | ||
| 173 | IP6_INC_STATS(IPSTATS_MIB_OUTNOROUTES); | ||
| 174 | LIMIT_NETDEBUG( | ||
| 175 | printk(KERN_DEBUG "ip6_route_me_harder: No more route.\n")); | ||
| 176 | dst_release(dst); | ||
| 177 | return -EINVAL; | ||
| 178 | } | ||
| 179 | |||
| 180 | /* Drop old route. */ | ||
| 181 | dst_release(skb->dst); | ||
| 182 | |||
| 183 | skb->dst = dst; | ||
| 184 | return 0; | ||
| 185 | } | ||
| 186 | #endif | ||
| 187 | |||
| 188 | /* | 156 | /* |
| 189 | * xmit an sk_buff (used by TCP) | 157 | * xmit an sk_buff (used by TCP) |
| 190 | */ | 158 | */ |
