Linux kernel
routing protocol daemon
session-based forwarding module
separate routing and security planes