> From: je...@nicira.com
> Date: Tue, 6 Dec 2011 09:52:46 -0800
> Subject: Re: [ovs-discuss] discuss Digest, Vol 30, Issue 5
> To: kunyu...@hotmail.com
> CC: discuss@openvswitch.org
> 
> 2011/12/6 likunyun <kunyu...@hotmail.com>:
> >> 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 csu m 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.
> 
> Is this a distribution kernel or is there some place where I can find
> the kernel source for it?
Kernel is got from SLES 11-SP1. 
address:   
https://nu.novell.com/repo/$RCE/SLES11-SP1-Update/sle-11-x86_64/rpm/src
source file :   kernel-source-2.6.32.36-0.5.2.src.rpm                           
          
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to