mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-14 21:01:29 +00:00
ipv6: move ip6_local_out into core kernel
It will be used the vxlan kernel module. Signed-off-by: Cong Wang <amwang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3ce9b35ff6
commit
788787b559
@ -56,31 +56,6 @@
|
||||
#include <net/checksum.h>
|
||||
#include <linux/mroute6.h>
|
||||
|
||||
int __ip6_local_out(struct sk_buff *skb)
|
||||
{
|
||||
int len;
|
||||
|
||||
len = skb->len - sizeof(struct ipv6hdr);
|
||||
if (len > IPV6_MAXPLEN)
|
||||
len = 0;
|
||||
ipv6_hdr(skb)->payload_len = htons(len);
|
||||
|
||||
return nf_hook(NFPROTO_IPV6, NF_INET_LOCAL_OUT, skb, NULL,
|
||||
skb_dst(skb)->dev, dst_output);
|
||||
}
|
||||
|
||||
int ip6_local_out(struct sk_buff *skb)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = __ip6_local_out(skb);
|
||||
if (likely(err == 1))
|
||||
err = dst_output(skb);
|
||||
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ip6_local_out);
|
||||
|
||||
static int ip6_finish_output2(struct sk_buff *skb)
|
||||
{
|
||||
struct dst_entry *dst = skb_dst(skb);
|
||||
|
@ -97,3 +97,29 @@ int ip6_dst_hoplimit(struct dst_entry *dst)
|
||||
}
|
||||
EXPORT_SYMBOL(ip6_dst_hoplimit);
|
||||
#endif
|
||||
|
||||
int __ip6_local_out(struct sk_buff *skb)
|
||||
{
|
||||
int len;
|
||||
|
||||
len = skb->len - sizeof(struct ipv6hdr);
|
||||
if (len > IPV6_MAXPLEN)
|
||||
len = 0;
|
||||
ipv6_hdr(skb)->payload_len = htons(len);
|
||||
|
||||
return nf_hook(NFPROTO_IPV6, NF_INET_LOCAL_OUT, skb, NULL,
|
||||
skb_dst(skb)->dev, dst_output);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__ip6_local_out);
|
||||
|
||||
int ip6_local_out(struct sk_buff *skb)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = __ip6_local_out(skb);
|
||||
if (likely(err == 1))
|
||||
err = dst_output(skb);
|
||||
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ip6_local_out);
|
||||
|
Loading…
Reference in New Issue
Block a user