> 1. Some questions about checksum in OVS (likunyun) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sat, 3 Dec 2011 12:28:32 +0000 > From: likunyun <kunyu...@hotmail.com> > Subject: [ovs-discuss] Some questions about checksum in OVS > To: <discuss@openvswitch.org> > Message-ID: <blu154-w64aaecd4ab3dc5f2318a00d8...@phx.gbl> > Content-Type: text/plain; charset="gb2312" > > > Hello, > > Recently I did the rate test about open vswitch based on xen. When I did the > test about VM-to-Native,there are some problem. > VM could ping the Native. > When VM sends UDP packet to Native(A computer without virtualization), VM > sends millions packet but Native only get 200 packets. > When VM sends TCP packet to Native, netperf can't establish the connection . > > I enabled netdevice's tx csum in VM, and also enabled the physical > netdevice's tx csum in dom0. > When I disable the netdevice's tx csum in VM. It works,Native can get packets > normally. > > When VM sends UDP packets(64byte), I fetched the skb before it was been sent > into net device driver. > I found : > skb->ip_summed =3 > skb->csum_offset = 0 > skb->csum_start = 6 > Normally skb->csum_start should be 0x34 and skb->csum_offset shou be 0x6 > > I found the fuction set_skb_csum_pointers() in datapath/checksum.c line 253: > void set_skb_csum_pointers(struct sk_buff *skb, u16 csum_start, u16 > csum_offset) > { > OVS_CB(skb)->csum_start = csum_start; > skb->csum = csum_offset; > } > When I changed the function like below, It works,Native can get packets > normally.: > void set_skb_csum_pointers(struct sk_buff *skb, u16 csum_start, u16 > csum_offset) > { > OVS_CB(skb)->csum_start = csum_start; > skb->csum_start = csum_start; > skb->csum_offset = csum_offset; > } > > Are there somebody meet this problem? Is the change reasonable? > And I am newly about ovs, How does OVS_CB(skb)->csum_start workes in OVS ? > > Test Information: > openvswitch: 1.2.2 > VM:suse11-64 > tool: netperf 2.4.5 > Dom0 Kernel: linux-2.6.36 > net device: intel 82599 > net device driver: ixgbe-3.3.8 > > Thanks. I confirmed the condition ,I am so sorry that I had made a mistake. Dom0 kernel's version is 2.6.32.36 ,not 2.6.36. proto_data_valid is been defined in struct sk_buff in kernel 2.6.32.36.
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss