mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-30 08:02:30 +00:00
Merge branch 'net-sched-fix-IFE-meta-modules-loading'
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>
This commit is contained in:
commit
ed7f26223b
5 changed files with 19 additions and 5 deletions
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
@ -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);
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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");
|
||||
|
|
Loading…
Reference in a new issue