root/net/sched/sch_blackhole.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. blackhole_enqueue
  2. blackhole_dequeue
  3. blackhole_init

   1 // SPDX-License-Identifier: GPL-2.0-or-later
   2 /*
   3  * net/sched/sch_blackhole.c    Black hole queue
   4  *
   5  * Authors:     Thomas Graf <tgraf@suug.ch>
   6  *
   7  * Note: Quantum tunneling is not supported.
   8  */
   9 
  10 #include <linux/init.h>
  11 #include <linux/types.h>
  12 #include <linux/kernel.h>
  13 #include <linux/skbuff.h>
  14 #include <net/pkt_sched.h>
  15 
  16 static int blackhole_enqueue(struct sk_buff *skb, struct Qdisc *sch,
  17                              struct sk_buff **to_free)
  18 {
  19         qdisc_drop(skb, sch, to_free);
  20         return NET_XMIT_SUCCESS | __NET_XMIT_BYPASS;
  21 }
  22 
  23 static struct sk_buff *blackhole_dequeue(struct Qdisc *sch)
  24 {
  25         return NULL;
  26 }
  27 
  28 static struct Qdisc_ops blackhole_qdisc_ops __read_mostly = {
  29         .id             = "blackhole",
  30         .priv_size      = 0,
  31         .enqueue        = blackhole_enqueue,
  32         .dequeue        = blackhole_dequeue,
  33         .peek           = blackhole_dequeue,
  34         .owner          = THIS_MODULE,
  35 };
  36 
  37 static int __init blackhole_init(void)
  38 {
  39         return register_qdisc(&blackhole_qdisc_ops);
  40 }
  41 device_initcall(blackhole_init)

/* [<][>][^][v][top][bottom][index][help] */