|
11 months ago | |
---|---|---|
private | 11 months ago | |
scripts | 11 months ago | |
.gitignore | 11 months ago | |
Makefile | 11 months ago | |
README.md | 11 months ago | |
router | 11 months ago |
__ __ __
__/ // /_/ /___ _____ ____ _ __ ___ ____ __
/_ _ __/ / __ `/ __ \/ __ `/ / / / / | /| / / / / /
/_ _ __/ / /_/ / / / / /_/ / / /_/ /| |/ |/ / /_/ /
/_//_/ /_/\__,_/_/ /_/\__, / \__,_/ |__/|__/\__,_/
/____/
The design of this “BGP” router is based on an internal radix tree structure containing the routing database. Routes are indexed in the tree based on the bit pattern of their subnet, and route lookup walks the tree to find the most specific route node corresponding to the requested destination address. The router itself is based on Racket’s built-in I/O multiplexing to automatically manage I/O between multiple sockets.
SOCK_SEQPACKET
support.
There’s no support for SOCK_SEQPACKET
in the standard UNIX domain socket module, so we pulled
the source code for this module and added a mode for SOCK_SEQPACKET
.For the milestone submission, we included some basic internal unit tests but there isn’t a lot of code coverage on those yet. We also ran the simulator milestone tests against the current router implementation and both milestone tests are passing.