mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
net/sched: add police action to the hardware intermediate representation
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@netronome.com> Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fa762da94d
commit
8c8cfc6ed2
@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user