From: John Fastabend <john.fastabend-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Jiri Pirko <jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
Cc: ryazanov.s.a-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
jasowang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
john.r.fastabend-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
Neil.Jerram-QnUH15yq9NYqDJ6do+/SaQ@public.gmane.org,
edumazet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org,
andy-QlMahl40kYEqcZcGjlUOXw@public.gmane.org,
dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org,
nbd-p3rKhJxN3npAfugRpC6u6w@public.gmane.org,
f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
ronye-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
jeffrey.t.kirsher-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
ben-/+tVBieCtBitmTQ+vhA3Yw@public.gmane.org,
buytenh-OLH4Qvv75CYX/NnBR394Jw@public.gmane.org,
roopa-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org,
jhs-jkUAjuhPggJWk0Htik3J/w@public.gmane.org,
aviadr-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w@public.gmane.org,
vyasevic-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
stephen-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.org,
dborkman-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org,
davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org
Subject: Re: [patch net-next RFC 10/12] openvswitch: add support for datapath hardware offload
Date: Fri, 22 Aug 2014 12:39:00 -0700 [thread overview]
Message-ID: <53F79C54.5050701@gmail.com> (raw)
In-Reply-To: <1408637945-10390-11-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
On 08/21/2014 09:19 AM, Jiri Pirko wrote:
> Benefit from the possibility to work with flows in switch devices and
> use the swdev api to offload flow datapath.
we should add a description here on the strategy being used.
If I read this correctly this will try to add any flow to the
hardware along with the actions and duplicate it in software.
There are a couple things I don't like,
- this requires OVS to be loaded to work. If all I want is
direct access to the hardware flow tables requiring openvswitch.ko
shouldn't be needed IMO. For example I may want to use the
hardware flow tables with something not openvswitch and we
shouldn't preclude that.
- Also there is no programmatic way to learn which flows are
in hardware and which in software. There is a pr_warn but
that doesn't help when interacting with the hardware remotely.
I need some mechanism to dump the set of hardware tables and
the set of software tables.
- Simply duplicating the software flow/action into
hardware may not optimally use the hardware tables. If I have
a TCAM in hardware for instance. (This is how I read the patch
let me know if I missed something)
- I need a way to specify put this flow/action in hardware,
put this flow/action in software, or put this in both software
and hardware.
We did this with a bitmask in the fdb L2 stuff and it seems to
work reasonable well so maybe something like that would help.
For example if I don't have this what happens if I have an
entry to decrement TTL in both hardware and software. If the
flow hits both the hardware path and software path the TTL
gets decremented. Here userspace needs to indicate where to
do the decrement to avoid the duplication.
I think if we can pull this out OVS and add the hw/sw bitmask (or
maybe a better implementation of that idea) then this should work
for the stuff I'm looking at. I want to try and get it working on
the i40e driver as a fdir replacement but it might take me a bit
to get to it.
Thanks,
John
--
John Fastabend Intel Corporation
next prev parent reply other threads:[~2014-08-22 19:39 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-21 16:18 [patch net-next RFC 00/12] introduce rocker switch driver with openvswitch hardware accelerated datapath Jiri Pirko
[not found] ` <1408637945-10390-1-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-08-21 16:18 ` [patch net-next RFC 01/12] openvswitch: split flow structures into ovs specific and generic ones Jiri Pirko
2014-08-21 16:18 ` [patch net-next RFC 03/12] net: introduce generic switch devices support Jiri Pirko
2014-08-21 16:41 ` Ben Hutchings
2014-08-21 17:03 ` Jiri Pirko
[not found] ` <1408639283.13073.3.camel-nDn/Rdv9kqW9Jme8/bJn5UCKIB8iOfG2tUK59QYPAWc@public.gmane.org>
2014-08-27 2:45 ` Tom Herbert
[not found] ` <1408637945-10390-4-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-08-21 17:05 ` Florian Fainelli
[not found] ` <CAGVrzcYtnpcP4pfCJ0GSya01LTk0WwbSV1f+voF2K=S5CR3Arg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-22 12:42 ` Jamal Hadi Salim
2014-08-22 12:56 ` Jiri Pirko
2014-08-22 19:14 ` John Fastabend
[not found] ` <53F7969C.1060509-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-22 23:12 ` Scott Feldman
[not found] ` <20140822125655.GB1916-6KJVSR23iU488b5SBfVpbw@public.gmane.org>
2014-08-23 1:02 ` Florian Fainelli
[not found] ` <CAGVrzcZS=Y2stxSNMfVjWTpPT8GoDOpOD9tExnDnoF0jj_owoQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-23 9:17 ` Jiri Pirko
2014-08-24 11:46 ` Thomas Graf
[not found] ` <20140824114605.GC32741-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-26 8:34 ` Jiri Pirko
2014-08-27 22:19 ` Cong Wang
2014-08-21 16:18 ` [patch net-next RFC 06/12] net: introduce dummy switch Jiri Pirko
[not found] ` <1408637945-10390-7-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-08-26 19:14 ` Andy Gospodarek
[not found] ` <20140826191420.GC5275-Me9pkO/C/lgvPfuUPAiksl6hYfS7NtTn@public.gmane.org>
2014-08-29 7:00 ` Jiri Pirko
2014-08-21 16:18 ` [patch net-next RFC 02/12] net: rename netdev_phys_port_id to more generic name Jiri Pirko
[not found] ` <1408637945-10390-3-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-08-26 12:23 ` Or Gerlitz
[not found] ` <53FC7C3C.3090901-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-08-26 14:10 ` Jiri Pirko
2014-08-26 17:14 ` Stephen Hemminger
2014-08-21 16:18 ` [patch net-next RFC 04/12] rtnl: expose physical switch id for particular device Jiri Pirko
[not found] ` <1408637945-10390-5-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-08-22 19:08 ` John Fastabend
[not found] ` <53F79537.20207-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-26 8:32 ` Jiri Pirko
2014-08-21 16:18 ` [patch net-next RFC 05/12] net-sysfs: " Jiri Pirko
2014-08-21 16:19 ` [patch net-next RFC 07/12] dsa: implement ndo_swdev_get_id Jiri Pirko
2014-08-21 16:38 ` Ben Hutchings
2014-08-21 16:56 ` Florian Fainelli
[not found] ` <CAGVrzcbs1yGb5RW++XZ=2PFsqUjZGVGfWx5=QQYcEX6x4WOq9Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-21 17:06 ` Jiri Pirko
[not found] ` <20140821170645.GB10633-6KJVSR23iU5sFDB2n11ItA@public.gmane.org>
2014-08-21 17:12 ` Florian Fainelli
[not found] ` <CAGVrzcb=vkqPw2LUc4YO4Bs-eady2=1uN-jkG=kW2RnGx=24PQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-22 9:05 ` David Laight
2014-08-23 11:33 ` Eric W. Biederman
2014-08-21 16:19 ` [patch net-next RFC 08/12] net: introduce netdev_phys_item_ids_match helper Jiri Pirko
2014-08-21 16:19 ` [patch net-next RFC 09/12] openvswitch: introduce vport_op get_netdev Jiri Pirko
2014-08-21 16:19 ` [patch net-next RFC 10/12] openvswitch: add support for datapath hardware offload Jiri Pirko
[not found] ` <1408637945-10390-11-git-send-email-jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
2014-08-22 19:39 ` John Fastabend [this message]
[not found] ` <53F79C54.5050701-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-22 22:53 ` Scott Feldman
[not found] ` <464DB0A8-0073-4CE0-9483-0F36B73A53A1-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>
2014-08-23 9:24 ` Jiri Pirko
2014-08-23 14:51 ` Thomas Graf
[not found] ` <20140823145126.GB24116-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-23 17:09 ` John Fastabend
[not found] ` <53F8CAB9.8080407-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-24 11:32 ` Thomas Graf
2014-08-24 1:53 ` Jamal Hadi Salim
2014-08-24 11:12 ` Thomas Graf
[not found] ` <20140824111218.GA32741-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-24 15:15 ` Jamal Hadi Salim
[not found] ` <53FA01AC.10507-jkUAjuhPggJWk0Htik3J/w@public.gmane.org>
2014-08-25 2:24 ` Scott Feldman
[not found] ` <A67C7591-19BF-4431-9119-F61361F5E618-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>
2014-08-25 2:42 ` John Fastabend
[not found] ` <53FAA2A2.7070801-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-25 13:53 ` Jamal Hadi Salim
2014-08-25 14:17 ` Thomas Graf
[not found] ` <20140825141754.GA30140-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-25 16:15 ` Jamal Hadi Salim
[not found] ` <53FB6122.2040901-jkUAjuhPggJWk0Htik3J/w@public.gmane.org>
2014-08-25 22:50 ` Thomas Graf
[not found] ` <20140825225057.GD30140-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-26 13:50 ` Roopa Prabhu
2014-08-26 14:06 ` Jiri Pirko
2014-08-26 14:58 ` Jamal Hadi Salim
2014-08-26 15:22 ` Jiri Pirko
[not found] ` <20140826152217.GA1843-6KJVSR23iU5sFDB2n11ItA@public.gmane.org>
2014-08-26 15:29 ` Jamal Hadi Salim
2014-08-26 15:44 ` Jiri Pirko
[not found] ` <20140826154459.GB1843-6KJVSR23iU5sFDB2n11ItA@public.gmane.org>
2014-08-26 15:54 ` Andy Gospodarek
[not found] ` <20140826155426.GA5275-Me9pkO/C/lgvPfuUPAiksl6hYfS7NtTn@public.gmane.org>
2014-08-26 16:19 ` Thomas Graf
[not found] ` <20140826161956.GA15316-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-26 18:41 ` Andy Gospodarek
2014-08-26 20:13 ` Alexei Starovoitov
2014-08-26 20:54 ` Thomas Graf
2014-08-29 14:20 ` Jamal Hadi Salim
[not found] ` <54008C47.5040503-jkUAjuhPggJWk0Htik3J/w@public.gmane.org>
2014-09-01 8:13 ` Simon Horman
[not found] ` <20140901081343.GC12731-IxS8c3vjKQDk1uMJSBkQmQ@public.gmane.org>
2014-09-01 16:37 ` Jamal Hadi Salim
2014-09-01 20:28 ` Jiri Pirko
2014-09-02 1:08 ` Jamal Hadi Salim
2014-08-26 15:01 ` Scott Feldman
[not found] ` <D891A8EC-548C-453E-AC70-8431DAC4B8C4-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>
2014-08-26 15:12 ` Jamal Hadi Salim
2014-08-26 14:26 ` Jamal Hadi Salim
2014-08-25 13:42 ` Jamal Hadi Salim
2014-08-25 14:54 ` Thomas Graf
[not found] ` <20140825145449.GB30140-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2014-08-25 16:48 ` Jamal Hadi Salim
2014-08-25 22:11 ` Thomas Graf
2014-08-26 14:00 ` Jamal Hadi Salim
2014-08-26 14:20 ` Thomas Graf
[not found] ` <20140904090447.GB3176@vergenet.net>
[not found] ` <20140904090447.GB3176-IxS8c3vjKQDk1uMJSBkQmQ@public.gmane.org>
2014-09-04 16:30 ` Scott Feldman
[not found] ` <F4498A89-C1D6-4C5A-A6F0-942015D36B77-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>
2014-09-05 4:08 ` Simon Horman
[not found] ` <20140905040810.GB32481-IxS8c3vjKQDk1uMJSBkQmQ@public.gmane.org>
2014-09-05 7:02 ` Scott Feldman
[not found] ` <E3C7797F-081E-484F-918E-937C705B43D6-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>
2014-09-05 10:46 ` Jamal Hadi Salim
2014-09-08 0:02 ` Simon Horman
2014-08-21 16:19 ` [patch net-next RFC 11/12] sw_flow: add misc section to key with in_port_ifindex field Jiri Pirko
2014-08-21 16:19 ` [patch net-next RFC 12/12] rocker: introduce rocker switch driver Jiri Pirko
2014-08-21 17:19 ` Florian Fainelli
2014-08-23 14:04 ` Thomas Graf
2014-08-29 7:06 ` 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=53F79C54.5050701@gmail.com \
--to=john.fastabend-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=Neil.Jerram-QnUH15yq9NYqDJ6do+/SaQ@public.gmane.org \
--cc=andy-QlMahl40kYEqcZcGjlUOXw@public.gmane.org \
--cc=aviadr-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=ben-/+tVBieCtBitmTQ+vhA3Yw@public.gmane.org \
--cc=buytenh-OLH4Qvv75CYX/NnBR394Jw@public.gmane.org \
--cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
--cc=dborkman-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org \
--cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
--cc=edumazet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=jasowang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=jeffrey.t.kirsher-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=jhs-jkUAjuhPggJWk0Htik3J/w@public.gmane.org \
--cc=jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org \
--cc=john.r.fastabend-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=nbd-p3rKhJxN3npAfugRpC6u6w@public.gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org \
--cc=nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w@public.gmane.org \
--cc=ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=ronye-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=roopa-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org \
--cc=ryazanov.s.a-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=stephen-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.org \
--cc=vyasevic-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
/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).