Log error in csum dev_queue_xmit error path
PATCH 1/1 Log error in csum dev_queue_xmit error path
While working bug #143, it came to my attention that no verbose error is loged if the dom0 kernel mangles a packet and tries to checksum offload it.
This should let the user know what is going wrong (instead of silently dropping the packet).
Signed-off-by Jon Mason <[email protected]>
# HG changeset patch
# User [email protected]
# Node ID 6e8be095dd8406da697b3956ba65ed724e55e50f
# Parent f5b119533cc825726c9ecaa3bd2650b38033d4d8
Log an error if dom0 dev_queue_xmit receives a packet to be checksummed that is not TCP/UDP. Since we can only offload TCP/UDP checksums, this error path should be entered. If this is the case, domU checksum offload needs to be diabled.
linux-2.6-xen-sparse/net/core/dev.c +5 -0
@@ -1283,6 +1283,11 @@ skb->csum = offsetof(struct udphdr , check);break ;default : +if (net_ratelimit ()) +printk (KERN_ERR "Attempting to checksum a " +"non-TCP/UDP packet, dropping a protocol" +" %d packet" , skb->nh.iph->protocol); + rc = -EPROTO ; goto out_kfree_skb; }if ((skb->h.raw + skb->csum +2 ) > skb->tail)