-static inline unsigned packet_length(const struct sk_buff *skb)
-{
- unsigned length = skb->len - ETH_HLEN;
- if (skb->protocol == htons(ETH_P_8021Q))
- length -= VLAN_HLEN;
- return length;
-}
-
-int dp_xmit_skb(struct sk_buff *skb)
-{
- struct datapath *dp = skb->dev->br_port->dp;
- int len = skb->len;
-
- if (packet_length(skb) > skb->dev->mtu && !skb_is_gso(skb)) {
- printk(KERN_WARNING "%s: dropped over-mtu packet: %d > %d\n",
- dp_name(dp), packet_length(skb), skb->dev->mtu);
- kfree_skb(skb);
- return -E2BIG;
- }
-
- forward_ip_summed(skb);
- dev_queue_xmit(skb);
-
- return len;
-}
-
-static void
-do_output(struct datapath *dp, struct sk_buff *skb, int out_port)