diff --git a/Makefile b/Makefile index b11e2d5..9aa5e8d 100644 --- a/Makefile +++ b/Makefile @@ -1535,3 +1535,10 @@ FORCE: # Declare the contents of the .PHONY variable as phony. We keep that # information in a variable so we can use it in if_changed and friends. .PHONY: $(PHONY) + +# to be called as make myinstall INSTALL_MOD_PATH=`pwd`/dist +myinstall: modules_install + mkdir -p dist + cp -a .config dist/config-$(KERNELRELEASE) + cp -a arch/x86/boot/bzImage dist/vmlinuz-$(KERNELRELEASE) + cp -a System.map dist/System.map-$(KERNELRELEASE) diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 98bad1f..758b076 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -1274,6 +1274,7 @@ static ssize_t tun_put_user(struct tun_struct *tun, gso.flags = VIRTIO_NET_HDR_F_NEEDS_CSUM; gso.csum_start = skb_checksum_start_offset(skb); gso.csum_offset = skb->csum_offset; + printk(KERN_INFO "tun csum_start=%i csum_offset=%i headroom=%i\n", gso.csum_start, gso.csum_offset, skb_headroom(skb)); } else if (skb->ip_summed == CHECKSUM_UNNECESSARY) { gso.flags = VIRTIO_NET_HDR_F_DATA_VALID; } /* else everything is zero */ diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 7d9f84a..f9afdda 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -824,6 +824,7 @@ static int xmit_skb(struct send_queue *sq, struct sk_buff *skb) hdr->hdr.flags = VIRTIO_NET_HDR_F_NEEDS_CSUM; hdr->hdr.csum_start = skb_checksum_start_offset(skb); hdr->hdr.csum_offset = skb->csum_offset; + printk(KERN_INFO "virtio-net csum_start=%i csum_offset=%i\n", hdr->hdr.csum_start, hdr->hdr.csum_offset); } else { hdr->hdr.flags = 0; hdr->hdr.csum_offset = hdr->hdr.csum_start = 0; diff --git a/net/core/dev.c b/net/core/dev.c index 30eedf6..3d878e5 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2266,6 +2266,7 @@ int skb_checksum_help(struct sk_buff *skb) } offset = skb_checksum_start_offset(skb); + printk(KERN_INFO "skb_checksum_help csum_start=%i csum_offset=%i headroom=%i partial=%i\n", offset, skb->csum_offset, skb_headroom(skb), (skb->ip_summed == CHECKSUM_PARTIAL)); BUG_ON(offset >= skb_headlen(skb)); csum = skb_checksum(skb, offset, skb->len - offset, 0); diff --git a/net/core/skbuff.c b/net/core/skbuff.c index c1a3303..0d90e3c 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -2205,6 +2205,8 @@ void skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to) csstart = skb_checksum_start_offset(skb); else csstart = skb_headlen(skb); + + printk(KERN_INFO "skbuff csum_start=%li partial:%i headroom:%i\n", csstart, (skb->ip_summed == CHECKSUM_PARTIAL), skb_headroom(skb)); BUG_ON(csstart > skb_headlen(skb)); @@ -2217,6 +2219,7 @@ void skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to) if (skb->ip_summed == CHECKSUM_PARTIAL) { long csstuff = csstart + skb->csum_offset; + printk(KERN_INFO "skbuff csum_offset=%i\n", skb->csum_offset); *((__sum16 *)(to + csstuff)) = csum_fold(csum); }