Hi Ido,
> -----Original Message----- > From: Ido Schimmel <[email protected]> > Sent: 2020年6月21日 18:04 > To: Po Liu <[email protected]> > Cc: [email protected]; [email protected]; > [email protected]; [email protected]; Claudiu Manoil > <[email protected]>; Vladimir Oltean <[email protected]>; > Alexandru Marginean <[email protected]>; Xiaoliang Yang > <[email protected]>; Roy Zang <[email protected]>; Mingkai Hu > <[email protected]>; Jerry Huang <[email protected]>; Leo Li > <[email protected]>; [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; > [email protected]; > [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected] > Subject: Re: [RFC,net-next 8/9] net: qos: police action add index for > tc flower offloading > > > On Fri, Mar 06, 2020 at 08:56:06PM +0800, Po Liu wrote: > > Hardware may own many entries for police flow. So that make one(or > > multi) flow to be policed by one hardware entry. This patch add the > > police action index provide to the driver side make it mapping the > > driver hardware entry index. > > > > Signed-off-by: Po Liu <[email protected]> > > Hi, > > I started looking into tc-police offload in mlxsw and remembered your > patch. Are you planning to formally submit it? I'm asking because in mlxsw > it is also possible to share the same policer between multiple filters. Yes, I am preparing the patches and push again very soon. The patches will add mtu and index for offloading as first step. The next step is seeking method to implement two color + two buckets mode but seems absent one bucket in policing action. The current burst + rate_bytes_ps only can only implement one color+ one bucket policing. > > Thanks > > > --- > > include/net/flow_offload.h | 1 + > > net/sched/cls_api.c | 1 + > > 2 files changed, 2 insertions(+) > > > > diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h > > index 54df87328edc..3b78b15ed20b 100644 > > --- a/include/net/flow_offload.h > > +++ b/include/net/flow_offload.h > > @@ -201,6 +201,7 @@ struct flow_action_entry { > > bool truncate; > > } sample; > > struct { /* FLOW_ACTION_POLICE > > */ > > + u32 index; > > s64 burst; > > u64 rate_bytes_ps; > > u32 mtu; > > diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index > > 363d3991793d..ce846a9dadc1 100644 > > --- a/net/sched/cls_api.c > > +++ b/net/sched/cls_api.c > > @@ -3584,6 +3584,7 @@ int tc_setup_flow_action(struct flow_action > *flow_action, > > entry->police.rate_bytes_ps = > > tcf_police_rate_bytes_ps(act); > > entry->police.mtu = tcf_police_mtu(act); > > + entry->police.index = act->tcfa_index; > > } else if (is_tcf_ct(act)) { > > entry->id = FLOW_ACTION_CT; > > entry->ct.action = tcf_ct_action(act); > > -- > > 2.17.1 > > Thanks a lot! Br, Po Liu

