sch_frag.c (8b3f91332291fa280a56215f5189baca185998f5) | sch_frag.c (b6459415b384cb829f0b2a4268f211c789f6cf0b) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB | 1// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB |
2#include <linux/if_vlan.h> |
|
2#include <net/netlink.h> 3#include <net/sch_generic.h> | 3#include <net/netlink.h> 4#include <net/sch_generic.h> |
4#include <net/pkt_sched.h> | |
5#include <net/dst.h> 6#include <net/ip.h> 7#include <net/ip6_fib.h> 8 9struct sch_frag_data { 10 unsigned long dst; 11 struct qdisc_skb_cb cb; 12 __be16 inner_protocol; --- 120 unchanged lines hidden (view full) --- 133 return ret; 134err: 135 kfree_skb(skb); 136 return ret; 137} 138 139int sch_frag_xmit_hook(struct sk_buff *skb, int (*xmit)(struct sk_buff *skb)) 140{ | 5#include <net/dst.h> 6#include <net/ip.h> 7#include <net/ip6_fib.h> 8 9struct sch_frag_data { 10 unsigned long dst; 11 struct qdisc_skb_cb cb; 12 __be16 inner_protocol; --- 120 unchanged lines hidden (view full) --- 133 return ret; 134err: 135 kfree_skb(skb); 136 return ret; 137} 138 139int sch_frag_xmit_hook(struct sk_buff *skb, int (*xmit)(struct sk_buff *skb)) 140{ |
141 u16 mru = tc_skb_cb(skb)->mru; | 141 u16 mru = qdisc_skb_cb(skb)->mru; |
142 int err; 143 144 if (mru && skb->len > mru + skb->dev->hard_header_len) 145 err = sch_fragment(dev_net(skb->dev), skb, mru, xmit); 146 else 147 err = xmit(skb); 148 149 return err; 150} 151EXPORT_SYMBOL_GPL(sch_frag_xmit_hook); | 142 int err; 143 144 if (mru && skb->len > mru + skb->dev->hard_header_len) 145 err = sch_fragment(dev_net(skb->dev), skb, mru, xmit); 146 else 147 err = xmit(skb); 148 149 return err; 150} 151EXPORT_SYMBOL_GPL(sch_frag_xmit_hook); |