267655 |
20-Jun-2014 |
gjb |
Remove svn:mergeinfo carried over from stable/9.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
267654 |
20-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
242041 |
25-Oct-2012 |
eadler |
MFC r241832: Covert regression test to python 3
Approved by: cperciva (implicit)
|
225736 |
23-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
224688 |
06-Aug-2011 |
rwatson |
Properly initialise the "len" argument to getsockname(2) in the tcpdrop regression test so that it works (more) consistently.
Approved by: re (bz) Sponsored by: Juniper Networks
|
222689 |
04-Jun-2011 |
rwatson |
Add a very simple IPDIVERT test, which creates IP divert sockets and checks for collision/non-collision properties in binding them. This test would have identified a bug recently reported on current@ involding my disaggregation of the pcbinfo lock.
It would be nice if this test also exercised packet diversion and injection, but that is for another day.
MFC after: 3 days Sponsored by: Juniper Networks, Inc.
|
222487 |
30-May-2011 |
bz |
Upgrade jail(2) to latest jail(2) API to make the regression test work again. Eventually should switch to jail_set(2).
Reported by: rwatson MFC after: 10 days
|
222486 |
30-May-2011 |
rwatson |
Rework TIMEWAIT regression test so that kernel-allocated port numbers are used rather than a fixed userspace one, avoiding conflicts between the two test runs.
MFC after: 3 days Sponsored by: Juniper Networks, Inc.
|
222485 |
30-May-2011 |
rwatson |
Add missing include of stdio.h.
MFC after: 3 days Sponsored by: Juniper Networks, Inc.
|
222484 |
30-May-2011 |
rwatson |
In the tcpdrop regression test, allow the kernel to allocate us a port rather than using a fixed port number. This means that the regression test can be run many times in a row without waiting on TIMEWAIT to release a hard-coded port number.
MFC after: 3 days Sponsored by: Juniper Networks, Inc.
|
222483 |
30-May-2011 |
rwatson |
Add missing #include of err.h.
MFC after: 3 days Sponsored by: Juniper Networks, Inc.
|
215207 |
12-Nov-2010 |
gnn |
Add a queue to hold packets while we await an ARP reply.
When a fast machine first brings up some non TCP networking program it is quite possible that we will drop packets due to the fact that only one packet can be held per ARP entry. This leads to packets being missed when a program starts or restarts if the ARP data is not currently in the ARP cache.
This code adds a new sysctl, net.link.ether.inet.maxhold, which defines a system wide maximum number of packets to be held in each ARP entry. Up to maxhold packets are queued until an ARP reply is received or the ARP times out. The default setting is the old value of 1 which has been part of the BSD networking code since time immemorial.
Expose the time we hold an incomplete ARP entry by adding the sysctl net.link.ether.inet.wait, which defaults to 20 seconds, the value used when the new ARP code was added..
Reviewed by: bz, rpaulo MFC after: 3 weeks
|
183676 |
07-Oct-2008 |
rwatson |
Update udpzerobyte to understand that passing 0 as a length to recv(2) will cause it to return 0, not EAGAIN.
Add UNIX domain socket support to udpzerobyte, which suggests this regression test should be moved to the general sockets test area rather than netinet.
|
183668 |
07-Oct-2008 |
rwatson |
Add IPv6 support to zero-size UDP transmit/receive test.
|
183666 |
07-Oct-2008 |
rwatson |
Regression test for the loopback handling of zero-length UDP packets, which should be delivered but without payload.
|
176043 |
06-Feb-2008 |
silby |
This is a regression test to verify the proper behavior of IP ID generation code. It will push 200000 packets, then report back what the min and max periods it saw for different IDs were.
|
174033 |
28-Nov-2007 |
bz |
Convert errx(-1, ..., strerror(errno)) to err(-1, ...).
Discussed with: rwatson
|
174032 |
28-Nov-2007 |
bz |
Add support for tcpmd5 tests. Add README.tcpmd5 to describe how to build a simple test setup and run tests.
Convert compile time options to run time options [1].
Discussed with: rwatson Suggested by: rwatson [1]
|
170614 |
12-Jun-2007 |
bms |
Add regression test for SSM code.
|
170613 |
12-Jun-2007 |
bms |
Import rewrite of IPv4 socket multicast layer to support source-specific and protocol-independent host mode multicast. The code is written to accomodate IPv6, IGMPv3 and MLDv2 with only a little additional work.
This change only pertains to FreeBSD's use as a multicast end-station and does not concern multicast routing; for an IGMPv3/MLDv2 router implementation, consider the XORP project.
The work is based on Wilbert de Graaf's IGMPv3 code drop for FreeBSD 4.6, which is available at: http://www.kloosterhof.com/wilbert/igmpv3.html
Summary * IPv4 multicast socket processing is now moved out of ip_output.c into a new module, in_mcast.c. * The in_mcast.c module implements the IPv4 legacy any-source API in terms of the protocol-independent source-specific API. * Source filters are lazy allocated as the common case does not use them. They are part of per inpcb state and are covered by the inpcb lock. * struct ip_mreqn is now supported to allow applications to specify multicast joins by interface index in the legacy IPv4 any-source API. * In UDP, an incoming multicast datagram only requires that the source port matches the 4-tuple if the socket was already bound by source port. An unbound socket SHOULD be able to receive multicasts sent from an ephemeral source port. * The UDP socket multicast filter mode defaults to exclusive, that is, sources present in the per-socket list will be blocked from delivery. * The RFC 3678 userland functions have been added to libc: setsourcefilter, getsourcefilter, setipv4sourcefilter, getipv4sourcefilter. * Definitions for IGMPv3 are merged but not yet used. * struct sockaddr_storage is now referenced from <netinet/in.h>. It is therefore defined there if not already declared in the same way as for the C99 types. * The RFC 1724 hack (specify 0.0.0.0/8 addresses to IP_MULTICAST_IF which are then interpreted as interface indexes) is now deprecated. * A patch for the Rhyolite.com routed in the FreeBSD base system is available in the -net archives. This only affects individuals running RIPv1 or RIPv2 via point-to-point and/or unnumbered interfaces. * Make IPv6 detach path similar to IPv4's in code flow; functionally same. * Bump __FreeBSD_version to 700048; see UPDATING.
This work was financially supported by another FreeBSD committer.
Obtained from: p4://bms_netdev Submitted by: Wilbert de Graaf (original work) Reviewed by: rwatson (locking), silence from fenner, net@ (but with encouragement)
|
168662 |
12-Apr-2007 |
bms |
Nuke ipblock. A more complete multicast regression test suite is on the way.
|
168548 |
09-Apr-2007 |
bms |
Fix a bug whereby group addresses were incorrectly computed in the test.
[Since the change to strict refcounting for in_multi objects, this test began to fail; formerly the refcount was a count of the number of requests for a given address, NOT a count of pointers to the object.]
|
168444 |
06-Apr-2007 |
bms |
Add a small test program for the additional socket options which RFC 3678 (Source-specific Multicast API) brings to FreeBSD.
|
167512 |
13-Mar-2007 |
bms |
Add raw IP support (protocol 114) to ipbroadcast regression test.
|
167341 |
08-Mar-2007 |
bms |
Add -A to specify local address for bind().
|
167340 |
08-Mar-2007 |
bms |
Support IP_SENDIF in -CURRENT.
|
167149 |
01-Mar-2007 |
bms |
Add -t to set IP TTL.
|
167140 |
01-Mar-2007 |
bms |
Introduce a test program for IPv4 broadcast datagram send.
|
166437 |
02-Feb-2007 |
bms |
For the IPv4 multicast membership socket regression test: Add command line flags to increase the number of test iterations. Be deterministic by default, for automated operation. Better document assumptions.
|
160202 |
09-Jul-2006 |
maxim |
o style.Makefile(5): WARNS= -> WARNS?=.
|
158772 |
20-May-2006 |
maxim |
o Convert to Test::Harness testing infratructure.
|
158577 |
14-May-2006 |
maxim |
o A tiny regression test exposes bug in rip_disconnect().
|
158561 |
14-May-2006 |
bms |
Add multicast group join/leave functionality to IPv4 regression test suite.
|
157428 |
03-Apr-2006 |
rwatson |
Add a second pass to the close-before-accept test using a call to the tcp drop sysctl. This should exercise the ECONNABORTED accept case.
|
157426 |
03-Apr-2006 |
rwatson |
Add regression test for tcpdrop sysctl.
|
157425 |
03-Apr-2006 |
rwatson |
Add a regression test to exercise the case where accept() is called and the next waiting socket has had a close on the remote endpoint already.
|
157402 |
02-Apr-2006 |
rwatson |
When running the second part of the test, kill off the server process from the first part before starting, or the TCP port we want to bind may be in use still. Sleep for a short period between tests.
Use SIGTERM instead of SIGKILL.
|
157401 |
02-Apr-2006 |
rwatson |
Pass the right pid into the parent and child tasks so that when a test fails, we kill the right partner process.
|
157400 |
02-Apr-2006 |
rwatson |
Add makefile for tcpsocktimewait missed in previous commit.
|
157387 |
02-Apr-2006 |
rwatson |
Add a short regression test that triggers a TCP socket to enter time wait while the socket is still open; one variant closes the socket while in time wait, and a second lets time wait expire while the socket is open.
|
156735 |
15-Mar-2006 |
ru |
Style: NO_MAN doesn't need any value.
|
149796 |
05-Sep-2005 |
rwatson |
Add a regression test to test two variations on the same bug: joining a multicast group using a raw socket, then removing the interface on which the group is found, and joining a multicast group using a udp socket, then removing the interface on which the group is found. An if_disc interface is used as the interface on which to attach.
NB: A panic currently results from running this regression test, so do so with caution.
PR: 77665 Reported by: Gavin Atkinson <gavin dot atkinson at ury dot york dot ac dot uk> Reported by: Brooks Davis <brooks at FreeBSD dot org>
|
148327 |
23-Jul-2005 |
pjd |
Change jail IP from 1.0.0.127 to 127.0.0.1, which shows, that this test doesn't examine the real issue as it pass without problems.
|
148311 |
22-Jul-2005 |
rwatson |
Add a simple multicast socket regression test set:
- Test that the basic socket options have the right defaults, that we can change them, read them back, etc.
- Add and remove some multicast addresses.
- Send a loopback multicast address and make sure it arrives intact.
There's more that could be done here, but it's a start.
MFC after: 3 days
|
146251 |
16-May-2005 |
rwatson |
Add an #ifdef'd non-blocking version of the test.
Update copyright.
|
140643 |
22-Jan-2005 |
rwatson |
Use WARNS?= instead of WARNS= in Makefiles so that global warning settings can override local ones.
Pointed out by: ru
|
140352 |
16-Jan-2005 |
rwatson |
In refactoring the test before committing, a pointer was passed instead of a structure for the sockaddr_in. Pass the pointer to connect() instead of the pointer to the pointer.
Specify a port number to connect to.
|
140348 |
16-Jan-2005 |
rwatson |
Add udpconnectjail, a simple regression test to exercise an (as yet) unfixed bug in the jail() implementation relating to using the connect() system call on UDP sockets.
PR: 26506
|
139103 |
21-Dec-2004 |
ru |
Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by: core
|
138269 |
01-Dec-2004 |
nik |
The following code sets up two connected TCP sockets that send data to each other until the window is closed. Then one of the sockets is closed, which will generate a RST once the TCP at the other socket does a window probe.
All versions of FreeBSD prior to 11/26/2004 will ignore this RST into a 0 window, causing the connection (and application) to hang indefinitely. On patched versions of FreeBSD (and other operating systems), the RST will be accepted and the program will exit in a few seconds.
Submitted by: Michiel Boland Reviewed by: silby
|
137587 |
11-Nov-2004 |
nik |
Switch over to a different, more flexible test output protocol that's understood by Perl's Test::Harness module and prove(1) commands.
Update README to describe the new protocol. The work's broken down into two main sets of changes.
First, update the existing test programs (shell scripts and C programs) to produce output in the ok/not ok format, and to, where possible, also produce a header describing the number of tests that are expected to be run.
Second, provide the .t files that actually run the tests. In some cases these are copies of, or very similar too, scripts that already existed. I've kept the old scripts around so that it's possible to verify that behaviour under this new system (in terms of whether or not a test fails) is identical to the behaviour under the old system.
Add a TODO file.
|
136910 |
24-Oct-2004 |
ru |
For variables that are only checked with defined(), don't provide any fake value.
|
136843 |
23-Oct-2004 |
rwatson |
Use errx() instead of perror()/exit() for conciseness.
Suggested by: ru (some time ago)
|
136613 |
17-Oct-2004 |
ru |
Fixed a typo.
Submitted by: Pawel Worach
|
136391 |
11-Oct-2004 |
rwatson |
Resort unprivileged uid with privileged socket after unprivileged uid with privileged socket in test runs.
If running unprivileged and instructed to use unprivileged sockets, don't try and use raw sockets.
|
136390 |
11-Oct-2004 |
rwatson |
A number of improvements to the IP socket option API regression test:
- Consistently use err/errx/warnx throughout, rather than using perror() and exit().
- Teach the tests how to better manage (and therefore test) privilege: in particular, how to create sockes with root credentials but exercise the privileges with non-root credentials, etc.
- Teach the test suite to apply each of the non-IP_HDRINCL options across each of SOCK_DGRAM, SOCK_STREAM, and SOCK_RAW.
|
136384 |
11-Oct-2004 |
rwatson |
Add a simple exercise suite for IP-level socket options. The suite atempts to read and write various IP-level socket options as root and nobody, making sure the initial values are as expected, that they can be changed to valid values and take effect, etc. No attempt is made to check for the correct implementation of side effects (such as changes in packet headers) as yet.
The IP options section is currently broken but will be fixed shortly.
Not all multicast options are currently tested.
|
136337 |
09-Oct-2004 |
rwatson |
Add a simple C-based TCP connection generator, which generates and closes the specified number of TCP connections sequentially and synchronously. Useful for trying to trigger races in the accept code.
|
135157 |
13-Sep-2004 |
rwatson |
Add a very basic README for tcpstream.
|
135132 |
13-Sep-2004 |
rwatson |
Add tcpstream, a simple TCP stream generator that uses a pseudo-random sequence to detect data corruption visible to an application.
|