diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2018-05-10 19:31:58 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2018-05-10 19:31:58 +0200 |
commit | 298f2396957bea59cf0985227a6dd903813b5938 (patch) | |
tree | 741cee6cc83e7b1f4be4a4d4c0cad298b28247f6 /sys/src/9/ip/ip.h | |
parent | b2599999be1d51eedc0e11a15cec9e7fac253250 (diff) |
ip: add some primitive rate limiting knobs to counteract bufferbloat
Diffstat (limited to 'sys/src/9/ip/ip.h')
-rw-r--r-- | sys/src/9/ip/ip.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/src/9/ip/ip.h b/sys/src/9/ip/ip.h index 84edd761e..de1908dcd 100644 --- a/sys/src/9/ip/ip.h +++ b/sys/src/9/ip/ip.h @@ -327,6 +327,12 @@ struct Ipifc uchar recvra6; /* flag: recv router advs on this ifc */ Routerparams rp; /* router parameters as in RFC 2461, pp.40—43. used only if node is router */ + + int speed; /* link speed in bits per second */ + int delay; /* burst delay in ms */ + int burst; /* burst delay in bytes */ + int load; /* bytes in flight */ + ulong ticks; }; /* @@ -652,6 +658,7 @@ extern Medium pktmedium; */ extern Medium* ipfindmedium(char *name); extern void addipmedium(Medium *med); +extern void ipifcoput(Ipifc *ifc, Block *bp, int version, uchar *ip); extern int ipforme(Fs*, uchar *addr); extern int ipismulticast(uchar *ip); extern Ipifc* findipifc(Fs*, uchar *local, uchar *remote, int type); |