Message ID | 20220826110059.119927-1-wojciech.drewek@intel.com (mailing list archive) |
---|---|
Headers | show |
Series | ice: L2TPv3 offload support | expand |
Fri, Aug 26, 2022 at 01:00:54PM CEST, wojciech.drewek@intel.com wrote: >Add support for dissecting L2TPv3 session id in flow dissector. Add support >for this field in tc-flower and support offloading L2TPv3. Finally, add >support for hardware offload of L2TPv3 packets based on session id in >switchdev mode in ice driver. > >Example filter: > # tc filter add dev $PF1 ingress prio 1 protocol ip \ > flower \ > ip_proto l2tp \ > l2tpv3_sid 1234 \ > skip_sw \ > action mirred egress redirect dev $VF1_PR > >Changes in iproute2 are required to use the new fields. > >ICE COMMS DDP package is required to create a filter in ice. I don't understand what do you mean by this. Could you please explain what this mysterious "ICE COMMS DDP package" is? Do I understand it correctly that without it, the solution would not work? > >Marcin Szycik (1): > ice: Add L2TPv3 hardware offload support > >Wojciech Drewek (4): > uapi: move IPPROTO_L2TP to in.h > flow_dissector: Add L2TPv3 dissectors > net/sched: flower: Add L2TPv3 filter > flow_offload: Introduce flow_match_l2tpv3 > > .../ethernet/intel/ice/ice_protocol_type.h | 8 +++ > drivers/net/ethernet/intel/ice/ice_switch.c | 70 ++++++++++++++++++- > drivers/net/ethernet/intel/ice/ice_tc_lib.c | 27 ++++++- > drivers/net/ethernet/intel/ice/ice_tc_lib.h | 6 ++ > include/net/flow_dissector.h | 9 +++ > include/net/flow_offload.h | 6 ++ > include/uapi/linux/in.h | 2 + > include/uapi/linux/l2tp.h | 2 - > include/uapi/linux/pkt_cls.h | 2 + > net/core/flow_dissector.c | 28 ++++++++ > net/core/flow_offload.c | 7 ++ > net/sched/cls_flower.c | 16 +++++ > 12 files changed, 179 insertions(+), 4 deletions(-) > >-- >2.31.1 >
> -----Original Message----- > From: Jiri Pirko <jiri@resnulli.us> > Sent: piątek, 26 sierpnia 2022 13:16 > To: Drewek, Wojciech <wojciech.drewek@intel.com> > Cc: netdev@vger.kernel.org; Lobakin, Alexandr <alexandr.lobakin@intel.com>; Brandeburg, Jesse <jesse.brandeburg@intel.com>; > Nguyen, Anthony L <anthony.l.nguyen@intel.com>; davem@davemloft.net; edumazet@google.com; kuba@kernel.org; > pabeni@redhat.com; jhs@mojatatu.com; xiyou.wangcong@gmail.com; marcin.szycik@linux.intel.com; > michal.swiatkowski@linux.intel.com; kurt@linutronix.de; boris.sukholitko@broadcom.com; vladbu@nvidia.com; > komachi.yoshiki@gmail.com; paulb@nvidia.com; baowen.zheng@corigine.com; louis.peens@corigine.com; > simon.horman@corigine.com; pablo@netfilter.org; maksym.glubokiy@plvision.eu; intel-wired-lan@lists.osuosl.org; > jchapman@katalix.com; gnault@redhat.com > Subject: Re: [RFC PATCH net-next 0/5] ice: L2TPv3 offload support > > Fri, Aug 26, 2022 at 01:00:54PM CEST, wojciech.drewek@intel.com wrote: > >Add support for dissecting L2TPv3 session id in flow dissector. Add support > >for this field in tc-flower and support offloading L2TPv3. Finally, add > >support for hardware offload of L2TPv3 packets based on session id in > >switchdev mode in ice driver. > > > >Example filter: > > # tc filter add dev $PF1 ingress prio 1 protocol ip \ > > flower \ > > ip_proto l2tp \ > > l2tpv3_sid 1234 \ > > skip_sw \ > > action mirred egress redirect dev $VF1_PR > > > >Changes in iproute2 are required to use the new fields. > > > >ICE COMMS DDP package is required to create a filter in ice. > > I don't understand what do you mean by this. Could you please explain > what this mysterious "ICE COMMS DDP package" is? Do I understand it > correctly that without it, the solution would not work? Sorry, I'll include more precise description in the next version. DDP (Dynamic Device Personalization) is a firmware package that contains definitions protocol's headers and packets. It allows you to add support for the new protocol to the NIC card without rebooting. If the DDP package does not support L2TPv3 then hw offload will not work, however sw offload will still work. More info on DDP: https://www.intel.com/content/www/us/en/architecture-and-technology/ethernet/dynamic-device-personalization-brief.html > > > > >Marcin Szycik (1): > > ice: Add L2TPv3 hardware offload support > > > >Wojciech Drewek (4): > > uapi: move IPPROTO_L2TP to in.h > > flow_dissector: Add L2TPv3 dissectors > > net/sched: flower: Add L2TPv3 filter > > flow_offload: Introduce flow_match_l2tpv3 > > > > .../ethernet/intel/ice/ice_protocol_type.h | 8 +++ > > drivers/net/ethernet/intel/ice/ice_switch.c | 70 ++++++++++++++++++- > > drivers/net/ethernet/intel/ice/ice_tc_lib.c | 27 ++++++- > > drivers/net/ethernet/intel/ice/ice_tc_lib.h | 6 ++ > > include/net/flow_dissector.h | 9 +++ > > include/net/flow_offload.h | 6 ++ > > include/uapi/linux/in.h | 2 + > > include/uapi/linux/l2tp.h | 2 - > > include/uapi/linux/pkt_cls.h | 2 + > > net/core/flow_dissector.c | 28 ++++++++ > > net/core/flow_offload.c | 7 ++ > > net/sched/cls_flower.c | 16 +++++ > > 12 files changed, 179 insertions(+), 4 deletions(-) > > > >-- > >2.31.1 > >
> -----Original Message----- > From: Drewek, Wojciech > Sent: piątek, 26 sierpnia 2022 13:37 > To: Jiri Pirko <jiri@resnulli.us> > Cc: netdev@vger.kernel.org; Lobakin, Alexandr <alexandr.lobakin@intel.com>; Brandeburg, Jesse <jesse.brandeburg@intel.com>; > Nguyen, Anthony L <anthony.l.nguyen@intel.com>; davem@davemloft.net; edumazet@google.com; kuba@kernel.org; > pabeni@redhat.com; jhs@mojatatu.com; xiyou.wangcong@gmail.com; marcin.szycik@linux.intel.com; > michal.swiatkowski@linux.intel.com; kurt@linutronix.de; boris.sukholitko@broadcom.com; vladbu@nvidia.com; > komachi.yoshiki@gmail.com; paulb@nvidia.com; baowen.zheng@corigine.com; louis.peens@corigine.com; > simon.horman@corigine.com; pablo@netfilter.org; maksym.glubokiy@plvision.eu; intel-wired-lan@lists.osuosl.org; > jchapman@katalix.com; gnault@redhat.com > Subject: RE: [RFC PATCH net-next 0/5] ice: L2TPv3 offload support > > > > > -----Original Message----- > > From: Jiri Pirko <jiri@resnulli.us> > > Sent: piątek, 26 sierpnia 2022 13:16 > > To: Drewek, Wojciech <wojciech.drewek@intel.com> > > Cc: netdev@vger.kernel.org; Lobakin, Alexandr <alexandr.lobakin@intel.com>; Brandeburg, Jesse <jesse.brandeburg@intel.com>; > > Nguyen, Anthony L <anthony.l.nguyen@intel.com>; davem@davemloft.net; edumazet@google.com; kuba@kernel.org; > > pabeni@redhat.com; jhs@mojatatu.com; xiyou.wangcong@gmail.com; marcin.szycik@linux.intel.com; > > michal.swiatkowski@linux.intel.com; kurt@linutronix.de; boris.sukholitko@broadcom.com; vladbu@nvidia.com; > > komachi.yoshiki@gmail.com; paulb@nvidia.com; baowen.zheng@corigine.com; louis.peens@corigine.com; > > simon.horman@corigine.com; pablo@netfilter.org; maksym.glubokiy@plvision.eu; intel-wired-lan@lists.osuosl.org; > > jchapman@katalix.com; gnault@redhat.com > > Subject: Re: [RFC PATCH net-next 0/5] ice: L2TPv3 offload support > > > > Fri, Aug 26, 2022 at 01:00:54PM CEST, wojciech.drewek@intel.com wrote: > > >Add support for dissecting L2TPv3 session id in flow dissector. Add support > > >for this field in tc-flower and support offloading L2TPv3. Finally, add > > >support for hardware offload of L2TPv3 packets based on session id in > > >switchdev mode in ice driver. > > > > > >Example filter: > > > # tc filter add dev $PF1 ingress prio 1 protocol ip \ > > > flower \ > > > ip_proto l2tp \ > > > l2tpv3_sid 1234 \ > > > skip_sw \ > > > action mirred egress redirect dev $VF1_PR > > > > > >Changes in iproute2 are required to use the new fields. > > > > > >ICE COMMS DDP package is required to create a filter in ice. > > > > I don't understand what do you mean by this. Could you please explain > > what this mysterious "ICE COMMS DDP package" is? Do I understand it > > correctly that without it, the solution would not work? > > Sorry, I'll include more precise description in the next version. > DDP (Dynamic Device Personalization) is a firmware package that contains definitions > protocol's headers and packets. It allows you to add support for the new protocol to the > NIC card without rebooting. If the DDP package does not support L2TPv3 then hw offload > will not work, however sw offload will still work. > > More info on DDP: > https://www.intel.com/content/www/us/en/architecture-and-technology/ethernet/dynamic-device-personalization-brief.html To be more precise we need COMMS DDP package that supports more protocols (L2TPv3 included): https://www.intel.com/content/www/us/en/download/19660/intel-ethernet-800-series-telecommunication-comms-dynamic-device-personalization-ddp-package.html > > > > > > > > >Marcin Szycik (1): > > > ice: Add L2TPv3 hardware offload support > > > > > >Wojciech Drewek (4): > > > uapi: move IPPROTO_L2TP to in.h > > > flow_dissector: Add L2TPv3 dissectors > > > net/sched: flower: Add L2TPv3 filter > > > flow_offload: Introduce flow_match_l2tpv3 > > > > > > .../ethernet/intel/ice/ice_protocol_type.h | 8 +++ > > > drivers/net/ethernet/intel/ice/ice_switch.c | 70 ++++++++++++++++++- > > > drivers/net/ethernet/intel/ice/ice_tc_lib.c | 27 ++++++- > > > drivers/net/ethernet/intel/ice/ice_tc_lib.h | 6 ++ > > > include/net/flow_dissector.h | 9 +++ > > > include/net/flow_offload.h | 6 ++ > > > include/uapi/linux/in.h | 2 + > > > include/uapi/linux/l2tp.h | 2 - > > > include/uapi/linux/pkt_cls.h | 2 + > > > net/core/flow_dissector.c | 28 ++++++++ > > > net/core/flow_offload.c | 7 ++ > > > net/sched/cls_flower.c | 16 +++++ > > > 12 files changed, 179 insertions(+), 4 deletions(-) > > > > > >-- > > >2.31.1 > > >
Fri, Aug 26, 2022 at 01:36:55PM CEST, wojciech.drewek@intel.com wrote: > > >> -----Original Message----- >> From: Jiri Pirko <jiri@resnulli.us> >> Sent: piątek, 26 sierpnia 2022 13:16 >> To: Drewek, Wojciech <wojciech.drewek@intel.com> >> Cc: netdev@vger.kernel.org; Lobakin, Alexandr <alexandr.lobakin@intel.com>; Brandeburg, Jesse <jesse.brandeburg@intel.com>; >> Nguyen, Anthony L <anthony.l.nguyen@intel.com>; davem@davemloft.net; edumazet@google.com; kuba@kernel.org; >> pabeni@redhat.com; jhs@mojatatu.com; xiyou.wangcong@gmail.com; marcin.szycik@linux.intel.com; >> michal.swiatkowski@linux.intel.com; kurt@linutronix.de; boris.sukholitko@broadcom.com; vladbu@nvidia.com; >> komachi.yoshiki@gmail.com; paulb@nvidia.com; baowen.zheng@corigine.com; louis.peens@corigine.com; >> simon.horman@corigine.com; pablo@netfilter.org; maksym.glubokiy@plvision.eu; intel-wired-lan@lists.osuosl.org; >> jchapman@katalix.com; gnault@redhat.com >> Subject: Re: [RFC PATCH net-next 0/5] ice: L2TPv3 offload support >> >> Fri, Aug 26, 2022 at 01:00:54PM CEST, wojciech.drewek@intel.com wrote: >> >Add support for dissecting L2TPv3 session id in flow dissector. Add support >> >for this field in tc-flower and support offloading L2TPv3. Finally, add >> >support for hardware offload of L2TPv3 packets based on session id in >> >switchdev mode in ice driver. >> > >> >Example filter: >> > # tc filter add dev $PF1 ingress prio 1 protocol ip \ >> > flower \ >> > ip_proto l2tp \ >> > l2tpv3_sid 1234 \ >> > skip_sw \ >> > action mirred egress redirect dev $VF1_PR >> > >> >Changes in iproute2 are required to use the new fields. >> > >> >ICE COMMS DDP package is required to create a filter in ice. >> >> I don't understand what do you mean by this. Could you please explain >> what this mysterious "ICE COMMS DDP package" is? Do I understand it >> correctly that without it, the solution would not work? > >Sorry, I'll include more precise description in the next version. >DDP (Dynamic Device Personalization) is a firmware package that contains definitions >protocol's headers and packets. It allows you to add support for the new protocol to the >NIC card without rebooting. If the DDP package does not support L2TPv3 then hw offload >will not work, however sw offload will still work. Hmm, so it is some FW part? Why do we care about it here in patchset description? > >More info on DDP: >https://www.intel.com/content/www/us/en/architecture-and-technology/ethernet/dynamic-device-personalization-brief.html > >> >> > >> >Marcin Szycik (1): >> > ice: Add L2TPv3 hardware offload support >> > >> >Wojciech Drewek (4): >> > uapi: move IPPROTO_L2TP to in.h >> > flow_dissector: Add L2TPv3 dissectors >> > net/sched: flower: Add L2TPv3 filter >> > flow_offload: Introduce flow_match_l2tpv3 >> > >> > .../ethernet/intel/ice/ice_protocol_type.h | 8 +++ >> > drivers/net/ethernet/intel/ice/ice_switch.c | 70 ++++++++++++++++++- >> > drivers/net/ethernet/intel/ice/ice_tc_lib.c | 27 ++++++- >> > drivers/net/ethernet/intel/ice/ice_tc_lib.h | 6 ++ >> > include/net/flow_dissector.h | 9 +++ >> > include/net/flow_offload.h | 6 ++ >> > include/uapi/linux/in.h | 2 + >> > include/uapi/linux/l2tp.h | 2 - >> > include/uapi/linux/pkt_cls.h | 2 + >> > net/core/flow_dissector.c | 28 ++++++++ >> > net/core/flow_offload.c | 7 ++ >> > net/sched/cls_flower.c | 16 +++++ >> > 12 files changed, 179 insertions(+), 4 deletions(-) >> > >> >-- >> >2.31.1 >> >
On Fri, 26 Aug 2022 16:34:34 +0200 Jiri Pirko wrote: > >Sorry, I'll include more precise description in the next version. > >DDP (Dynamic Device Personalization) is a firmware package that contains definitions > >protocol's headers and packets. It allows you to add support for the new protocol to the > >NIC card without rebooting. If the DDP package does not support L2TPv3 then hw offload > >will not work, however sw offload will still work. > > Hmm, so it is some FW part? Why do we care about it here in patchset > description? We generally encourage people to put as much context in the commit messages and cover letters as possible. Nothing wrong with saying that a specific parser microcode is needed, IMHO.