Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

tcp_congctl(9) [netbsd man page]

TCP_CONGCTL(9)						   BSD Kernel Developer's Manual					    TCP_CONGCTL(9)

NAME
tcp_congctl -- TCP congestion control API SYNOPSIS
#include <netinet/tcp_congctl.h> int tcp_congctl_register(const char *, struct tcp_congctl *); int tcp_congctl_unregister(const char *); DESCRIPTION
The 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 *) Registers a new congestion control algorithm. The struct tcp_congctl argument must contain a list of callbacks like the following: 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 *) If found, unregister the selected TCP congestion control algorithm. RETURN VALUES
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. FILES
Implementation is in sys/netinet/tcp_congctl.c and the interface is in sys/netinet/tcp_congctl.h. SEE ALSO
tcp(4) BSD
October 15, 2006 BSD

Check Out this Related Man Page

BINTIME_ADD(9)						   BSD Kernel Developer's Manual					    BINTIME_ADD(9)

NAME
bintime_add -- operations on ``bintime'' SYNOPSIS
#include <sys/time.h> vid bintime_add(struct bintime *bt, const struct bintime *bt2); void bintime_addx(struct bintime *bt, uint64_t x); void bintime_sub(struct bintime *bt, const struct bintime *bt2); void bintime2timespec(const struct bintime *bt, struct timespec *ts); void timespec2bintime(const struct timespec *ts, struct bintime *bt); void bintime2timeval(const struct bintime *bt, struct timeval *tv); void timeval2bintime(const struct timeval *tv, struct bintime *bt); DESCRIPTION
These functions are provided for convenience as part of the machine-independent timecounter(9) framework. All of them operate with the bintime structure. The function bintime_add() adds the time information stored in bt2 to bt. Conversely, bintime_sub() subtracts bt2 from bt. The bintime_addx() function stores the fraction of a second x to bt. Like the function names bespeak, bintime2timespec() converts the bintime structure to struct timespec and timespec2bintime() does the oppo- site. The functions bintime2timeval() and timeval2bintime() operate with struct timeval instead. The result is stored to the right-hand side. SEE ALSO
timeradd(3), timeval(3), bintime(9), timecounter(9) BSD
June 8, 2010 BSD
Man Page

5 More Discussions You Might Find Interesting

1. Programming

Getting an ACK for RAW SYN packet

Hi, I'm trying to create a RAW TCP SYN packet and send it from one Linux machine to another. I know the packet I have created is well formed and is received by the peer. Now what I want is to get an ACK for my SYN. I want the peer's Network protocol stack to send me an ACK for that. I know... (17 Replies)
Discussion started by: zampya
17 Replies

2. Programming

how to print struct in GDB

hi, i hav array of following struct which contains 50 elements. I want to print only first feild of the struct ie name field in GDB debuggure. struct node { char name ; int age; char sex; int location } SS ... (4 Replies)
Discussion started by: useless79
4 Replies

3. UNIX for Advanced & Expert Users

How type casting works ?

I am having a doubt with type casting in C. Very often in network programming, we have something like this: char *data = ...; struct iphdr *ip = (struct iphdr *) data; where iphdr is define in netinet/ip.h. Let us say that the size of the content of held by 'data' is much more than... (1 Reply)
Discussion started by: radiatejava
1 Replies

4. IP Networking

When should TCP congestion avoidance be used?

I have a Cisco small business switch and I am wondering what I will gain (or lose) by enabling "TCP congestion avoidance". I read the definition of it but how does one know when one should use it? (0 Replies)
Discussion started by: herot
0 Replies

5. IP Networking

TCP initial congestion window (slow-start)

I have noticed that the initial congestion window in my traces is 8920bytes~=6*1448. rfc3390 states the initial cwand should be max 4000 bytes(around 3*1448). At first i thought it might be because i'm running my server on mac os x, so apple might have modified the tcp stack. Therefore I tried... (2 Replies)
Discussion started by: ddayan
2 Replies