diff options
Diffstat (limited to 'include/net/sch_generic.h')
-rw-r--r-- | include/net/sch_generic.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index 2d06c2a53de1..2761c905504e 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h | |||
@@ -679,4 +679,23 @@ static inline struct sk_buff *skb_act_clone(struct sk_buff *skb, gfp_t gfp_mask, | |||
679 | } | 679 | } |
680 | #endif | 680 | #endif |
681 | 681 | ||
682 | struct psched_ratecfg { | ||
683 | u64 rate_bps; | ||
684 | u32 mult; | ||
685 | u32 shift; | ||
686 | }; | ||
687 | |||
688 | static inline u64 psched_l2t_ns(const struct psched_ratecfg *r, | ||
689 | unsigned int len) | ||
690 | { | ||
691 | return ((u64)len * r->mult) >> r->shift; | ||
692 | } | ||
693 | |||
694 | extern void psched_ratecfg_precompute(struct psched_ratecfg *r, u32 rate); | ||
695 | |||
696 | static inline u32 psched_ratecfg_getrate(const struct psched_ratecfg *r) | ||
697 | { | ||
698 | return r->rate_bps >> 3; | ||
699 | } | ||
700 | |||
682 | #endif | 701 | #endif |