linux/net/sched/sch_pie.c

// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (C) 2013 Cisco Systems, Inc, 2013.
 *
 * Author: Vijay Subramanian <[email protected]>
 * Author: Mythili Prabhu <[email protected]>
 *
 * ECN support is added by Naeem Khademi <[email protected]>
 * University of Oslo, Norway.
 *
 * References:
 * RFC 8033: https://tools.ietf.org/html/rfc8033
 */

#include <linux/module.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/skbuff.h>
#include <net/pkt_sched.h>
#include <net/inet_ecn.h>
#include <net/pie.h>

/* private data for the Qdisc */
struct pie_sched_data {};

bool pie_drop_early(struct Qdisc *sch, struct pie_params *params,
		    struct pie_vars *vars, u32 backlog, u32 packet_size)
{}
EXPORT_SYMBOL_GPL();

static int pie_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch,
			     struct sk_buff **to_free)
{}

static const struct nla_policy pie_policy[TCA_PIE_MAX + 1] =;

static int pie_change(struct Qdisc *sch, struct nlattr *opt,
		      struct netlink_ext_ack *extack)
{}

void pie_process_dequeue(struct sk_buff *skb, struct pie_params *params,
			 struct pie_vars *vars, u32 backlog)
{}
EXPORT_SYMBOL_GPL();

void pie_calculate_probability(struct pie_params *params, struct pie_vars *vars,
			       u32 backlog)
{}
EXPORT_SYMBOL_GPL();

static void pie_timer(struct timer_list *t)
{}

static int pie_init(struct Qdisc *sch, struct nlattr *opt,
		    struct netlink_ext_ack *extack)
{}

static int pie_dump(struct Qdisc *sch, struct sk_buff *skb)
{}

static int pie_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
{}

static struct sk_buff *pie_qdisc_dequeue(struct Qdisc *sch)
{}

static void pie_reset(struct Qdisc *sch)
{}

static void pie_destroy(struct Qdisc *sch)
{}

static struct Qdisc_ops pie_qdisc_ops __read_mostly =;
MODULE_ALIAS_NET_SCH();

static int __init pie_module_init(void)
{}

static void __exit pie_module_exit(void)
{}

module_init();
module_exit(pie_module_exit);

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_LICENSE();