sch_generic.h (79e24da00b1137031245f3341828e4215b1b5b59) | sch_generic.h (1f27cde313d72d6b44a73ba89c8b2c6a99c628cf) |
---|---|
1#ifndef __NET_SCHED_GENERIC_H 2#define __NET_SCHED_GENERIC_H 3 4#include <linux/netdevice.h> 5#include <linux/types.h> 6#include <linux/rcupdate.h> 7#include <linux/pkt_sched.h> 8#include <linux/pkt_cls.h> --- 331 unchanged lines hidden (view full) --- 340#define tcf_tree_unlock(tp) sch_tree_unlock((tp)->q) 341 342extern struct Qdisc noop_qdisc; 343extern struct Qdisc_ops noop_qdisc_ops; 344extern struct Qdisc_ops pfifo_fast_ops; 345extern struct Qdisc_ops mq_qdisc_ops; 346extern struct Qdisc_ops noqueue_qdisc_ops; 347extern const struct Qdisc_ops *default_qdisc_ops; | 1#ifndef __NET_SCHED_GENERIC_H 2#define __NET_SCHED_GENERIC_H 3 4#include <linux/netdevice.h> 5#include <linux/types.h> 6#include <linux/rcupdate.h> 7#include <linux/pkt_sched.h> 8#include <linux/pkt_cls.h> --- 331 unchanged lines hidden (view full) --- 340#define tcf_tree_unlock(tp) sch_tree_unlock((tp)->q) 341 342extern struct Qdisc noop_qdisc; 343extern struct Qdisc_ops noop_qdisc_ops; 344extern struct Qdisc_ops pfifo_fast_ops; 345extern struct Qdisc_ops mq_qdisc_ops; 346extern struct Qdisc_ops noqueue_qdisc_ops; 347extern const struct Qdisc_ops *default_qdisc_ops; |
348static inline const struct Qdisc_ops * 349get_default_qdisc_ops(const struct net_device *dev, int ntx) 350{ 351 return ntx < dev->real_num_tx_queues ? 352 default_qdisc_ops : &pfifo_fast_ops; 353} |
|
348 349struct Qdisc_class_common { 350 u32 classid; 351 struct hlist_node hnode; 352}; 353 354struct Qdisc_class_hash { 355 struct hlist_head *hash; --- 35 unchanged lines hidden (view full) --- 391void dev_shutdown(struct net_device *dev); 392void dev_activate(struct net_device *dev); 393void dev_deactivate(struct net_device *dev); 394void dev_deactivate_many(struct list_head *head); 395struct Qdisc *dev_graft_qdisc(struct netdev_queue *dev_queue, 396 struct Qdisc *qdisc); 397void qdisc_reset(struct Qdisc *qdisc); 398void qdisc_destroy(struct Qdisc *qdisc); | 354 355struct Qdisc_class_common { 356 u32 classid; 357 struct hlist_node hnode; 358}; 359 360struct Qdisc_class_hash { 361 struct hlist_head *hash; --- 35 unchanged lines hidden (view full) --- 397void dev_shutdown(struct net_device *dev); 398void dev_activate(struct net_device *dev); 399void dev_deactivate(struct net_device *dev); 400void dev_deactivate_many(struct list_head *head); 401struct Qdisc *dev_graft_qdisc(struct netdev_queue *dev_queue, 402 struct Qdisc *qdisc); 403void qdisc_reset(struct Qdisc *qdisc); 404void qdisc_destroy(struct Qdisc *qdisc); |
399void qdisc_tree_decrease_qlen(struct Qdisc *qdisc, unsigned int n); | 405void qdisc_tree_reduce_backlog(struct Qdisc *qdisc, unsigned int n, 406 unsigned int len); |
400struct Qdisc *qdisc_alloc(struct netdev_queue *dev_queue, 401 const struct Qdisc_ops *ops); 402struct Qdisc *qdisc_create_dflt(struct netdev_queue *dev_queue, 403 const struct Qdisc_ops *ops, u32 parentid); 404void __qdisc_calculate_pkt_len(struct sk_buff *skb, 405 const struct qdisc_size_table *stab); 406bool tcf_destroy(struct tcf_proto *tp, bool force); 407void tcf_destroy_chain(struct tcf_proto __rcu **fl); --- 294 unchanged lines hidden (view full) --- 702} 703 704static inline void qdisc_reset_queue(struct Qdisc *sch) 705{ 706 __qdisc_reset_queue(sch, &sch->q); 707 sch->qstats.backlog = 0; 708} 709 | 407struct Qdisc *qdisc_alloc(struct netdev_queue *dev_queue, 408 const struct Qdisc_ops *ops); 409struct Qdisc *qdisc_create_dflt(struct netdev_queue *dev_queue, 410 const struct Qdisc_ops *ops, u32 parentid); 411void __qdisc_calculate_pkt_len(struct sk_buff *skb, 412 const struct qdisc_size_table *stab); 413bool tcf_destroy(struct tcf_proto *tp, bool force); 414void tcf_destroy_chain(struct tcf_proto __rcu **fl); --- 294 unchanged lines hidden (view full) --- 709} 710 711static inline void qdisc_reset_queue(struct Qdisc *sch) 712{ 713 __qdisc_reset_queue(sch, &sch->q); 714 sch->qstats.backlog = 0; 715} 716 |
717static inline struct Qdisc *qdisc_replace(struct Qdisc *sch, struct Qdisc *new, 718 struct Qdisc **pold) 719{ 720 struct Qdisc *old; 721 722 sch_tree_lock(sch); 723 old = *pold; 724 *pold = new; 725 if (old != NULL) { 726 qdisc_tree_reduce_backlog(old, old->q.qlen, old->qstats.backlog); 727 qdisc_reset(old); 728 } 729 sch_tree_unlock(sch); 730 731 return old; 732} 733 |
|
710static inline unsigned int __qdisc_queue_drop(struct Qdisc *sch, 711 struct sk_buff_head *list) 712{ 713 struct sk_buff *skb = __qdisc_dequeue_tail(sch, list); 714 715 if (likely(skb != NULL)) { 716 unsigned int len = qdisc_pkt_len(skb); 717 kfree_skb(skb); --- 88 unchanged lines hidden --- | 734static inline unsigned int __qdisc_queue_drop(struct Qdisc *sch, 735 struct sk_buff_head *list) 736{ 737 struct sk_buff *skb = __qdisc_dequeue_tail(sch, list); 738 739 if (likely(skb != NULL)) { 740 unsigned int len = qdisc_pkt_len(skb); 741 kfree_skb(skb); --- 88 unchanged lines hidden --- |