Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs
sch_sfq.c File Reference
#include <linux/module.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/jiffies.h>
#include <linux/string.h>
#include <linux/in.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/skbuff.h>
#include <linux/jhash.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <net/netlink.h>
#include <net/pkt_sched.h>
#include <net/flow_keys.h>
#include <net/red.h>

Go to the source code of this file.

Data Structures

struct  sfq_head
 
struct  sfq_slot
 
struct  sfq_sched_data
 
struct  sfq_skb_cb
 

Macros

#define SFQ_MAX_DEPTH   127 /* max number of packets per flow */
 
#define SFQ_DEFAULT_FLOWS   128
 
#define SFQ_MAX_FLOWS   (0x10000 - SFQ_MAX_DEPTH - 1) /* max number of flows */
 
#define SFQ_EMPTY_SLOT   0xffff
 
#define SFQ_DEFAULT_HASH_DIVISOR   1024
 
#define SFQ_ALLOT_SHIFT   3
 
#define SFQ_ALLOT_SIZE(X)   DIV_ROUND_UP(X, 1 << SFQ_ALLOT_SHIFT)
 
#define sfq_unlink(q, x, n, p)
 
#define slot_queue_walk(slot, skb)
 

Typedefs

typedef u16 sfq_index
 

Macro Definition Documentation

#define SFQ_ALLOT_SHIFT   3

Definition at line 87 of file sch_sfq.c.

#define SFQ_ALLOT_SIZE (   X)    DIV_ROUND_UP(X, 1 << SFQ_ALLOT_SHIFT)

Definition at line 88 of file sch_sfq.c.

#define SFQ_DEFAULT_FLOWS   128

Definition at line 79 of file sch_sfq.c.

#define SFQ_DEFAULT_HASH_DIVISOR   1024

Definition at line 82 of file sch_sfq.c.

#define SFQ_EMPTY_SLOT   0xffff

Definition at line 81 of file sch_sfq.c.

#define SFQ_MAX_DEPTH   127 /* max number of packets per flow */

Definition at line 78 of file sch_sfq.c.

#define SFQ_MAX_FLOWS   (0x10000 - SFQ_MAX_DEPTH - 1) /* max number of flows */

Definition at line 80 of file sch_sfq.c.

#define sfq_unlink (   q,
  x,
  n,
  p 
)
Value:
n = q->slots[x].dep.next; \
p = q->slots[x].dep.prev; \
sfq_dep_head(q, p)->next = n; \
sfq_dep_head(q, n)->prev = p

Definition at line 239 of file sch_sfq.c.

#define slot_queue_walk (   slot,
  skb 
)
Value:
for (skb = slot->skblist_next; \
skb != (struct sk_buff *)slot; \
skb = skb->next)

Definition at line 311 of file sch_sfq.c.

Typedef Documentation

typedef u16 sfq_index

Definition at line 91 of file sch_sfq.c.