iproute2/tc/tc_core.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef _TC_CORE_H_
   3#define _TC_CORE_H_ 1
   4
   5#include <asm/types.h>
   6#include <linux/pkt_sched.h>
   7
   8enum link_layer {
   9        LINKLAYER_UNSPEC,
  10        LINKLAYER_ETHERNET,
  11        LINKLAYER_ATM,
  12};
  13
  14
  15int  tc_core_time2big(unsigned time);
  16unsigned tc_core_time2tick(unsigned time);
  17unsigned tc_core_tick2time(unsigned tick);
  18unsigned tc_core_time2ktime(unsigned time);
  19unsigned tc_core_ktime2time(unsigned ktime);
  20unsigned tc_calc_xmittime(__u64 rate, unsigned size);
  21unsigned tc_calc_xmitsize(__u64 rate, unsigned ticks);
  22int tc_calc_rtable(struct tc_ratespec *r, __u32 *rtab,
  23                   int cell_log, unsigned mtu, enum link_layer link_layer);
  24int tc_calc_rtable_64(struct tc_ratespec *r, __u32 *rtab,
  25                        int cell_log, unsigned mtu, enum link_layer link_layer,
  26                        __u64 rate);
  27int tc_calc_size_table(struct tc_sizespec *s, __u16 **stab);
  28
  29int tc_setup_estimator(unsigned A, unsigned time_const, struct tc_estimator *est);
  30
  31int tc_core_init(void);
  32
  33extern struct rtnl_handle g_rth;
  34extern int is_batch_mode;
  35
  36#endif
  37