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

Reply via email to