christos
00c7362be7
change casts to proper unconst. mark XXXUNCONST
2005-05-29 21:40:27 +00:00
christos
52d3dc717e
- remove local copy of hexdigits.
...
- sprinkle const
- use mem*() instead of b*()
2005-05-29 21:39:21 +00:00
christos
5e5ed54bfe
remove stupid hand-rolled loop and kernel conditional.
2005-05-29 21:38:37 +00:00
yamt
f398966b60
tcp_output: account FIN when building sack option.
2005-05-08 04:52:05 +00:00
yamt
a448e5be5b
tcp_output: don't try to send more data than we have. PR/30160.
2005-05-08 04:51:05 +00:00
yamt
0afea4b00f
tcp_output: clear TH_FIN where appropriate. related to PR/30160.
2005-05-08 04:48:47 +00:00
yamt
b8690cc289
tcp_sack_option: ignore sack beyond snd_max.
2005-05-08 04:46:20 +00:00
christos
761bd09636
PR/30154: YAMAMOTO Takashi: tcp_close locking botch
...
chgsbsize() as mentioned in the PR can be called from an interrupt context
via tcp_close(). Avoid calling uid_find() in chgsbsize().
- Instead of storing so_uid in struct socketvar, store *so_uidinfo
- Add a simple lock to struct uidinfo.
2005-05-07 17:42:09 +00:00
matt
89ba134744
Add #include <sys/protosw.h> when _KERNEL
2005-05-06 04:28:37 +00:00
martti
840228057a
Install netinet/ipl.h (bin/30095)
2005-05-01 14:57:27 +00:00
manu
e0d963d34b
Fix memory leak
2005-04-29 13:06:23 +00:00
yamt
34c3fec469
move decl of inetsw to its own header to avoid array of incomplete type.
...
found by gcc4. reported by Adam Ciarcinski.
2005-04-29 10:39:09 +00:00
manu
cddc307094
Fix build problem after recent NAT-T changes
2005-04-26 05:37:45 +00:00
manu
52786ce730
Don't sleep when handling ESP over UDP packets.
2005-04-25 20:37:06 +00:00
manu
455d55f55b
Enhance IPSEC_NAT_T so that it can work with multiple machines behind the
...
same NAT.
2005-04-23 14:05:28 +00:00
yamt
23cd288d37
ip_output: handle the case M_CSUM_TSOv4 but !IFCAP_TSOv4.
2005-04-18 22:06:28 +00:00
yamt
fa67035590
add a function to handle M_CSUM_TSOv4 by software.
2005-04-18 21:55:06 +00:00
yamt
e5a2b5a4a4
fix problems related to loopback interface checksum omission. PR/29971.
...
- for ipv4, defer decision to ip layer as h/w checksum offloading does
so that it can check the actual interface the packet is going to.
- for ipv6, disable it.
(maybe will be revisited when it implements h/w checksum offloading.)
ok'ed by Jason Thorpe.
2005-04-18 21:50:25 +00:00
yamt
0b4d50d7bd
when doing TSO, avoid to use duplicated ip_id heavily.
...
XXX ip_randomid
2005-04-07 12:22:47 +00:00
kurahone
f7707899c1
Added sysctl tunable limits for the number of maximum SACK holes
...
per connection and per system.
Idea taken from FreeBSD.
2005-04-05 01:07:17 +00:00
yamt
4b935040d0
tcp_input: update a comment to match with the code.
2005-04-03 05:02:46 +00:00
is
a0c9bc9616
Add IPv6 over GRE (contributed by Gert Doering in PR 29150).
2005-03-30 16:34:54 +00:00
yamt
73a5d8f913
s of sack is selective, not selection. pointed by Michael Eriksson.
2005-03-30 11:09:16 +00:00
yamt
8b0967ff45
protect tcpipqent with splvm.
2005-03-29 20:10:16 +00:00
yamt
c08e90ff51
tcp_output: lock reass queue when building sack.
2005-03-29 20:09:24 +00:00
yamt
2c742b20e6
ip_reass: clear stale csum_flags.
2005-03-29 09:37:08 +00:00
christos
3136f75efa
defopt IPFILTER_DEFAULT_BLOCK
2005-03-26 18:08:42 +00:00
kurahone
0eb940bc75
TCP/SACK changes from FreeBSD.
...
Ignore the SACK option if
* The packet is not an ACK.
* The ACK is outside of snd_una -> snd_max
2005-03-18 21:25:09 +00:00
yamt
df05ca7085
simplify data receiver side sack processing.
...
- introduce t_segqlen, the number of segments in segq/timeq.
the name is from freebsd.
- rather than maintaining a copy of sack blocks (rcv_sack_block[]),
build it directly from the segment list when needed.
2005-03-16 00:39:56 +00:00
yamt
0446b7c3e3
- use full sized segments unless we actually have SACKs to send.
...
- avoid TSO duplicate D-SACK.
- send SACKs regardless of TF_ACKNOW.
- don't clear rcv_sack_num when transmitting.
discussed on tech-net@.
2005-03-16 00:38:27 +00:00
yamt
9482bc7356
don't try to use TSO to transmit a single segment.
...
- there's no benefit.
- rtl8169 seems to be stuck with it.
2005-03-12 07:53:08 +00:00
matt
7dfa1d8cf7
Set ip_len to 0 in the wm driver when TSO is being used.
2005-03-11 17:07:51 +00:00
atatat
5b8a6c916d
Revert the change that made kern.file2 and net.*.*.pcblist into nodes
...
instead of structs. It had other deleterious side-effects that are
rather nasty. Another solution must be found.
2005-03-11 06:16:15 +00:00
thorpej
3901f760df
In ip_fragment():
...
- Use the correct IP header length variable for other-than-first packets.
- Remove redundant setting of the original IP header length in the first
packet's csum_data. (It's already set before ip_fragment() is called
in 1.147.)
2005-03-10 06:03:00 +00:00
atatat
d945605f5b
Make this build without INET6 xor INET (hah!) again.
2005-03-10 05:49:14 +00:00
atatat
ca63da437a
Change types of kern.file2 and net.*.*.pcblist to NODE
2005-03-10 05:43:25 +00:00
atatat
7c62c74d09
Add the following nodes to the sysctl tree:
...
net.local.stream.pcblist
net.local.dgram.pcblist
net.inet.tcp.pcblist
net.inet.udp.pcblist
net.inet.raw.pcblist
net.inet6.tcp6.pcblist
net.inet6.udp6.pcblist
net.inet6.raw6.pcblist
which allow retrieval of the pcbs in use for those protocols. The
struct involved is 32/64 bit clean and incorporates parts of struct
inpcb, struct unpcb, a bit of struct tcpcb, and two socket addresses.
2005-03-09 05:07:19 +00:00
atatat
76a9013c25
gc the tcp_sysctl() prototype since it's completely vestigial
2005-03-09 04:51:56 +00:00
simonb
e491fee6a5
s/quence/quench/.
2005-03-09 04:24:12 +00:00
simonb
3792275475
Add an extra `i' to notifes/notifed.
2005-03-09 04:23:33 +00:00
matt
47df382bfe
Move all the hardware-assisted checksum/segment offload code together.
2005-03-09 03:39:27 +00:00
matt
ea3d151322
For AF_INET, always set m->m_pkthdr.csum_data. Don't or TSOv4, just set it.
2005-03-09 03:38:33 +00:00
yamt
a0f802e2ac
tcp_sack_option: handle the case that the right-most sack'ed block is expanded.
...
a fix from Noritoshi Demizu (FreeBSD PR/78226) via Kentaro A. Kurahone.
2005-03-08 11:27:14 +00:00
yamt
e55b9169d1
tcp_sack_option: fix the cases that some sack blocks go into a hole.
2005-03-07 10:27:39 +00:00
yamt
ff614e1114
tcp_sack_option: fix a typo(?), which can cause to ignore valid blocks.
2005-03-07 09:40:35 +00:00
yamt
ed8b840f26
tcp_sack_option: the max number of sack blocks in a packet is 4, not 3.
2005-03-07 09:32:51 +00:00
yamt
e16a97f90b
- unwrap short lines.
...
- remove unneeded parenthesis.
- whitespace.
2005-03-06 23:06:40 +00:00
yamt
fd5005e8d7
don't assume alignment of sack options.
2005-03-06 23:05:56 +00:00
yamt
1152380a6b
wrap long lines.
2005-03-06 23:05:20 +00:00
yamt
2dc19239d5
update SYSCTL_DESCR; sack is implemented.
2005-03-06 10:15:30 +00:00