Do you mean that GRE offloading is needed for OVS to forward GSO/GRO packets ? The funny thing is, that it seems to be the VMs MTU that determines what the GRE MTU will be.
So at VM mtu 1500, packet sizes are: VM: 64K VIF: 64K Bridge: 64K GRE: 1500 bytes NIC: 1500 bytes At VM mtu 9000, packet sizes are: VM: 64K VIF: 64K Bridge: 64K GRE: 9000 bytes NIC: 9000 bytes Without GRE and and mtu whatever, sizes are: VM: 64K VIF: 64K Bridge: 64K GRE: 64K NIC: 64K Does this makes sense? Thanks Regards Kristoffer On 25/07/2014, at 16.34.48, Gurucharan Shetty <shet...@nicira.com> wrote: > If you are talking about why you are getting ~2 Gbps and not 10 Gbps > using GRE tunnel, then I think it is expected. I haven't gotten more > than 4 Gbps using GRE tunnel (with a lot of network optimizations like > setting affinity etc). If you expect to get 10 Gbps, you should use a > tunnel that has some help from the NIC with offloading. > > On Fri, Jul 25, 2014 at 4:05 AM, Kristoffer Egefelt <kristof...@itoc.dk> > wrote: >> I just confirmed that without the GRE tunnel, it works. >> So it seems the problem is in the GRE handling in or after openvswitch. >> >> I’m not sure if this is actually supposed to work with GRE packets - do the >> NIC drivers need to support GRE offload for this to work? >> Or could it be a kernel issue - as I understand it OVS 2.1 uses the kernels >> GRE implementation? >> >> >> >> On 25/07/2014, at 11.15.30, Kristoffer Egefelt <kristof...@itoc.dk> wrote: >> >>> Hi Flavio, >>> >>>> On Thu, Jul 24, 2014 at 01:47:32PM +0200, Kristoffer Egefelt wrote: >>>> [...] >>>>> - Packets egressing openvswitch over a gre tunnel is segmented to >>>>> 1500 bytes. If I configure mtu 9000 in the VM, the packets are >>>>> segmented to 9000 bytes on the gre tunnel - in any case tcpdump in >>>>> the sending VM shows packet sizes of 62636 bytes - strange ? >>>> >>>> Packets can go up to 64k when segmentation offloading is enabled >>>> on the interface. >>> >>> >>> Right, so the trigger here could be netback/netfront or the kernel or the >>> NIC driver transporting GRE packets? >>> I’m not sure what to expect here - if all offloading is enabled in the >>> entire path, should GSO/GRO 64K packets be able to traverse: >>> >>> VM1-> Netfront -> Netback -> OVS bridge -> OVS GRE bridge -> NIC -> switch >>> and >>> Switch -> NIC -> OVS GRE bridge -> OVS bridge -> Netback -> Netfront -> VM2 >>> >>> all without being segmented, other than below the NIC driver and in the >>> switch ? >>> >>> Do you know if this is supposed to just work - I might be hitting some >>> weird bug here. Using intel IXGBE, kernel 3.13, ovs 2.1. >>> >>> Offloading in NICs and VIFs and VMs eth0 included below: >>> >>> — Hypervisor: >>> Features for eth0: >>> rx-checksumming: on >>> tx-checksumming: on >>> tx-checksum-ipv4: on >>> tx-checksum-ip-generic: off [fixed] >>> tx-checksum-ipv6: on >>> tx-checksum-fcoe-crc: on [fixed] >>> tx-checksum-sctp: on >>> scatter-gather: on >>> tx-scatter-gather: on >>> tx-scatter-gather-fraglist: off [fixed] >>> tcp-segmentation-offload: on >>> tx-tcp-segmentation: on >>> tx-tcp-ecn-segmentation: off [fixed] >>> tx-tcp6-segmentation: on >>> udp-fragmentation-offload: off [fixed] >>> generic-segmentation-offload: on >>> generic-receive-offload: on >>> large-receive-offload: off >>> rx-vlan-offload: on >>> tx-vlan-offload: on >>> ntuple-filters: off >>> receive-hashing: on >>> highdma: on [fixed] >>> rx-vlan-filter: on [fixed] >>> vlan-challenged: off [fixed] >>> tx-lockless: off [fixed] >>> netns-local: off [fixed] >>> tx-gso-robust: off [fixed] >>> tx-fcoe-segmentation: on [fixed] >>> tx-gre-segmentation: off [fixed] >>> tx-udp_tnl-segmentation: off [fixed] >>> tx-mpls-segmentation: off [fixed] >>> fcoe-mtu: off [fixed] >>> tx-nocache-copy: on >>> loopback: off [fixed] >>> rx-fcs: off [fixed] >>> rx-all: off [fixed] >>> tx-vlan-stag-hw-insert: off [fixed] >>> rx-vlan-stag-hw-parse: off [fixed] >>> rx-vlan-stag-filter: off [fixed] >>> >>> >>> — vif >>> Features for vif1.0: >>> rx-checksumming: off [fixed] >>> tx-checksumming: on >>> tx-checksum-ipv4: on >>> tx-checksum-ip-generic: off [fixed] >>> tx-checksum-ipv6: off [fixed] >>> tx-checksum-fcoe-crc: off [fixed] >>> tx-checksum-sctp: off [fixed] >>> scatter-gather: on >>> tx-scatter-gather: on >>> tx-scatter-gather-fraglist: off [fixed] >>> tcp-segmentation-offload: on >>> tx-tcp-segmentation: on >>> tx-tcp-ecn-segmentation: off [fixed] >>> tx-tcp6-segmentation: off [fixed] >>> udp-fragmentation-offload: off [fixed] >>> generic-segmentation-offload: off >>> generic-receive-offload: on >>> large-receive-offload: off [fixed] >>> rx-vlan-offload: off [fixed] >>> tx-vlan-offload: off [fixed] >>> ntuple-filters: off [fixed] >>> receive-hashing: off [fixed] >>> highdma: off [fixed] >>> rx-vlan-filter: off [fixed] >>> vlan-challenged: off [fixed] >>> tx-lockless: off [fixed] >>> netns-local: off [fixed] >>> tx-gso-robust: off [fixed] >>> tx-fcoe-segmentation: off [fixed] >>> tx-gre-segmentation: off [fixed] >>> tx-udp_tnl-segmentation: off [fixed] >>> tx-mpls-segmentation: off [fixed] >>> fcoe-mtu: off [fixed] >>> tx-nocache-copy: on >>> loopback: off [fixed] >>> rx-fcs: off [fixed] >>> rx-all: off [fixed] >>> tx-vlan-stag-hw-insert: off [fixed] >>> rx-vlan-stag-hw-parse: off [fixed] >>> rx-vlan-stag-filter: off [fixed] >>> >>> — VM >>> Features for eth0: >>> rx-checksumming: on [fixed] >>> tx-checksumming: on >>> tx-checksum-ipv4: on >>> tx-checksum-ip-generic: off [fixed] >>> tx-checksum-ipv6: off [fixed] >>> tx-checksum-fcoe-crc: off [fixed] >>> tx-checksum-sctp: off [fixed] >>> scatter-gather: on >>> tx-scatter-gather: on >>> tx-scatter-gather-fraglist: off [fixed] >>> tcp-segmentation-offload: on >>> tx-tcp-segmentation: on >>> tx-tcp-ecn-segmentation: off [fixed] >>> tx-tcp6-segmentation: off [fixed] >>> udp-fragmentation-offload: off [fixed] >>> generic-segmentation-offload: on >>> generic-receive-offload: on >>> large-receive-offload: off [fixed] >>> rx-vlan-offload: off [fixed] >>> tx-vlan-offload: off [fixed] >>> ntuple-filters: off [fixed] >>> receive-hashing: off [fixed] >>> highdma: off [fixed] >>> rx-vlan-filter: off [fixed] >>> vlan-challenged: off [fixed] >>> tx-lockless: off [fixed] >>> netns-local: off [fixed] >>> tx-gso-robust: on [fixed] >>> tx-fcoe-segmentation: off [fixed] >>> tx-gre-segmentation: off [fixed] >>> tx-ipip-segmentation: off [fixed] >>> tx-sit-segmentation: off [fixed] >>> tx-udp_tnl-segmentation: off [fixed] >>> tx-mpls-segmentation: off [fixed] >>> fcoe-mtu: off [fixed] >>> tx-nocache-copy: on >>> loopback: off [fixed] >>> rx-fcs: off [fixed] >>> rx-all: off [fixed] >>> tx-vlan-stag-hw-insert: off [fixed] >>> rx-vlan-stag-hw-parse: off [fixed] >>> rx-vlan-stag-filter: off [fixed] >>> l2-fwd-offload: off [fixed] >>> >>> Thanks for your help. >>> >>> Regards >>> Kristoffer >>> _______________________________________________ >>> discuss mailing list >>> discuss@openvswitch.org >>> http://openvswitch.org/mailman/listinfo/discuss >>> >> >> _______________________________________________ >> discuss mailing list >> discuss@openvswitch.org >> http://openvswitch.org/mailman/listinfo/discuss > _______________________________________________ > discuss mailing list > discuss@openvswitch.org > http://openvswitch.org/mailman/listinfo/discuss _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss