Commit f6367b46 authored by Vlad Yasevich's avatar Vlad Yasevich Committed by David S. Miller

bridge: use is_skb_forwardable in forward path

Use existing function instead of trying to use our own.
Signed-off-by: default avatarVlad Yasevich <vyasevic@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1ee481fb
...@@ -35,16 +35,11 @@ static inline int should_deliver(const struct net_bridge_port *p, ...@@ -35,16 +35,11 @@ static inline int should_deliver(const struct net_bridge_port *p,
p->state == BR_STATE_FORWARDING; p->state == BR_STATE_FORWARDING;
} }
static inline unsigned int packet_length(const struct sk_buff *skb)
{
return skb->len - (skb->protocol == htons(ETH_P_8021Q) ? VLAN_HLEN : 0);
}
int br_dev_queue_push_xmit(struct sk_buff *skb) int br_dev_queue_push_xmit(struct sk_buff *skb)
{ {
/* ip_fragment doesn't copy the MAC header */ /* ip_fragment doesn't copy the MAC header */
if (nf_bridge_maybe_copy_header(skb) || if (nf_bridge_maybe_copy_header(skb) ||
(packet_length(skb) > skb->dev->mtu && !skb_is_gso(skb))) { !is_skb_forwardable(skb->dev, skb)) {
kfree_skb(skb); kfree_skb(skb);
} else { } else {
skb_push(skb, ETH_HLEN); skb_push(skb, ETH_HLEN);
...@@ -71,7 +66,7 @@ static void __br_deliver(const struct net_bridge_port *to, struct sk_buff *skb) ...@@ -71,7 +66,7 @@ static void __br_deliver(const struct net_bridge_port *to, struct sk_buff *skb)
skb->dev = to->dev; skb->dev = to->dev;
if (unlikely(netpoll_tx_running(to->br->dev))) { if (unlikely(netpoll_tx_running(to->br->dev))) {
if (packet_length(skb) > skb->dev->mtu && !skb_is_gso(skb)) if (!is_skb_forwardable(skb->dev, skb))
kfree_skb(skb); kfree_skb(skb);
else { else {
skb_push(skb, ETH_HLEN); skb_push(skb, ETH_HLEN);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment