OpenOSPFD - Design Parent Process Responsible for getting the routes into the kernel Tracks interface link states Synchronise the kernel routing table with the own copy OSPF Engine Listens on the raw IP socket Verifies and processes the packets Interface finite state machine Neighbor finite state machine Reliable flooding of LS updates (retransmits) Route Decision Engine Stores LS database Calculates SPF tree Redistribution of networks