Skip to content

Commit

Permalink
Merge branch 'net-sched-fix-IFE-meta-modules-loading'
Browse files Browse the repository at this point in the history
Roman Mashak says:

====================
net: sched: Fix IFE meta modules loading

Adjust module alias names of IFE meta modules and fix the bug that
prevented auto-loading IFE modules in run-time.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Oct 13, 2017
2 parents 47f2546 + d3f24ba commit ed7f262
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 5 deletions.
2 changes: 1 addition & 1 deletion include/net/tc_act/tc_ife.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ struct tcf_meta_ops {
struct module *owner;
};

#define MODULE_ALIAS_IFE_META(metan) MODULE_ALIAS("ifemeta" __stringify_1(metan))
#define MODULE_ALIAS_IFE_META(metan) MODULE_ALIAS("ife-meta-" metan)

int ife_get_meta_u32(struct sk_buff *skb, struct tcf_meta_info *mi);
int ife_get_meta_u16(struct sk_buff *skb, struct tcf_meta_info *mi);
Expand Down
16 changes: 15 additions & 1 deletion net/sched/act_ife.c
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,20 @@ static int ife_validate_metatype(struct tcf_meta_ops *ops, void *val, int len)
return ret;
}

static const char *ife_meta_id2name(u32 metaid)
{
switch (metaid) {
case IFE_META_SKBMARK:
return "skbmark";
case IFE_META_PRIO:
return "skbprio";
case IFE_META_TCINDEX:
return "tcindex";
default:
return "unknown";
}
}

/* called when adding new meta information
* under ife->tcf_lock for existing action
*/
Expand All @@ -263,7 +277,7 @@ static int load_metaops_and_vet(struct tcf_ife_info *ife, u32 metaid,
if (exists)
spin_unlock_bh(&ife->tcf_lock);
rtnl_unlock();
request_module("ifemeta%u", metaid);
request_module("ife-meta-%s", ife_meta_id2name(metaid));
rtnl_lock();
if (exists)
spin_lock_bh(&ife->tcf_lock);
Expand Down
2 changes: 1 addition & 1 deletion net/sched/act_meta_mark.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,4 @@ module_exit(ifemark_cleanup_module);
MODULE_AUTHOR("Jamal Hadi Salim(2015)");
MODULE_DESCRIPTION("Inter-FE skb mark metadata module");
MODULE_LICENSE("GPL");
MODULE_ALIAS_IFE_META(IFE_META_SKBMARK);
MODULE_ALIAS_IFE_META("skbmark");
2 changes: 1 addition & 1 deletion net/sched/act_meta_skbprio.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,4 @@ module_exit(ifeprio_cleanup_module);
MODULE_AUTHOR("Jamal Hadi Salim(2015)");
MODULE_DESCRIPTION("Inter-FE skb prio metadata action");
MODULE_LICENSE("GPL");
MODULE_ALIAS_IFE_META(IFE_META_PRIO);
MODULE_ALIAS_IFE_META("skbprio");
2 changes: 1 addition & 1 deletion net/sched/act_meta_skbtcindex.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,4 @@ module_exit(ifetc_index_cleanup_module);
MODULE_AUTHOR("Jamal Hadi Salim(2016)");
MODULE_DESCRIPTION("Inter-FE skb tc_index metadata module");
MODULE_LICENSE("GPL");
MODULE_ALIAS_IFE_META(IFE_META_SKBTCINDEX);
MODULE_ALIAS_IFE_META("tcindex");

0 comments on commit ed7f262

Please sign in to comment.