Hi Qiming > -----Original Message----- > From: Yang, Qiming <qiming.y...@intel.com> > Sent: Tuesday, August 23, 2022 3:34 PM > To: Zeng, ZhichaoX <zhichaox.z...@intel.com>; dev@dpdk.org > Cc: Zhang, Qi Z <qi.z.zh...@intel.com> > Subject: RE: [PATCH v2] net/ice: support disabling ACL engine in DCF via > devargs > > > -----Original Message----- > > From: Zeng, ZhichaoX <zhichaox.z...@intel.com> > > Sent: Wednesday, August 17, 2022 4:21 PM > > To: dev@dpdk.org > > Cc: Yang, Qiming <qiming.y...@intel.com>; Zeng, ZhichaoX > > <zhichaox.z...@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com> > > Subject: [PATCH v2] net/ice: support disabling ACL engine in DCF via > > devargs > > > > From: Zhichao Zeng <zhichaox.z...@intel.com> > > One line more Thanks for reminding, I'll be careful next time. > > > > Support disabling DCF ACL engine via devarg "acl=off" in cmdline, > > aiming to shorten the DCF startup time. > > > > Signed-off-by: Zhichao Zeng <zhichaox.z...@intel.com> > > > > --- > > v2: add document for the new devarg > > --- <snip for brevity> > > > > +static int > > +ice_dcf_engine_disabled_handler(__rte_unused const char *key, > > + const char *value, __rte_unused void *opaque) { > > + if (strcmp(value, "off")) > > + return -1; > > + > > + return 0; > > +} > > + > > static int > > ice_dcf_cap_check_handler(__rte_unused const char *key, > > const char *value, __rte_unused void *opaque) > @@ > > -1919,11 +1949,11 @@ ice_dcf_cap_check_handler(__rte_unused const > char > > *key, > > return 0; > > } > > <snip for brevity> > > ð_da); diff --git a/drivers/net/ice/ice_dcf_ethdev.h > > b/drivers/net/ice/ice_dcf_ethdev.h > > index 27f6402786..4baaec4b8b 100644 > > --- a/drivers/net/ice/ice_dcf_ethdev.h > > +++ b/drivers/net/ice/ice_dcf_ethdev.h > > @@ -64,12 +64,18 @@ struct ice_dcf_vf_repr { > > struct ice_dcf_vlan outer_vlan_info; /* DCF always handle outer > VLAN > > */ }; > > > > +enum ice_dcf_devrarg { > > + ICE_DCF_DEVARG_CAP, > > Does ICE_DCF_DEVARG_CAP means no ACL? > ICE_DCF_DEVARG_CAP means to check whether DCF enabled with the ice_dcf_cap_check_handler. Similarly, ICE_DCF_DEVARG_ACL means to check ACL status.
Thanks Zhichao > > + ICE_DCF_DEVARG_ACL, > > +}; > > + > > extern const struct rte_tm_ops ice_dcf_tm_ops; void > > ice_dcf_handle_pf_event_msg(struct ice_dcf_hw *dcf_hw, > > uint8_t *msg, uint16_t msglen); > > int ice_dcf_init_parent_adapter(struct rte_eth_dev *eth_dev); void > > ice_dcf_uninit_parent_adapter(struct rte_eth_dev *eth_dev); > > > > +int ice_devargs_check(struct rte_devargs *devargs, enum > > +ice_dcf_devrarg devarg_type); > > int ice_dcf_vf_repr_init(struct rte_eth_dev *vf_rep_eth_dev, void > > *init_param); int ice_dcf_vf_repr_uninit(struct rte_eth_dev > > *vf_rep_eth_dev); int ice_dcf_vf_repr_init_vlan(struct rte_eth_dev > > *vf_rep_eth_dev); diff --git a/drivers/net/ice/ice_dcf_parent.c > > b/drivers/net/ice/ice_dcf_parent.c > > index 2f96dedcce..c67c865d8e 100644 <snip for brevity>