3665ca1dbf
Due to the nature of the feature under test, this one is a little different, so let me explain how it works. The test program forks and bootstraps a rump kernel in both processes. It then configures shared memory interfaces in both. shmif is nice in that it uses a mmaped file as the bus and does not require root privileges for communication between two (or more) processes. The child process then proceeds to increase icmp.returndatabytes as indicated by the PR, while the parent process sets the global TTL of the rump kernel to 1 (note: both values only affect the respective rump kernels, not each other or more importantly the host kernel). The parent then sends the bad packet which is supposed to be routed by the child. If ip_icmp.c was too old, *boom* + fail; otherwise nothing bad happens and the test exists with success after one second. Eventually this test can be extended into a framework for automated testing of any networking code which requires (arbitrarily complex) routing setups. |
||
---|---|---|
.. | ||
Atffile | ||
Makefile | ||
t_forward.c |