lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20190504114628.14755-8-jakub.kicinski@netronome.com> Date: Sat, 4 May 2019 04:46:22 -0700 From: Jakub Kicinski <jakub.kicinski@...ronome.com> To: davem@...emloft.net Cc: netdev@...r.kernel.org, oss-drivers@...ronome.com, jiri@...nulli.us, xiyou.wangcong@...il.com, idosch@...lanox.com, f.fainelli@...il.com, andrew@...n.ch, vivien.didelot@...il.com, gerlitz.or@...il.com, simon.horman@...ronome.com, Pieter Jansen van Vuuren <pieter.jansenvanvuuren@...ronome.com>, Jakub Kicinski <jakub.kicinski@...ronome.com> Subject: [PATCH net-next 07/13] net/sched: add police action to the hardware intermediate representation From: Pieter Jansen van Vuuren <pieter.jansenvanvuuren@...ronome.com> Add police action to the hardware intermediate representation which would subsequently allow it to be used by drivers for offload. Signed-off-by: Pieter Jansen van Vuuren <pieter.jansenvanvuuren@...ronome.com> Reviewed-by: Jakub Kicinski <jakub.kicinski@...ronome.com> --- include/net/flow_offload.h | 5 +++++ net/sched/cls_api.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h index 3bf67dd64be5..6200900434e1 100644 --- a/include/net/flow_offload.h +++ b/include/net/flow_offload.h @@ -119,6 +119,7 @@ enum flow_action_id { FLOW_ACTION_WAKE, FLOW_ACTION_QUEUE, FLOW_ACTION_SAMPLE, + FLOW_ACTION_POLICE, }; /* This is mirroring enum pedit_header_type definition for easy mapping between @@ -164,6 +165,10 @@ struct flow_action_entry { u32 trunc_size; bool truncate; } sample; + struct { /* FLOW_ACTION_POLICE */ + s64 burst; + u64 rate_bytes_ps; + } police; }; }; diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index f8ee2d78654a..d4699156974a 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c @@ -37,6 +37,7 @@ #include <net/tc_act/tc_tunnel_key.h> #include <net/tc_act/tc_csum.h> #include <net/tc_act/tc_gact.h> +#include <net/tc_act/tc_police.h> #include <net/tc_act/tc_sample.h> #include <net/tc_act/tc_skbedit.h> @@ -3265,6 +3266,11 @@ int tc_setup_flow_action(struct flow_action *flow_action, entry->sample.trunc_size = tcf_sample_trunc_size(act); entry->sample.truncate = tcf_sample_truncate(act); entry->sample.rate = tcf_sample_rate(act); + } else if (is_tcf_police(act)) { + entry->id = FLOW_ACTION_POLICE; + entry->police.burst = tcf_police_tcfp_burst(act); + entry->police.rate_bytes_ps = + tcf_police_rate_bytes_ps(act); } else { goto err_out; } -- 2.21.0
Powered by blists - more mailing lists