History log of /netbsd-src/sys/netinet/tcp_output.c (Results 51 – 75 of 222)
Revision Date Author Comments
# 23e5beae 19-Dec-2011 drochner <drochner@NetBSD.org>

rename the IPSEC in-kernel CPP variable and config(8) option to
KAME_IPSEC, and make IPSEC define it so that existing kernel
config files work as before
Now the default can be easily be changed to FA

rename the IPSEC in-kernel CPP variable and config(8) option to
KAME_IPSEC, and make IPSEC define it so that existing kernel
config files work as before
Now the default can be easily be changed to FAST_IPSEC just by
setting the IPSEC alias to FAST_IPSEC.

show more ...


# e3f60547 14-Apr-2011 yamt <yamt@NetBSD.org>

simplify a compile-time assertion


# 271ad088 21-Mar-2011 matt <matt@NetBSD.org>

Clean up setting ECN bit in TOS. Fixes PR 44742


# 54b3dc41 26-Jan-2010 pooka <pooka@NetBSD.org>

tcp sockbuf autoscaling was initially added turned off because it
was experimental. People (including myself) have been running with
it turned on for eons now, so flip the default to enabled.


# c363a9cb 18-Mar-2009 cegger <cegger@NetBSD.org>

bzero -> memset


# ce099b40 28-Apr-2008 martin <martin@NetBSD.org>

Remove clause 3 and 4 from TNF licenses


# 7ff8d08a 12-Apr-2008 thorpej <thorpej@NetBSD.org>

Make IP, TCP, UDP, and ICMP statistics per-CPU. The stats are collated
when the user requests them via sysctl.


# f5c68c0b 08-Apr-2008 thorpej <thorpej@NetBSD.org>

Change TCP stats from a structure to an array of uint64_t's.

Note: This is ABI-compatible with the old tcpstat structure; old netstat
binaries will continue to work properly.


# 2d4e7e58 14-Jan-2008 dyoung <dyoung@NetBSD.org>

Use rtcache_validate() instead of rtcache_getrt(). Shorten staircase
in in_losing().


# 72fa642a 20-Dec-2007 dyoung <dyoung@NetBSD.org>

Poison struct route->ro_rt uses in the kernel by changing the name
to _ro_rt. Use rtcache_getrt() to access a route cache's struct
rtentry *.

Introduce struct ifnet->if_dl that always points at the

Poison struct route->ro_rt uses in the kernel by changing the name
to _ro_rt. Use rtcache_getrt() to access a route cache's struct
rtentry *.

Introduce struct ifnet->if_dl that always points at the interface
identifier/link-layer address. Make code that treated the first
ifaddr on struct ifnet->if_addrlist as the interface address use
if_dl, instead.

Remove stale debugging code from net/route.c. Move the rtflush()
code into rtcache_clear() and delete rtflush(). Delete rtalloc(),
because nothing uses it any more.

Make ND6_HINT an inline, lowercase subroutine, nd6_hint.

I've done my best to convert IP Filter, the ISO stack, and the
AppleTalk stack to rtcache_getrt(). They compile, but I have not
tested them. I have given the changes to PF, GRE, IPv4 and IPv6
stacks a lot of exercise.

show more ...


# 6173a476 02-Sep-2007 dyoung <dyoung@NetBSD.org>

m_copy() was deprecated, apparently, long ago. m_copy(...) ->
m_copym(..., M_DONTWAIT).


# 7431e54c 02-Aug-2007 yamt <yamt@NetBSD.org>

make rfbuf_ts a tcp timestamp so that calculations in tcp_input make sense.


# 4175f869 02-Aug-2007 rmind <rmind@NetBSD.org>

TCP socket buffers automatic sizing - ported from FreeBSD.
http://mail-index.netbsd.org/tech-net/2007/02/04/0006.html

! Disabled by default, marked as experimental. Testers are very needed.
! Someon

TCP socket buffers automatic sizing - ported from FreeBSD.
http://mail-index.netbsd.org/tech-net/2007/02/04/0006.html

! Disabled by default, marked as experimental. Testers are very needed.
! Someone should thoroughly test this, and improve if possible.

Discussed on <tech-net>:
http://mail-index.netbsd.org/tech-net/2007/07/12/0002.html
Thanks Greg Troxel for comments.

OK by the long silence on <tech-net>.

show more ...


# 711b142f 18-May-2007 riz <riz@NetBSD.org>

Fix compilation in the TCP_SIGNATURE case:

- don't use void * for pointer arithmetic
- don't try to modify const parameters

A kernel with 'options TCP_SIGNATURE' works as well as it ever did, now

Fix compilation in the TCP_SIGNATURE case:

- don't use void * for pointer arithmetic
- don't try to modify const parameters

A kernel with 'options TCP_SIGNATURE' works as well as it ever did, now.
(ie, clunky, but passable)

show more ...


# 72f0a6df 02-May-2007 dyoung <dyoung@NetBSD.org>

Eliminate address family-specific route caches (struct route, struct
route_in6, struct route_iso), replacing all caches with a struct
route.

The principle benefit of this change is that all of the p

Eliminate address family-specific route caches (struct route, struct
route_in6, struct route_iso), replacing all caches with a struct
route.

The principle benefit of this change is that all of the protocol
families can benefit from route cache-invalidation, which is
necessary for correct routing. Route-cache invalidation fixes an
ancient PR, kern/3508, at long last; it fixes various other PRs,
also.

Discussions with and ideas from Joerg Sonnenberger influenced this
work tremendously. Of course, all design oversights and bugs are
mine.

DETAILS

1 I added to each address family a pool of sockaddrs. I have
introduced routines for allocating, copying, and duplicating,
and freeing sockaddrs:

struct sockaddr *sockaddr_alloc(sa_family_t af, int flags);
struct sockaddr *sockaddr_copy(struct sockaddr *dst,
const struct sockaddr *src);
struct sockaddr *sockaddr_dup(const struct sockaddr *src, int flags);
void sockaddr_free(struct sockaddr *sa);

sockaddr_alloc() returns either a sockaddr from the pool belonging
to the specified family, or NULL if the pool is exhausted. The
returned sockaddr has the right size for that family; sa_family
and sa_len fields are initialized to the family and sockaddr
length---e.g., sa_family = AF_INET and sa_len = sizeof(struct
sockaddr_in). sockaddr_free() puts the given sockaddr back into
its family's pool.

sockaddr_dup() and sockaddr_copy() work analogously to strdup()
and strcpy(), respectively. sockaddr_copy() KASSERTs that the
family of the destination and source sockaddrs are alike.

The 'flags' argumet for sockaddr_alloc() and sockaddr_dup() is
passed directly to pool_get(9).

2 I added routines for initializing sockaddrs in each address
family, sockaddr_in_init(), sockaddr_in6_init(), sockaddr_iso_init(),
etc. They are fairly self-explanatory.

3 structs route_in6 and route_iso are no more. All protocol families
use struct route. I have changed the route cache, 'struct route',
so that it does not contain storage space for a sockaddr. Instead,
struct route points to a sockaddr coming from the pool the sockaddr
belongs to. I added a new method to struct route, rtcache_setdst(),
for setting the cache destination:

int rtcache_setdst(struct route *, const struct sockaddr *);

rtcache_setdst() returns 0 on success, or ENOMEM if no memory is
available to create the sockaddr storage.

It is now possible for rtcache_getdst() to return NULL if, say,
rtcache_setdst() failed. I check the return value for NULL
everywhere in the kernel.

4 Each routing domain (struct domain) has a list of live route
caches, dom_rtcache. rtflushall(sa_family_t af) looks up the
domain indicated by 'af', walks the domain's list of route caches
and invalidates each one.

show more ...


# 53524e44 04-Mar-2007 christos <christos@NetBSD.org>

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


# 7cc07e11 22-Feb-2007 thorpej <thorpej@NetBSD.org>

TRUE -> true, FALSE -> false


# 712239e3 21-Feb-2007 thorpej <thorpej@NetBSD.org>

Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.


# e2211411 10-Feb-2007 degroote <degroote@NetBSD.org>

Commit my SoC work
Add ipv6 support for fast_ipsec
Note that currently, packet with extensions headers are not correctly
supported
Change the ipcomp logic


# 401e606d 25-Nov-2006 yamt <yamt@NetBSD.org>

move tso-by-software code to their own files. no functional changes.


# 54b769f3 23-Nov-2006 martin <martin@NetBSD.org>

Make it compile on IPv4-only kernels


# 809ec70b 23-Nov-2006 yamt <yamt@NetBSD.org>

implement ipv6 TSO.
partly from Matthias Scheler. tested by him.


# 389488e9 17-Oct-2006 yamt <yamt@NetBSD.org>

tcp_output: as a comment in tcp_sack_newack says, actually send
one or two segments on partial acks. even if sack_bytes_rxmt==0,
if we are in fast recovory with sack, snd_cwnd has somewhat special
m

tcp_output: as a comment in tcp_sack_newack says, actually send
one or two segments on partial acks. even if sack_bytes_rxmt==0,
if we are in fast recovory with sack, snd_cwnd has somewhat special
meaning here. PR/34749.

show more ...


# f3330397 09-Oct-2006 rpaulo <rpaulo@NetBSD.org>

Modular (I tried ;-) TCP congestion control API. Whenever certain conditions
happen in the TCP stack, this interface calls the specified callback to
handle the situation according to the currently se

Modular (I tried ;-) TCP congestion control API. Whenever certain conditions
happen in the TCP stack, this interface calls the specified callback to
handle the situation according to the currently selected congestion
control algorithm.
A new sysctl node was created: net.inet.tcp.congctl.{available,selected}
with obvious meanings.
The old net.inet.tcp.newreno MIB was removed.
The API is discussed in tcp_congctl(9).

In the near future, it will be possible to selected a congestion control
algorithm on a per-socket basis.

Discussed on tech-net and reviewed by <yamt>.

show more ...


# ce8b8312 08-Oct-2006 yamt <yamt@NetBSD.org>

tcp_output: don't make TSO duplicate CWR/ECE.


123456789