TCP_CONGCTL(9) | Kernel Developer's Manual | TCP_CONGCTL(9) |
tcp_congctl
—
#include <netinet/tcp_congctl.h>
int
tcp_congctl_register
(const
char *, struct
tcp_congctl *);
int
tcp_congctl_unregister
(const
char *);
tcp_congctrl
API is used to add or remove TCP
congestion control algorithms on-the-fly and to modularize them. It includes
basically two functions:
tcp_congctl_register
(const char
*, struct tcp_congctl *)struct tcp_congctl { int (*fast_retransmit)(struct tcpcb *, struct tcphdr *); void (*slow_retransmit)(struct tcpcb *); void (*fast_retransmit_newack)(struct tcpcb *, struct tcphdr *); void (*newack)(struct tcpcb *, struct tcphdr *); void (*cong_exp)(struct tcpcb *); };
tcp_congctl_unregister
(const char
*)tcp_congctl_register
() and
tcp_congctl_unregister
() both return
0
when there is no error. If the name is already
registered, tcp_congctl_register
() will return
EEXIST
.
tcp_congctl_unregister
() can return
ENOENT
if there is no congestion control algorithm by
that name and can return EBUSY
if the matched
algorithm is being used by userspace applications.
October 15, 2006 | NetBSD 9.2 |