#include <linux/if_vlan.h>
#include <net/netlink.h>
#include <net/sch_generic.h>
#include <net/pkt_sched.h>
#include <net/dst.h>
#include <net/ip.h>
#include <net/ip6_fib.h>
struct sch_frag_data { … };
static DEFINE_PER_CPU(struct sch_frag_data, sch_frag_data_storage);
static int sch_frag_xmit(struct net *net, struct sock *sk, struct sk_buff *skb)
{ … }
static void sch_frag_prepare_frag(struct sk_buff *skb,
int (*xmit)(struct sk_buff *skb))
{ … }
static unsigned int
sch_frag_dst_get_mtu(const struct dst_entry *dst)
{ … }
static struct dst_ops sch_frag_dst_ops = …;
static int sch_fragment(struct net *net, struct sk_buff *skb,
u16 mru, int (*xmit)(struct sk_buff *skb))
{ … }
int sch_frag_xmit_hook(struct sk_buff *skb, int (*xmit)(struct sk_buff *skb))
{ … }
EXPORT_SYMBOL_GPL(…);