[Intel-wired-lan] [RFC PATCH net-next 0/5] ice: L2TPv3 offload support

Drewek, Wojciech wojciech.drewek at intel.com
Fri Aug 26 11:52:06 UTC 2022



> -----Original Message-----
> From: Drewek, Wojciech
> Sent: piątek, 26 sierpnia 2022 13:37
> To: Jiri Pirko <jiri at resnulli.us>
> Cc: netdev at vger.kernel.org; Lobakin, Alexandr <alexandr.lobakin at intel.com>; Brandeburg, Jesse <jesse.brandeburg at intel.com>;
> Nguyen, Anthony L <anthony.l.nguyen at intel.com>; davem at davemloft.net; edumazet at google.com; kuba at kernel.org;
> pabeni at redhat.com; jhs at mojatatu.com; xiyou.wangcong at gmail.com; marcin.szycik at linux.intel.com;
> michal.swiatkowski at linux.intel.com; kurt at linutronix.de; boris.sukholitko at broadcom.com; vladbu at nvidia.com;
> komachi.yoshiki at gmail.com; paulb at nvidia.com; baowen.zheng at corigine.com; louis.peens at corigine.com;
> simon.horman at corigine.com; pablo at netfilter.org; maksym.glubokiy at plvision.eu; intel-wired-lan at lists.osuosl.org;
> jchapman at katalix.com; gnault at redhat.com
> Subject: RE: [RFC PATCH net-next 0/5] ice: L2TPv3 offload support
> 
> 
> 
> > -----Original Message-----
> > From: Jiri Pirko <jiri at resnulli.us>
> > Sent: piątek, 26 sierpnia 2022 13:16
> > To: Drewek, Wojciech <wojciech.drewek at intel.com>
> > Cc: netdev at vger.kernel.org; Lobakin, Alexandr <alexandr.lobakin at intel.com>; Brandeburg, Jesse <jesse.brandeburg at intel.com>;
> > Nguyen, Anthony L <anthony.l.nguyen at intel.com>; davem at davemloft.net; edumazet at google.com; kuba at kernel.org;
> > pabeni at redhat.com; jhs at mojatatu.com; xiyou.wangcong at gmail.com; marcin.szycik at linux.intel.com;
> > michal.swiatkowski at linux.intel.com; kurt at linutronix.de; boris.sukholitko at broadcom.com; vladbu at nvidia.com;
> > komachi.yoshiki at gmail.com; paulb at nvidia.com; baowen.zheng at corigine.com; louis.peens at corigine.com;
> > simon.horman at corigine.com; pablo at netfilter.org; maksym.glubokiy at plvision.eu; intel-wired-lan at lists.osuosl.org;
> > jchapman at katalix.com; gnault at 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 at 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
> > >


More information about the Intel-wired-lan mailing list