diff --git a/[refs] b/[refs] index 006a1474c771..fc4dd87ada00 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 76d661586c8131453ba75a2e027c1f21511a893a +refs/heads/master: 0b7967503dc97864f283a3a06fbe23e041876138 diff --git a/trunk/drivers/net/veth.c b/trunk/drivers/net/veth.c index 0bbc0c323135..cc83fa71c3ff 100644 --- a/trunk/drivers/net/veth.c +++ b/trunk/drivers/net/veth.c @@ -166,7 +166,9 @@ static netdev_tx_t veth_xmit(struct sk_buff *skb, struct net_device *dev) if (!(rcv->flags & IFF_UP)) goto tx_drop; - if (dev->features & NETIF_F_NO_CSUM) + /* don't change ip_summed == CHECKSUM_PARTIAL, as that + will cause bad checksum on forwarded packets */ + if (skb->ip_summed == CHECKSUM_NONE) skb->ip_summed = rcv_priv->ip_summed; length = skb->len + ETH_HLEN;