Quellcodebibliothek
Statistik
Leitseite
products
/
Sources
/
formale Sprachen
/
C
/
Linux
/
sound
/
soc
/
codecs
/ (
Linux Kernel
Version 6.17.9
©
) Datei vom 24.10.2025 mit Größe 7 kB
Bilddatei
act_meta_skbprio.c
products/Sources/formale Sprachen/C/Linux/net/sched/act_meta_skbprio.c
// SPDX-License-Identifier: GPL-2.0-or-later /* * net/sched/act_meta_prio.c IFE skb->priority metadata module * * copyright Jamal Hadi Salim (2015) */ #include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
static int skbprio_check(struct sk_buff *skb, struct tcf_meta_info *e) { return ife_check_meta_u32(skb->priority, e); } static int skbprio_encode(struct sk_buff *skb, void *skbdata, struct tcf_meta_info *e) { u32 ifeprio = skb->priority; /* avoid having to cast skb->priority*/ return ife_encode_meta_u32(ifeprio, skbdata, e); } static int skbprio_decode(struct sk_buff *skb, void *data, u16 len) { u32 ifeprio = *(u32 *)data; skb->priority = ntohl(ifeprio); return 0; } static struct tcf_meta_ops ife_prio_ops = { .metaid = IFE_META_PRIO, .metatype = NLA_U32, .name = "skbprio", .synopsis = "skb prio metadata", .check_presence = skbprio_check, .encode = skbprio_encode, .decode = skbprio_decode, .get = ife_get_meta_u32, .alloc = ife_alloc_meta_u32, .owner = THIS_MODULE, }; static int __init ifeprio_init_module(void) { return register_ife_op(&ife_prio_ops); } static void __exit ifeprio_cleanup_module(void) { unregister_ife_op(&ife_prio_ops); } module_init(ifeprio_init_module); 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("skbprio");
2026-10-11