net/sched: Add module aliases for cls_,sch_,act_ modules
authorMichal Koutný <mkoutny@suse.com>
Thu, 1 Feb 2024 13:09:41 +0000 (14:09 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 2 Feb 2024 18:57:55 +0000 (10:57 -0800)
No functional change intended, aliases will be used in followup commits.
Note for backporters: you may need to add aliases also for modules that
are already removed in mainline kernel but still in your version.

Patches were generated with the help of Coccinelle scripts like:

cat >scripts/coccinelle/misc/tcf_alias.cocci <<EOD
virtual patch
virtual report

@ haskernel @
@@

@ tcf_has_kind depends on report && haskernel @
identifier ops;
constant K;
@@

  static struct tcf_proto_ops ops = {
    .kind = K,
    ...
  };
+char module_alias = K;
EOD

/usr/bin/spatch -D report --cocci-file scripts/coccinelle/misc/tcf_alias.cocci \
        --dir . \
        -I ./arch/x86/include -I ./arch/x86/include/generated -I ./include \
        -I ./arch/x86/include/uapi -I ./arch/x86/include/generated/uapi \
        -I ./include/uapi -I ./include/generated/uapi \
        --include ./include/linux/compiler-version.h --include ./include/linux/kconfig.h \
        --jobs 8 --chunksize 1 2>/dev/null | \
        sed 's/char module_alias = "\([^"]*\)";/MODULE_ALIAS_NET_CLS("\1");/'

And analogously for:

  static struct tc_action_ops ops = {
    .kind = K,

  static struct Qdisc_ops ops = {
    .id = K,

(Someone familiar would be able to fit those into one .cocci file
without sed post processing.)

Signed-off-by: Michal Koutný <mkoutny@suse.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Link: https://lore.kernel.org/r/20240201130943.19536-3-mkoutny@suse.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
55 files changed:
net/sched/act_bpf.c
net/sched/act_connmark.c
net/sched/act_csum.c
net/sched/act_ct.c
net/sched/act_ctinfo.c
net/sched/act_gact.c
net/sched/act_gate.c
net/sched/act_ife.c
net/sched/act_mirred.c
net/sched/act_mpls.c
net/sched/act_nat.c
net/sched/act_pedit.c
net/sched/act_police.c
net/sched/act_sample.c
net/sched/act_simple.c
net/sched/act_skbedit.c
net/sched/act_skbmod.c
net/sched/act_tunnel_key.c
net/sched/act_vlan.c
net/sched/cls_basic.c
net/sched/cls_bpf.c
net/sched/cls_cgroup.c
net/sched/cls_flow.c
net/sched/cls_flower.c
net/sched/cls_fw.c
net/sched/cls_matchall.c
net/sched/cls_route.c
net/sched/cls_u32.c
net/sched/sch_cake.c
net/sched/sch_cbs.c
net/sched/sch_choke.c
net/sched/sch_codel.c
net/sched/sch_drr.c
net/sched/sch_etf.c
net/sched/sch_ets.c
net/sched/sch_fq.c
net/sched/sch_fq_codel.c
net/sched/sch_gred.c
net/sched/sch_hfsc.c
net/sched/sch_hhf.c
net/sched/sch_htb.c
net/sched/sch_ingress.c
net/sched/sch_mqprio.c
net/sched/sch_multiq.c
net/sched/sch_netem.c
net/sched/sch_pie.c
net/sched/sch_plug.c
net/sched/sch_prio.c
net/sched/sch_qfq.c
net/sched/sch_red.c
net/sched/sch_sfb.c
net/sched/sch_sfq.c
net/sched/sch_skbprio.c
net/sched/sch_taprio.c
net/sched/sch_tbf.c

index 6cfee66..0e3cf11 100644 (file)
@@ -401,6 +401,7 @@ static struct tc_action_ops act_bpf_ops __read_mostly = {
        .init           =       tcf_bpf_init,
        .size           =       sizeof(struct tcf_bpf),
 };
+MODULE_ALIAS_NET_ACT("bpf");
 
 static __net_init int bpf_init_net(struct net *net)
 {
index f876275..0fce631 100644 (file)
@@ -242,6 +242,7 @@ static struct tc_action_ops act_connmark_ops = {
        .cleanup        =       tcf_connmark_cleanup,
        .size           =       sizeof(struct tcf_connmark_info),
 };
+MODULE_ALIAS_NET_ACT("connmark");
 
 static __net_init int connmark_init_net(struct net *net)
 {
index 7f8b1f2..5cc8e40 100644 (file)
@@ -709,6 +709,7 @@ static struct tc_action_ops act_csum_ops = {
        .offload_act_setup = tcf_csum_offload_act_setup,
        .size           = sizeof(struct tcf_csum),
 };
+MODULE_ALIAS_NET_ACT("csum");
 
 static __net_init int csum_init_net(struct net *net)
 {
index 6124d8b..baac083 100644 (file)
@@ -1600,6 +1600,7 @@ static struct tc_action_ops act_ct_ops = {
        .offload_act_setup =    tcf_ct_offload_act_setup,
        .size           =       sizeof(struct tcf_ct),
 };
+MODULE_ALIAS_NET_ACT("ct");
 
 static __net_init int ct_init_net(struct net *net)
 {
index e620f9a..5dd41a0 100644 (file)
@@ -363,6 +363,7 @@ static struct tc_action_ops act_ctinfo_ops = {
        .cleanup= tcf_ctinfo_cleanup,
        .size   = sizeof(struct tcf_ctinfo),
 };
+MODULE_ALIAS_NET_ACT("ctinfo");
 
 static __net_init int ctinfo_init_net(struct net *net)
 {
index 4af3b7e..e949280 100644 (file)
@@ -296,6 +296,7 @@ static struct tc_action_ops act_gact_ops = {
        .offload_act_setup =    tcf_gact_offload_act_setup,
        .size           =       sizeof(struct tcf_gact),
 };
+MODULE_ALIAS_NET_ACT("gact");
 
 static __net_init int gact_init_net(struct net *net)
 {
index c681cd0..1dd7412 100644 (file)
@@ -645,6 +645,7 @@ static struct tc_action_ops act_gate_ops = {
        .offload_act_setup =    tcf_gate_offload_act_setup,
        .size           =       sizeof(struct tcf_gate),
 };
+MODULE_ALIAS_NET_ACT("gate");
 
 static __net_init int gate_init_net(struct net *net)
 {
index 0e867d1..107c6d8 100644 (file)
@@ -889,6 +889,7 @@ static struct tc_action_ops act_ife_ops = {
        .init = tcf_ife_init,
        .size = sizeof(struct tcf_ife_info),
 };
+MODULE_ALIAS_NET_ACT("ife");
 
 static __net_init int ife_init_net(struct net *net)
 {
index 12386f5..93a96e9 100644 (file)
@@ -643,6 +643,7 @@ static struct tc_action_ops act_mirred_ops = {
        .size           =       sizeof(struct tcf_mirred),
        .get_dev        =       tcf_mirred_get_dev,
 };
+MODULE_ALIAS_NET_ACT("mirred");
 
 static __net_init int mirred_init_net(struct net *net)
 {
index 34b8edb..44a37a7 100644 (file)
@@ -452,6 +452,7 @@ static struct tc_action_ops act_mpls_ops = {
        .offload_act_setup =    tcf_mpls_offload_act_setup,
        .size           =       sizeof(struct tcf_mpls),
 };
+MODULE_ALIAS_NET_ACT("mpls");
 
 static __net_init int mpls_init_net(struct net *net)
 {
index a180e72..d541f55 100644 (file)
@@ -324,6 +324,7 @@ static struct tc_action_ops act_nat_ops = {
        .cleanup        =       tcf_nat_cleanup,
        .size           =       sizeof(struct tcf_nat),
 };
+MODULE_ALIAS_NET_ACT("nat");
 
 static __net_init int nat_init_net(struct net *net)
 {
index 2ef2296..df5a02d 100644 (file)
@@ -620,6 +620,7 @@ static struct tc_action_ops act_pedit_ops = {
        .offload_act_setup =    tcf_pedit_offload_act_setup,
        .size           =       sizeof(struct tcf_pedit),
 };
+MODULE_ALIAS_NET_ACT("pedit");
 
 static __net_init int pedit_init_net(struct net *net)
 {
index e119b4a..8555125 100644 (file)
@@ -502,6 +502,7 @@ static struct tc_action_ops act_police_ops = {
        .offload_act_setup =    tcf_police_offload_act_setup,
        .size           =       sizeof(struct tcf_police),
 };
+MODULE_ALIAS_NET_ACT("police");
 
 static __net_init int police_init_net(struct net *net)
 {
index c5c61ef..a69b53d 100644 (file)
@@ -316,6 +316,7 @@ static struct tc_action_ops act_sample_ops = {
        .offload_act_setup    = tcf_sample_offload_act_setup,
        .size     = sizeof(struct tcf_sample),
 };
+MODULE_ALIAS_NET_ACT("sample");
 
 static __net_init int sample_init_net(struct net *net)
 {
index 0a3e928..f3abe05 100644 (file)
@@ -209,6 +209,7 @@ static struct tc_action_ops act_simp_ops = {
        .init           =       tcf_simp_init,
        .size           =       sizeof(struct tcf_defact),
 };
+MODULE_ALIAS_NET_ACT("simple");
 
 static __net_init int simp_init_net(struct net *net)
 {
index 754f78b..1f1d9ce 100644 (file)
@@ -426,6 +426,7 @@ static struct tc_action_ops act_skbedit_ops = {
        .offload_act_setup =    tcf_skbedit_offload_act_setup,
        .size           =       sizeof(struct tcf_skbedit),
 };
+MODULE_ALIAS_NET_ACT("skbedit");
 
 static __net_init int skbedit_init_net(struct net *net)
 {
index bcb673a..39945b1 100644 (file)
@@ -287,6 +287,7 @@ static struct tc_action_ops act_skbmod_ops = {
        .cleanup        =       tcf_skbmod_cleanup,
        .size           =       sizeof(struct tcf_skbmod),
 };
+MODULE_ALIAS_NET_ACT("skbmod");
 
 static __net_init int skbmod_init_net(struct net *net)
 {
index 300b08a..1536f8b 100644 (file)
@@ -842,6 +842,7 @@ static struct tc_action_ops act_tunnel_key_ops = {
        .offload_act_setup =    tcf_tunnel_key_offload_act_setup,
        .size           =       sizeof(struct tcf_tunnel_key),
 };
+MODULE_ALIAS_NET_ACT("tunnel_key");
 
 static __net_init int tunnel_key_init_net(struct net *net)
 {
index 8361830..22f4b1e 100644 (file)
@@ -427,6 +427,7 @@ static struct tc_action_ops act_vlan_ops = {
        .offload_act_setup =    tcf_vlan_offload_act_setup,
        .size           =       sizeof(struct tcf_vlan),
 };
+MODULE_ALIAS_NET_ACT("vlan");
 
 static __net_init int vlan_init_net(struct net *net)
 {
index a1f5693..ecfaa4f 100644 (file)
@@ -328,6 +328,7 @@ static struct tcf_proto_ops cls_basic_ops __read_mostly = {
        .bind_class     =       basic_bind_class,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_CLS("basic");
 
 static int __init init_basic(void)
 {
index 382c7a7..5e83e89 100644 (file)
@@ -693,6 +693,7 @@ static struct tcf_proto_ops cls_bpf_ops __read_mostly = {
        .dump           =       cls_bpf_dump,
        .bind_class     =       cls_bpf_bind_class,
 };
+MODULE_ALIAS_NET_CLS("bpf");
 
 static int __init cls_bpf_init_mod(void)
 {
index 7ee8dbf..4242529 100644 (file)
@@ -209,6 +209,7 @@ static struct tcf_proto_ops cls_cgroup_ops __read_mostly = {
        .dump           =       cls_cgroup_dump,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_CLS("cgroup");
 
 static int __init init_cgroup_cls(void)
 {
index 6ab317b..5502998 100644 (file)
@@ -702,6 +702,7 @@ static struct tcf_proto_ops cls_flow_ops __read_mostly = {
        .walk           = flow_walk,
        .owner          = THIS_MODULE,
 };
+MODULE_ALIAS_NET_CLS("flow");
 
 static int __init cls_flow_init(void)
 {
index efb9d28..bfedc3d 100644 (file)
@@ -3656,6 +3656,7 @@ static struct tcf_proto_ops cls_fl_ops __read_mostly = {
        .owner          = THIS_MODULE,
        .flags          = TCF_PROTO_OPS_DOIT_UNLOCKED,
 };
+MODULE_ALIAS_NET_CLS("flower");
 
 static int __init cls_fl_init(void)
 {
index afc534e..cdddc86 100644 (file)
@@ -433,6 +433,7 @@ static struct tcf_proto_ops cls_fw_ops __read_mostly = {
        .bind_class     =       fw_bind_class,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_CLS("fw");
 
 static int __init init_fw(void)
 {
index c4ed11d..9f1e62c 100644 (file)
@@ -398,6 +398,7 @@ static struct tcf_proto_ops cls_mall_ops __read_mostly = {
        .bind_class     = mall_bind_class,
        .owner          = THIS_MODULE,
 };
+MODULE_ALIAS_NET_CLS("matchall");
 
 static int __init cls_mall_init(void)
 {
index 12a505d..b9c58c0 100644 (file)
@@ -671,6 +671,7 @@ static struct tcf_proto_ops cls_route4_ops __read_mostly = {
        .bind_class     =       route4_bind_class,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_CLS("route");
 
 static int __init init_route4(void)
 {
index 289e175..9412d88 100644 (file)
@@ -1453,6 +1453,7 @@ static struct tcf_proto_ops cls_u32_ops __read_mostly = {
        .bind_class     =       u32_bind_class,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_CLS("u32");
 
 static int __init init_u32(void)
 {
index 9cff995..edee926 100644 (file)
@@ -3103,6 +3103,7 @@ static struct Qdisc_ops cake_qdisc_ops __read_mostly = {
        .dump_stats     =       cake_dump_stats,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("cake");
 
 static int __init cake_module_init(void)
 {
index beece8e..69001ef 100644 (file)
@@ -546,6 +546,7 @@ static struct Qdisc_ops cbs_qdisc_ops __read_mostly = {
        .dump           =       cbs_dump,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("cbs");
 
 static struct notifier_block cbs_device_notifier = {
        .notifier_call = cbs_dev_notifier,
index ae1da08..ea10803 100644 (file)
@@ -498,6 +498,7 @@ static struct Qdisc_ops choke_qdisc_ops __read_mostly = {
        .dump_stats     =       choke_dump_stats,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("choke");
 
 static int __init choke_module_init(void)
 {
index d7a4874..61904d3 100644 (file)
@@ -287,6 +287,7 @@ static struct Qdisc_ops codel_qdisc_ops __read_mostly = {
        .dump_stats     =       codel_dump_stats,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("codel");
 
 static int __init codel_module_init(void)
 {
index 097740a..c69b999 100644 (file)
@@ -481,6 +481,7 @@ static struct Qdisc_ops drr_qdisc_ops __read_mostly = {
        .destroy        = drr_destroy_qdisc,
        .owner          = THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("drr");
 
 static int __init drr_init(void)
 {
index 4808159..2e4bef7 100644 (file)
@@ -500,6 +500,7 @@ static struct Qdisc_ops etf_qdisc_ops __read_mostly = {
        .dump           =       etf_dump,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("etf");
 
 static int __init etf_module_init(void)
 {
index f7c8849..835b446 100644 (file)
@@ -812,6 +812,7 @@ static struct Qdisc_ops ets_qdisc_ops __read_mostly = {
        .dump           = ets_qdisc_dump,
        .owner          = THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("ets");
 
 static int __init ets_init(void)
 {
index 3a31c47..cdf23ff 100644 (file)
@@ -1264,6 +1264,7 @@ static struct Qdisc_ops fq_qdisc_ops __read_mostly = {
        .dump_stats     =       fq_dump_stats,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("fq");
 
 static int __init fq_module_init(void)
 {
index 8c4fee0..79f9d6d 100644 (file)
@@ -717,6 +717,7 @@ static struct Qdisc_ops fq_codel_qdisc_ops __read_mostly = {
        .dump_stats =   fq_codel_dump_stats,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("fq_codel");
 
 static int __init fq_codel_module_init(void)
 {
index 8c61eb3..79ba9dc 100644 (file)
@@ -930,6 +930,7 @@ static struct Qdisc_ops gred_qdisc_ops __read_mostly = {
        .dump           =       gred_dump,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("gred");
 
 static int __init gred_module_init(void)
 {
index 16c45da..4e626df 100644 (file)
@@ -1679,6 +1679,7 @@ static struct Qdisc_ops hfsc_qdisc_ops __read_mostly = {
        .priv_size      = sizeof(struct hfsc_sched),
        .owner          = THIS_MODULE
 };
+MODULE_ALIAS_NET_SCH("hfsc");
 
 static int __init
 hfsc_init(void)
index d26cd43..3f906df 100644 (file)
@@ -702,6 +702,7 @@ static struct Qdisc_ops hhf_qdisc_ops __read_mostly = {
        .dump_stats     =       hhf_dump_stats,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("hhf");
 
 static int __init hhf_module_init(void)
 {
index 7349233..93e6fb5 100644 (file)
@@ -2166,6 +2166,7 @@ static struct Qdisc_ops htb_qdisc_ops __read_mostly = {
        .dump           =       htb_dump,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("htb");
 
 static int __init htb_module_init(void)
 {
index 5fa9eaa..48a8001 100644 (file)
@@ -168,6 +168,7 @@ static struct Qdisc_ops ingress_qdisc_ops __read_mostly = {
        .ingress_block_get      =       ingress_ingress_block_get,
        .owner                  =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("ingress");
 
 struct clsact_sched_data {
        struct tcf_block *ingress_block;
@@ -344,6 +345,7 @@ static struct Qdisc_ops clsact_qdisc_ops __read_mostly = {
        .egress_block_get       =       clsact_egress_block_get,
        .owner                  =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("clsact");
 
 static int __init ingress_module_init(void)
 {
index 43e53ee..225353f 100644 (file)
@@ -774,6 +774,7 @@ static struct Qdisc_ops mqprio_qdisc_ops __read_mostly = {
        .dump           = mqprio_dump,
        .owner          = THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("mqprio");
 
 static int __init mqprio_module_init(void)
 {
index d66d5f0..79e93a1 100644 (file)
@@ -395,6 +395,7 @@ static struct Qdisc_ops multiq_qdisc_ops __read_mostly = {
        .dump           =       multiq_dump,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("multiq");
 
 static int __init multiq_module_init(void)
 {
index fa678eb..edc7296 100644 (file)
@@ -1293,6 +1293,7 @@ static struct Qdisc_ops netem_qdisc_ops __read_mostly = {
        .dump           =       netem_dump,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("netem");
 
 
 static int __init netem_module_init(void)
index 2da6250..1764059 100644 (file)
@@ -556,6 +556,7 @@ static struct Qdisc_ops pie_qdisc_ops __read_mostly = {
        .dump_stats     = pie_dump_stats,
        .owner          = THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("pie");
 
 static int __init pie_module_init(void)
 {
index 992f0c8..cefb652 100644 (file)
@@ -213,6 +213,7 @@ static struct Qdisc_ops plug_qdisc_ops __read_mostly = {
        .reset       =       qdisc_reset_queue,
        .owner       =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("plug");
 
 static int __init plug_module_init(void)
 {
index 8ecdd3e..cc30f7a 100644 (file)
@@ -418,6 +418,7 @@ static struct Qdisc_ops prio_qdisc_ops __read_mostly = {
        .dump           =       prio_dump,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("prio");
 
 static int __init prio_module_init(void)
 {
index 48a604c..d584c0c 100644 (file)
@@ -1521,6 +1521,7 @@ static struct Qdisc_ops qfq_qdisc_ops __read_mostly = {
        .destroy        = qfq_destroy_qdisc,
        .owner          = THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("qfq");
 
 static int __init qfq_init(void)
 {
index 607b6c8..b5f0965 100644 (file)
@@ -548,6 +548,7 @@ static struct Qdisc_ops red_qdisc_ops __read_mostly = {
        .dump_stats     =       red_dump_stats,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("red");
 
 static int __init red_module_init(void)
 {
index 1871a1c..b717e15 100644 (file)
@@ -709,6 +709,7 @@ static struct Qdisc_ops sfb_qdisc_ops __read_mostly = {
        .dump_stats     =       sfb_dump_stats,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("sfb");
 
 static int __init sfb_module_init(void)
 {
index eb77558..e66f4af 100644 (file)
@@ -925,6 +925,7 @@ static struct Qdisc_ops sfq_qdisc_ops __read_mostly = {
        .dump           =       sfq_dump,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("sfq");
 
 static int __init sfq_module_init(void)
 {
index 28beb11..b4dd626 100644 (file)
@@ -292,6 +292,7 @@ static struct Qdisc_ops skbprio_qdisc_ops __read_mostly = {
        .destroy        =       skbprio_destroy,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("skbprio");
 
 static int __init skbprio_module_init(void)
 {
index 827cb68..c5de70e 100644 (file)
@@ -2528,6 +2528,7 @@ static struct Qdisc_ops taprio_qdisc_ops __read_mostly = {
        .dump_stats     = taprio_dump_stats,
        .owner          = THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("taprio");
 
 static struct notifier_block taprio_device_notifier = {
        .notifier_call = taprio_dev_notifier,
index dd6b1a7..f1d0918 100644 (file)
@@ -608,6 +608,7 @@ static struct Qdisc_ops tbf_qdisc_ops __read_mostly = {
        .dump           =       tbf_dump,
        .owner          =       THIS_MODULE,
 };
+MODULE_ALIAS_NET_SCH("tbf");
 
 static int __init tbf_module_init(void)
 {