This project contains the implementation of a router's data plane. It uses ethernet at the data-link layer and IP at the network layer. Also, ARP is implemented and ICMP support is provided.
My most important contribution is the code from router.c.
After building, the router program can be started with:
./router <FILE> # FILE contains a static ARP table
The route table search is realised in O(log n), by using a trie structure to store the table lines.