\BOOKMARK [0][-]{chapter.1}{BIRD Design}{}% 1 \BOOKMARK [1][-]{section.1.1}{Introduction}{chapter.1}% 2 \BOOKMARK [1][-]{section.1.2}{Design goals}{chapter.1}% 3 \BOOKMARK [1][-]{section.1.3}{Architecture}{chapter.1}% 4 \BOOKMARK [1][-]{section.1.4}{Implementation}{chapter.1}% 5 \BOOKMARK [0][-]{chapter.2}{Core}{}% 6 \BOOKMARK [1][-]{section.2.1}{Forwarding Information Base}{chapter.2}% 7 \BOOKMARK [1][-]{section.2.2}{Routing tables}{chapter.2}% 8 \BOOKMARK [1][-]{section.2.3}{Route attribute cache}{chapter.2}% 9 \BOOKMARK [1][-]{section.2.4}{Routing protocols}{chapter.2}% 10 \BOOKMARK [1][-]{section.2.5}{Graceful restart recovery}{chapter.2}% 11 \BOOKMARK [1][-]{section.2.6}{Protocol hooks}{chapter.2}% 12 \BOOKMARK [1][-]{section.2.7}{Interfaces}{chapter.2}% 13 \BOOKMARK [1][-]{section.2.8}{Neighbor cache}{chapter.2}% 14 \BOOKMARK [1][-]{section.2.9}{Command line interface}{chapter.2}% 15 \BOOKMARK [1][-]{section.2.10}{Object locks}{chapter.2}% 16 \BOOKMARK [0][-]{chapter.3}{Configuration}{}% 17 \BOOKMARK [1][-]{section.3.1}{Configuration manager}{chapter.3}% 18 \BOOKMARK [1][-]{section.3.2}{Lexical analyzer}{chapter.3}% 19 \BOOKMARK [1][-]{section.3.3}{Parser}{chapter.3}% 20 \BOOKMARK [0][-]{chapter.4}{Filters}{}% 21 \BOOKMARK [1][-]{section.4.1}{Filters}{chapter.4}% 22 \BOOKMARK [1][-]{section.4.2}{Trie for prefix sets}{chapter.4}% 23 \BOOKMARK [0][-]{chapter.5}{Protocols}{}% 24 \BOOKMARK [1][-]{section.5.1}{The Babel protocol}{chapter.5}% 25 \BOOKMARK [1][-]{section.5.2}{Bidirectional Forwarding Detection}{chapter.5}% 26 \BOOKMARK [1][-]{section.5.3}{Border Gateway Protocol}{chapter.5}% 27 \BOOKMARK [1][-]{section.5.4}{Open Shortest Path First \(OSPF\)}{chapter.5}% 28 \BOOKMARK [1][-]{section.5.5}{Pipe}{chapter.5}% 29 \BOOKMARK [1][-]{section.5.6}{Routing Information Protocol \(RIP\)}{chapter.5}% 30 \BOOKMARK [1][-]{section.5.7}{Router Advertisements}{chapter.5}% 31 \BOOKMARK [1][-]{section.5.8}{Static}{chapter.5}% 32 \BOOKMARK [1][-]{section.5.9}{Direct}{chapter.5}% 33 \BOOKMARK [0][-]{chapter.6}{System dependent parts}{}% 34 \BOOKMARK [1][-]{section.6.1}{Introduction}{chapter.6}% 35 \BOOKMARK [1][-]{section.6.2}{Logging}{chapter.6}% 36 \BOOKMARK [1][-]{section.6.3}{Kernel synchronization}{chapter.6}% 37 \BOOKMARK [0][-]{chapter.7}{Library functions}{}% 38 \BOOKMARK [1][-]{section.7.1}{IP addresses}{chapter.7}% 39 \BOOKMARK [1][-]{section.7.2}{Linked lists}{chapter.7}% 40 \BOOKMARK [1][-]{section.7.3}{Miscellaneous functions.}{chapter.7}% 41 \BOOKMARK [1][-]{section.7.4}{Message authentication codes}{chapter.7}% 42 \BOOKMARK [0][-]{chapter.8}{Resources}{}% 43 \BOOKMARK [1][-]{section.8.1}{Introduction}{chapter.8}% 44 \BOOKMARK [1][-]{section.8.2}{Resource pools}{chapter.8}% 45 \BOOKMARK [1][-]{section.8.3}{Memory blocks}{chapter.8}% 46 \BOOKMARK [1][-]{section.8.4}{Linear memory pools}{chapter.8}% 47 \BOOKMARK [1][-]{section.8.5}{Slabs}{chapter.8}% 48 \BOOKMARK [1][-]{section.8.6}{Events}{chapter.8}% 49 \BOOKMARK [1][-]{section.8.7}{Timers}{chapter.8}% 50 \BOOKMARK [1][-]{section.8.8}{Sockets}{chapter.8}% 51