On Jun 14, 2012, at 10:13 PM, ravi kerur <rke...@gmail.com> wrote: > On Thu, Jun 14, 2012 at 3:58 AM, Jesse Gross <je...@nicira.com> wrote: >> On Thu, Jun 14, 2012 at 1:24 PM, ravi kerur <rke...@gmail.com> wrote: >>> On Wed, Jun 13, 2012 at 7:58 PM, Jesse Gross <je...@nicira.com> wrote: >>>> On Thu, Jun 14, 2012 at 4:51 AM, ravi kerur <rke...@gmail.com> wrote: >>>>> There are additional things that needs to be addressed as well >>>>> >>>>> 1. offload code review, it's currently generic enough and getting near >>>>> line rate performance numbers. >>>> >>>> You can't just take what is done for vlans and copy that. There is >>>> far too much code that you're adding to OVS. Did you read what I >>>> wrote earlier about where to start?: >>> >>> <rk> How is adding far too much code to ovs related to offload? It is >>> handled similar to what vlan is doing for older kernel + in addition >>> it takes care of handling copy + restore skb->protocol since >>> skb_gso_segment relies on it and handle cases for non-gso packets to >>> calculate checksum. I don't understand your comments, have you looked >>> at latest patch? >> >> The vlan code that's there is backporting and emulation for various >> quirks of vlans on different kernels. Most of these don't apply to >> MPLS because no version of Linux supports MPLS. You can't start from >> the backported version though, you need to begin with the correct way >> to do things assuming that you have freedom to modify the upstream >> kernel because OVS is upstream now and that's the future. Once you >> have things working there, you can backport to older versions but if >> you do it in the opposite order you just end up with a mess. Once >> again, did you read what I wrote below? I know that your code isn't >> correct just by looking at the diff stat because you didn't modify the >> file that I told you is the place to start. > > <rk> comments below >> >>>> Generally speaking the emulation code is handled by skb_gso_segment() >>>> in dev.c in the kernel code outside of OVS. This should mostly work >>>> except that it needs to be able to detect that MPLS requires >>>> emulation. This will be the easiest part to get working and is the >>>> best place to start. However, in order for this code to work on any >>>> kernel before your changes get integrated (i.e. Linux 3.6 at the >>>> earliest) you'll have to emulate it in OVS as well, like we do for >>>> vlans in vport-netdev.c. > > <rk> From the above paragraph, I deciphered it as emulate in ovs since > it needs to work with any kernel version(vport-netdev.c) and then in > dev.c and that's what I have done. Modified vport-netdev.c to support > mpls and qinq and for any kernel version. However, it looks like you > wanted me to work on dev.c first and later emulate in ovs via > vport-netdev.c?
Yes. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev