Thread (4 messages) 4 messages, 3 authors, 2015-02-20

Re: TX offloads for NVGRE (OVS GRE with inner protocol being TEB)

flat view

From: Jesse Gross <hidden>
Date: 2015-02-19 17:01:55

On Thu, Feb 19, 2015 at 6:05 AM, Or Gerlitz [off-list ref] wrote:
Hi,

It seems that the OVS GRE code lacks handling of offloads (e.g to come into
play with NICs that support NVGRE).

I assume we need to place a call to iptunnel_handle_offloads before invoking
iptunnel_xmit, agree? so ~the quick patch below should do the work? I wasn't
sure how to set the value of the 2nd param for iptunnel_handle_offloads().
I don't think that this is the issue. __build_header() calls
gre_handle_offloads() which should do all of this work already.

I did notice that skb_set_inner_protocol() is not being called because
it is in the wrong place in the GRE encapsulation code. It is
currently in ip_gre.c():__gre_xmit(), if that line was moved to
gre_demux.c:gre_build_header() then it would be used by all callers.

One other thing that is potentially an issue for offloads is that all
of the encapsulations call vlan_hwaccel_push_inside() after the
respective handle_offloads code. This doesn't seem right as it could
affect the layer pointers, although it only likely matters in a
minority of cases where the inner MAC pointer is used.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help