From: Paolo Abeni <pabeni@redhat.com>
To: Jiri Pirko <jiri@resnulli.us>
Cc: Or Gerlitz <gerlitz.or@gmail.com>, Jiri Benc <jbenc@redhat.com>,
Simon Horman <simon.horman@netronome.com>,
David Miller <davem@davemloft.net>,
Jakub Kicinski <jakub.kicinski@netronome.com>,
Linux Netdev List <netdev@vger.kernel.org>,
oss-drivers@netronome.com,
John Hurley <john.hurley@netronome.com>,
Paul Blakey <paulb@mellanox.com>, Jiri Pirko <jiri@mellanox.com>,
Roi Dayan <roid@mellanox.com>
Subject: Re: tc H/W offload issue with vxlan tunnels [was: nfp: flower vxlan tunnel offload]
Date: Wed, 27 Sep 2017 14:31:36 +0200 [thread overview]
Message-ID: <1506515496.6840.6.camel@redhat.com> (raw)
In-Reply-To: <20170927111150.GE1944@nanopsycho.orion>
On Wed, 2017-09-27 at 13:11 +0200, Jiri Pirko wrote:
> Wed, Sep 27, 2017 at 11:46:58AM CEST, pabeni@redhat.com wrote:
> > On Wed, 2017-09-27 at 11:17 +0200, Jiri Pirko wrote:
> > > Wed, Sep 27, 2017 at 10:29:35AM CEST, pabeni@redhat.com wrote:
> > > > So it looks like the H/W offload hook will still be called with the
> > > > same arguments in both case, and 'bad' rule will still be pushed to the
> > > > H/W as the driver itself has no way to distinct between the two
> > > > scenarios.
> > >
> > > Why "bad"?
> >
> > Such rule is coped differently by the SW and the HW data path.
> >
> > a rule like:
> >
> > tc filter add dev eth0 protocol ip parent ffff: flower \
> > enc_key_id 102 enc_dst_port 4789 src_ip 3.4.5.6 skip_hw \
> > action action mirred redirect eth0_vf_1
> >
> > will match 0 packets, while:
> >
> > tc filter add dev eth0 protocol ip parent ffff: flower \
> > enc_key_id 102 enc_dst_port 4789 src_ip 3.4.5.6 skip_sw \
> > action action mirred redirect eth0_vf_1
> >
> > [just flipped 'skip_sw' and 'skip_hw' ]
> > will match the vxlan-tunneled packets. I understand that one of the
> > design goal for the h/w offload path is being consistent with the sw
> > one, but that does not hold in the above scenario.
>
> Sure, the consistency is important. Howcome "skip_hw" won't match and
> "skip_sw" will match? What's different?
For the SW datapath, we need a metadata based/lwt tunnel to collect the
tunnel information. eth0 is not a such device and does not provide the
metadata. Any match on tunnel based field will fail - correctly.
When the HW datapath is used, the underlaying NIC is programmed exactly
as done when we replace eth0 with vxlan0. The programmed flow matches
vxlan encapsulated traffic.
Cheers,
Paolo
next prev parent reply other threads:[~2017-09-27 12:31 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-27 8:29 tc H/W offload issue with vxlan tunnels [was: nfp: flower vxlan tunnel offload] Paolo Abeni
2017-09-27 9:17 ` Jiri Pirko
2017-09-27 9:46 ` Paolo Abeni
2017-09-27 11:11 ` Jiri Pirko
2017-09-27 12:31 ` Paolo Abeni [this message]
2017-09-27 12:55 ` Jiri Pirko
2017-09-27 15:27 ` Jiri Benc
2017-09-27 15:35 ` Jiri Pirko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1506515496.6840.6.camel@redhat.com \
--to=pabeni@redhat.com \
--cc=davem@davemloft.net \
--cc=gerlitz.or@gmail.com \
--cc=jakub.kicinski@netronome.com \
--cc=jbenc@redhat.com \
--cc=jiri@mellanox.com \
--cc=jiri@resnulli.us \
--cc=john.hurley@netronome.com \
--cc=netdev@vger.kernel.org \
--cc=oss-drivers@netronome.com \
--cc=paulb@mellanox.com \
--cc=roid@mellanox.com \
--cc=simon.horman@netronome.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).