On Tue, Sep 06, 2022 at 08:13:24PM +0800, Zhengchao Shao wrote: > The implementation logic of the walk/lookup hook function in each action > module is the same. Therefore, the two functions can be reconstructed. > When registering tc_action_ops of each action module, the corresponding > net_id is saved to tc_action_ops. In this way, the net_id of the > corresponding module can be directly obtained in act_api without executing > the specific walk and lookup hook functions. Then, generic functions can > be added to replace the walk and lookup hook functions of each action > module. Last, modify each action module in alphabetical order. > > Reserve the walk and lookup interfaces and delete them when they are no > longer used. > > This patchset has been tested by using TDC, and I will add selftest in > other patchset. > > --- > v1: save the net_id of each TC action module to the tc_action_ops structure > --- > > Zhengchao Shao (22): > net: sched: act: move global static variable net_id to tc_action_ops > net: sched: act_api: implement generic walker and search for tc action > net: sched: act_bpf: get rid of tcf_bpf_walker and tcf_bpf_search > net: sched: act_connmark: get rid of tcf_connmark_walker and > tcf_connmark_search > net: sched: act_csum: get rid of tcf_csum_walker and tcf_csum_search > net: sched: act_ct: get rid of tcf_ct_walker and tcf_ct_search > net: sched: act_ctinfo: get rid of tcf_ctinfo_walker and > tcf_ctinfo_search > net: sched: act_gact: get rid of tcf_gact_walker and tcf_gact_search > net: sched: act_gate: get rid of tcf_gate_walker and tcf_gate_search > net: sched: act_ife: get rid of tcf_ife_walker and tcf_ife_search > net: sched: act_ipt: get rid of tcf_ipt_walker/tcf_xt_walker and > tcf_ipt_search/tcf_xt_search > net: sched: act_mirred: get rid of tcf_mirred_walker and > tcf_mirred_search > net: sched: act_mpls: get rid of tcf_mpls_walker and tcf_mpls_search > net: sched: act_nat: get rid of tcf_nat_walker and tcf_nat_search > net: sched: act_pedit: get rid of tcf_pedit_walker and > tcf_pedit_search > net: sched: act_police: get rid of tcf_police_walker and > tcf_police_search > net: sched: act_sample: get rid of tcf_sample_walker and > tcf_sample_search > net: sched: act_simple: get rid of tcf_simp_walker and tcf_simp_search > net: sched: act_skbedit: get rid of tcf_skbedit_walker and > tcf_skbedit_search > net: sched: act_skbmod: get rid of tcf_skbmod_walker and > tcf_skbmod_search > net: sched: act_tunnel_key: get rid of tunnel_key_walker and > tunnel_key_search > net: sched: act_vlan: get rid of tcf_vlan_walker and tcf_vlan_search > I think it is easier to review if you can fold those removal patches into one, pretty much like your 2nd patch. They are just cleanup's following a same pattern. Thanks.