Merge branch 'pps-policing'
Simon Horman says:
====================
net/sched: act_police: add support for packet-per-second policing
This series enhances the TC policer action implementation to allow a
policer action instance to enforce a rate-limit based on
packets-per-second, configurable using a packet-per-second rate and burst
parameters.
In the hope of aiding review this is broken up into three patches.
* [PATCH 1/3] flow_offload: add support for packet-per-second policing
Add support for this feature to the flow_offload API that is used to allow
programming flows, including TC rules and their actions, into hardware.
* [PATCH 2/3] flow_offload: reject configuration of packet-per-second policing in offload drivers
Teach all exiting users of the flow_offload API that allow offload of
policer action instances to reject offload if packet-per-second rate
limiting is configured: none support it at this time
* [PATCH 3/3] net/sched: act_police: add support for packet-per-second policing
With the above ground-work in place add the new feature to the TC policer
action itself
With the above in place the feature may be used.
As follow-ups we plan to provide:
* Corresponding updates to iproute2
* Corresponding self tests (which depend on the iproute2 changes)
* Hardware offload support for the NFP driver
Key changes since v2:
* Added patches 1 and 2, which makes adding patch 3 safe for existing
hardware offload of the policer action
* Re-worked patch 3 so that a TC policer action instance may be configured
for packet-per-second or byte-per-second rate limiting, but not both.
* Corrected kdoc usage
====================
Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- drivers/net/dsa/sja1105/sja1105_flower.c 6 additions, 0 deletionsdrivers/net/dsa/sja1105/sja1105_flower.c
- drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c 10 additions, 1 deletiondrivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c
- drivers/net/ethernet/freescale/enetc/enetc_qos.c 5 additions, 0 deletionsdrivers/net/ethernet/freescale/enetc/enetc_qos.c
- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c 4 additions, 0 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_tc.c
- drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c 5 additions, 0 deletionsdrivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c
- drivers/net/ethernet/mscc/ocelot_flower.c 5 additions, 0 deletionsdrivers/net/ethernet/mscc/ocelot_flower.c
- drivers/net/ethernet/mscc/ocelot_net.c 6 additions, 0 deletionsdrivers/net/ethernet/mscc/ocelot_net.c
- drivers/net/ethernet/netronome/nfp/flower/qos_conf.c 5 additions, 0 deletionsdrivers/net/ethernet/netronome/nfp/flower/qos_conf.c
- include/net/flow_offload.h 2 additions, 0 deletionsinclude/net/flow_offload.h
- include/net/sch_generic.h 14 additions, 0 deletionsinclude/net/sch_generic.h
- include/net/tc_act/tc_police.h 52 additions, 0 deletionsinclude/net/tc_act/tc_police.h
- include/uapi/linux/pkt_cls.h 2 additions, 0 deletionsinclude/uapi/linux/pkt_cls.h
- net/sched/act_police.c 52 additions, 7 deletionsnet/sched/act_police.c
- net/sched/cls_api.c 3 additions, 0 deletionsnet/sched/cls_api.c
- net/sched/sch_generic.c 50 additions, 25 deletionsnet/sched/sch_generic.c
Loading
Please register or sign in to comment