Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/net/sched/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  em_u32.c   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * net/sched/em_u32.c U32 Ematch
 *
 * Authors: Thomas Graf <tgraf@suug.ch>
 * Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
 *
 * Based on net/sched/cls_u32.c
 */


#include <linux/module.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/skbuff.h>
#include <net/pkt_cls.h>

static int em_u32_match(struct sk_buff *skb, struct tcf_ematch *em,
   struct tcf_pkt_info *info)
{
 struct tc_u32_key *key = (struct tc_u32_key *) em->data;
 const unsigned char *ptr = skb_network_header(skb);

 if (info) {
  if (info->ptr)
   ptr = info->ptr;
  ptr += (info->nexthdr & key->offmask);
 }

 ptr += key->off;

 if (!tcf_valid_offset(skb, ptr, sizeof(u32)))
  return 0;

 return !(((*(__be32 *) ptr)  ^ key->val) & key->mask);
}

static struct tcf_ematch_ops em_u32_ops = {
 .kind   = TCF_EM_U32,
 .datalen  = sizeof(struct tc_u32_key),
 .match   = em_u32_match,
 .owner   = THIS_MODULE,
 .link   = LIST_HEAD_INIT(em_u32_ops.link)
};

static int __init init_em_u32(void)
{
 return tcf_em_register(&em_u32_ops);
}

static void __exit exit_em_u32(void)
{
 tcf_em_unregister(&em_u32_ops);
}

MODULE_DESCRIPTION("ematch skb classifier using 32 bit chunks of data");
MODULE_LICENSE("GPL");

module_init(init_em_u32);
module_exit(exit_em_u32);

MODULE_ALIAS_TCF_EMATCH(TCF_EM_U32);

Messung V0.5
C=98 H=96 G=96

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.