syndicate-2017/examples/netstack
Tony Garnock-Jones 015d7c38dd Properly evaluate some TCP stop-when conditions.
Prior to this commit, the stop-whens were using
current-inexact-milliseconds in a comparison to detect a timeout,
meaning that timeouts would be missed. This commit introduces a
redundant copy of current-inexact-milliseconds in a field and changes it
on every event so that stop-when expressions involving the field are
reevaluated properly frequently.
2016-07-21 16:50:30 -04:00
..
.gitignore Move into subfolder in prep for merge 2016-04-01 19:23:33 -04:00
Makefile Move into subfolder in prep for merge 2016-04-01 19:23:33 -04:00
README.md Move into subfolder in prep for merge 2016-04-01 19:23:33 -04:00
TODO.md Move into subfolder in prep for merge 2016-04-01 19:23:33 -04:00
arp.rkt Translate Ethernet and ARP to incremental/actor style 2016-07-21 16:50:30 -04:00
checksum.rkt Move into subfolder in prep for merge 2016-04-01 19:23:33 -04:00
configuration.rkt Move into subfolder in prep for merge 2016-04-01 19:23:33 -04:00
demo-config.rkt Migrate demo-config.rkt to syndicate/actor 2016-07-21 16:50:30 -04:00
dump-bytes.rkt Move into subfolder in prep for merge 2016-04-01 19:23:33 -04:00
ethernet.rkt Translate Ethernet and ARP to incremental/actor style 2016-07-21 16:50:30 -04:00
fetchurl.rkt Migrate fetchurl.rkt to syndicate/actor 2016-07-21 16:50:30 -04:00
ip.rkt Migrate ip, port-allocator, udp and tcp to syndicate/actor 2016-07-21 16:50:30 -04:00
main.rkt Migrate ip, port-allocator, udp and tcp to syndicate/actor 2016-07-21 16:50:30 -04:00
on-claim.rkt Move from syndicate-monolithic to syndicate/monolithic, in prep for refactoring 2016-07-12 13:55:59 -04:00
port-allocator.rkt Migrate ip, port-allocator, udp and tcp to syndicate/actor 2016-07-21 16:50:30 -04:00
tcp.rkt Properly evaluate some TCP stop-when conditions. 2016-07-21 16:50:30 -04:00
udp.rkt Migrate ip, port-allocator, udp and tcp to syndicate/actor 2016-07-21 16:50:30 -04:00

README.md

TCP/IP Stack

Linux Firewall Configuration

Imagine a setup where the machine you are running this code has IP 192.168.1.10. This code claims 192.168.1.222 for itself. Now, pinging 192.168.1.222 from some other machine, say 192.168.1.99, will cause the local kernel to receive the pings and then forward them on to 192.168.1.222, which because of the gratuitous ARP announcement, it knows to be on its own Ethernet MAC address. This causes the ping requests to repeat endlessly, each time with one lower TTL.

One approach to solving the problem is to prevent the kernel from forwarding packets addressed to 192.168.1.222. To do this,

sudo iptables -I FORWARD -d 192.168.1.222 -j DROP