aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sch_generic.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/sch_generic.h')
-rw-r--r--include/net/sch_generic.h19
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
682struct psched_ratecfg {
683 u64 rate_bps;
684 u32 mult;
685 u32 shift;
686};
687
688static 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
694extern void psched_ratecfg_precompute(struct psched_ratecfg *r, u32 rate);
695
696static inline u32 psched_ratecfg_getrate(const struct psched_ratecfg *r)
697{
698 return r->rate_bps >> 3;
699}
700
682#endif 701#endif