The version of Syndicate current at the conclusion of Tony Garnock-Jones's PhD research, end-of-2017/start-of-2018.
Go to file
Tony Garnock-Jones 38e3c9de0f Avoid double-fin (!). 2016-01-27 21:46:20 -05:00
.gitignore Initial commit 2014-06-15 21:16:14 -04:00
Makefile Makefile 2016-01-23 20:14:38 -05:00
README.md README 2015-10-17 21:11:55 -04:00
TODO.md A bug 2015-07-09 14:04:40 -04:00
arp.rkt Initial work towards migration from minimart to prospect-monolithic 2016-01-23 20:14:31 -05:00
checksum.rkt Tweaks to logging 2014-06-16 17:51:37 -04:00
configuration.rkt Initial work towards migration from minimart to prospect-monolithic 2016-01-23 20:14:31 -05:00
demo-config.rkt Initial work towards migration from minimart to prospect-monolithic 2016-01-23 20:14:31 -05:00
dump-bytes.rkt Initial commit 2014-06-15 21:16:14 -04:00
ethernet.rkt Initial work towards migration from minimart to prospect-monolithic 2016-01-23 20:14:31 -05:00
fetchurl.rkt Initial work towards migration from minimart to prospect-monolithic 2016-01-23 20:14:31 -05:00
idle.rkt Entrypoint for simply idling the stack 2015-10-17 20:33:51 -04:00
ip.rkt Name process behaviour procedures. 2016-01-27 21:46:09 -05:00
main.rkt TCP. Connection & transfer works; disconnection, not. 2016-01-23 22:57:07 -05:00
port-allocator.rkt Name process behaviour procedures. 2016-01-27 21:46:09 -05:00
tcp.rkt Avoid double-fin (!). 2016-01-27 21:46:20 -05:00
udp.rkt UDP. 2016-01-23 21:59:33 -05: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