All of lore.kernel.org
 help / color / mirror / Atom feed
* [net-next PATCH 0/7] tc offload for cls_u32 on ixgbe
@ 2016-02-03  9:27 John Fastabend
  2016-02-03  9:27 ` [net-next PATCH 1/7] net: rework ndo tc op to consume additional qdisc handle parameter John Fastabend
                   ` (8 more replies)
  0 siblings, 9 replies; 34+ messages in thread
From: John Fastabend @ 2016-02-03  9:27 UTC (permalink / raw)
  To: amir, ogerlitz, jiri, jhs, jeffrey.t.kirsher; +Cc: netdev, davem

This extends the setup_tc framework so it can support more than just
the mqprio offload and push other classifiers and qdiscs into the
hardware. The series here targets the u32 classifier and ixgbe
driver. I worked out the u32 classifier because it is protocol
oblivious and aligns with multiple hardware devices I have access
to. I did an initial implementation on ixgbe because (a) I have one
in my box (b) its a stable driver and (c) it is relatively simple
compared to the other devices I have here but still has enough
flexibility to exercise the features of cls_u32.

I intentionally limited the scope of this series to the basic
feature set. Specifically this uses a 'big hammer' feature bit
to do the offload or not. If the bit is set you get offloaded rules
if it is not then rules will not be offloaded. If we can agree on
this patch series there are some more patches on my queue we can
talk about to make the offload decision per rule using flags similar
to how we do l2 mac updates. Additionally the error strategy can
be improved to be hard aborting, log and continue, etc. I think
these are nice to have improvements but shouldn't block this series.

Also by adding get_parse_graph and set_parse_graph attributes as
in my previous flow_api work we can build programmable devices
and programmatically learn when rules can or can not be loaded
into the hardware. Again future work.

Any comments/feedback appreciated.

Thanks,
John

---

John Fastabend (7):
      net: rework ndo tc op to consume additional qdisc handle parameter
      net: rework setup_tc ndo op to consume general tc operand
      net: sched: add cls_u32 offload hooks for netdevs
      net: add tc offload feature flag
      net: tc: helper functions to query action types
      net: ixgbe: add minimal parser details for ixgbe
      net: ixgbe: add support for tc_u32 offload


 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c  |    8 +
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h  |    2 
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c |    2 
 drivers/net/ethernet/broadcom/bnxt/bnxt.c        |    9 +
 drivers/net/ethernet/intel/fm10k/fm10k_netdev.c  |   11 +
 drivers/net/ethernet/intel/i40e/i40e_main.c      |   10 +
 drivers/net/ethernet/intel/ixgbe/ixgbe.h         |    3 
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c |    6 -
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c    |  206 ++++++++++++++++++++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_model.h   |  112 ++++++++++++
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c   |   13 +
 drivers/net/ethernet/sfc/efx.h                   |    3 
 drivers/net/ethernet/sfc/tx.c                    |   10 +
 drivers/net/ethernet/ti/netcp_core.c             |   14 +
 include/linux/netdev_features.h                  |    3 
 include/linux/netdevice.h                        |   24 ++-
 include/net/pkt_cls.h                            |   33 ++++
 include/net/tc_act/tc_gact.h                     |   16 ++
 net/core/ethtool.c                               |    1 
 net/sched/cls_u32.c                              |   73 ++++++++
 net/sched/sch_mqprio.c                           |    8 +
 21 files changed, 541 insertions(+), 26 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_model.h

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2016-02-09 12:20 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-03  9:27 [net-next PATCH 0/7] tc offload for cls_u32 on ixgbe John Fastabend
2016-02-03  9:27 ` [net-next PATCH 1/7] net: rework ndo tc op to consume additional qdisc handle parameter John Fastabend
2016-02-03  9:58   ` kbuild test robot
2016-02-03  9:59   ` kbuild test robot
2016-02-03 11:44   ` kbuild test robot
2016-02-03  9:28 ` [net-next PATCH 2/7] net: rework setup_tc ndo op to consume general tc operand John Fastabend
2016-02-03  9:28 ` [net-next PATCH 3/7] net: sched: add cls_u32 offload hooks for netdevs John Fastabend
2016-02-03 10:14   ` kbuild test robot
2016-02-04 13:18   ` Amir Vadai"
2016-02-09 11:09     ` Fastabend, John R
2016-02-03  9:28 ` [net-next PATCH 4/7] net: add tc offload feature flag John Fastabend
2016-02-03  9:29 ` [net-next PATCH 5/7] net: tc: helper functions to query action types John Fastabend
2016-02-03  9:29 ` [net-next PATCH 6/7] net: ixgbe: add minimal parser details for ixgbe John Fastabend
2016-02-03  9:29 ` [net-next PATCH 7/7] net: ixgbe: add support for tc_u32 offload John Fastabend
2016-02-03 10:07   ` Amir Vadai"
2016-02-03 10:26     ` John Fastabend
2016-02-03 12:46       ` Jamal Hadi Salim
2016-02-03 19:02         ` Fastabend, John R
2016-02-09 11:30         ` Fastabend, John R
2016-02-04  7:30   ` Amir Vadai"
2016-02-04  8:23     ` Fastabend, John R
2016-02-04 12:12       ` Amir Vadai"
2016-02-09 11:27         ` Fastabend, John R
2016-02-03 10:11 ` [net-next PATCH 0/7] tc offload for cls_u32 on ixgbe Amir Vadai"
2016-02-03 10:21   ` John Fastabend
2016-02-03 10:31     ` Or Gerlitz
2016-02-03 12:21       ` Jamal Hadi Salim
2016-02-03 18:48         ` Fastabend, John R
2016-02-04 13:12           ` Jamal Hadi Salim
2016-02-09 11:24             ` Fastabend, John R
2016-02-09 12:20               ` Jamal Hadi Salim
2016-02-04  9:16 ` Jiri Pirko
2016-02-04 23:19   ` Pablo Neira Ayuso
2016-02-09 11:06     ` Fastabend, John R

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.