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

Quelle  test_sockmap_strp.c   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0
#include <linux/bpf.h>
#include <bpf/bpf_helpers.h>
#include <bpf/bpf_endian.h>
int verdict_max_size = 10000;
struct {
 __uint(type, BPF_MAP_TYPE_SOCKMAP);
 __uint(max_entries, 20);
 __type(key, int);
 __type(value, int);
} sock_map SEC(".maps");

SEC("sk_skb/stream_verdict")
int prog_skb_verdict(struct __sk_buff *skb)
{
 __u32 one = 1;

 if (skb->len > verdict_max_size)
  return SK_PASS;

 return bpf_sk_redirect_map(skb, &sock_map, one, 0);
}

SEC("sk_skb/stream_verdict")
int prog_skb_verdict_pass(struct __sk_buff *skb)
{
 return SK_PASS;
}

SEC("sk_skb/stream_parser")
int prog_skb_parser(struct __sk_buff *skb)
{
 return skb->len;
}

SEC("sk_skb/stream_parser")
int prog_skb_parser_partial(struct __sk_buff *skb)
{
 /* agreement with the test program on a 4-byte size header
 * and 6-byte body.
 */

 if (skb->len < 4) {
  /* need more header to determine full length */
  return 0;
 }
 /* return full length decoded from header.
 * the return value may be larger than skb->len which
 * means framework must wait body coming.
 */

 return 10;
}

char _license[] SEC("license") = "GPL";

Messung V0.5
C=93 H=100 G=96

¤ Dauer der Verarbeitung: 0.17 Sekunden  (vorverarbeitet)  ¤

*© 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.