\relax \providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} \HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined \global\let\oldcontentsline\contentsline \gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} \global\let\oldnewlabel\newlabel \gdef\newlabel#1#2{\newlabelxx{#1}#2} \gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} \AtEndDocument{\ifx\hyper@anchor\@undefined \let\contentsline\oldcontentsline \let\newlabel\oldnewlabel \fi} \fi} \global\let\hyper@last\relax \gdef\HyperFirstAtBeginDocument#1{#1} \providecommand\HyField@AuxAddToFields[1]{} \@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction }{3}{chapter.1}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{intro}{{1}{3}{Introduction\relax }{chapter.1}{}} \newlabel{what-is-bird}{{1.1}{3}{What is BIRD\relax }{section.1.1}{}} \@writefile{toc}{\contentsline {section}{\numberline {1.1}What is BIRD }{3}{section.1.1}} \newlabel{install}{{1.2}{4}{Installing BIRD\relax }{section.1.2}{}} \@writefile{toc}{\contentsline {section}{\numberline {1.2}Installing BIRD }{4}{section.1.2}} \newlabel{argv}{{1.3}{4}{Running BIRD\relax }{section.1.3}{}} \@writefile{toc}{\contentsline {section}{\numberline {1.3}Running BIRD }{4}{section.1.3}} \newlabel{argv-config}{{1.3}{4}{\ttfamily -c {\it config name\/}\relax }{section*.28}{}} \newlabel{argv-debug}{{1.3}{4}{\ttfamily -d\relax }{section*.31}{}} \newlabel{argv-log-file}{{1.3}{4}{\ttfamily -D {\it filename of debug log\/}\relax }{section*.34}{}} \newlabel{argv-foreground}{{1.3}{4}{\ttfamily -f\relax }{section*.37}{}} \newlabel{argv-group}{{1.3}{4}{\ttfamily -g {\it group\/}\relax }{section*.40}{}} \newlabel{argv-help}{{1.3}{4}{\ttfamily -h, --help\relax }{section*.43}{}} \newlabel{argv-local}{{1.3}{4}{\ttfamily -l\relax }{section*.46}{}} \newlabel{argv-parse}{{1.3}{4}{\ttfamily -p\relax }{section*.49}{}} \newlabel{argv-pid}{{1.3}{4}{\ttfamily -P {\it name of PID file\/}\relax }{section*.52}{}} \newlabel{argv-recovery}{{1.3}{4}{\ttfamily -R\relax }{section*.55}{}} \newlabel{argv-socket}{{1.3}{4}{\ttfamily -s {\it name of communication socket\/}\relax }{section*.58}{}} \newlabel{argv-user}{{1.3}{4}{\ttfamily -u {\it user\/}\relax }{section*.61}{}} \newlabel{argv-version}{{1.3}{4}{\ttfamily --version\relax }{section*.64}{}} \newlabel{privileges}{{1.4}{5}{Privileges\relax }{section.1.4}{}} \@writefile{toc}{\contentsline {section}{\numberline {1.4}Privileges }{5}{section.1.4}} \@writefile{toc}{\contentsline {chapter}{\numberline {2}About routing tables }{6}{chapter.2}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{routing-tables}{{2}{6}{About routing tables\relax }{chapter.2}{}} \newlabel{dsc-table-sorted}{{2}{6}{About routing tables\relax }{section*.83}{}} \newlabel{graceful-restart}{{2.1}{6}{Graceful restart\relax }{section.2.1}{}} \@writefile{toc}{\contentsline {section}{\numberline {2.1}Graceful restart }{6}{section.2.1}} \@writefile{toc}{\contentsline {chapter}{\numberline {3}Configuration }{7}{chapter.3}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{config}{{3}{7}{Configuration\relax }{chapter.3}{}} \newlabel{config-intro}{{3.1}{7}{Introduction\relax }{section.3.1}{}} \@writefile{toc}{\contentsline {section}{\numberline {3.1}Introduction }{7}{section.3.1}} \newlabel{global-opts}{{3.2}{7}{Global options\relax }{section.3.2}{}} \@writefile{toc}{\contentsline {section}{\numberline {3.2}Global options }{7}{section.3.2}} \newlabel{opt-include}{{3.2}{7}{\ttfamily include "{\it filename\/}"\relax }{section*.98}{}} \newlabel{opt-log}{{3.2}{7}{\ttfamily log "{\it filename\/}"$|$syslog {[}name {\it name\/}{]}$|$stderr all$|$$\{$ {\it list of classes\/} $\}$\relax }{section*.101}{}} \newlabel{opt-debug-protocols}{{3.2}{7}{\ttfamily debug protocols all$|$off$|$$\{$ states$|$routes$|$filters$|$interfaces$|$events$|$packets {[}, {\it ...\/}{]} $\}$\relax }{section*.104}{}} \newlabel{opt-debug-commands}{{3.2}{7}{\ttfamily debug commands {\it number\/}\relax }{section*.107}{}} \newlabel{opt-debug-latency}{{3.2}{8}{\ttfamily debug latency {\it switch\/}\relax }{section*.110}{}} \newlabel{opt-debug-latency-limit}{{3.2}{8}{\ttfamily debug latency limit {\it time\/}\relax }{section*.113}{}} \newlabel{opt-watchdog-warn}{{3.2}{8}{\ttfamily watchdog warning {\it time\/}\relax }{section*.116}{}} \newlabel{opt-watchdog-timeout}{{3.2}{8}{\ttfamily watchdog timeout {\it time\/}\relax }{section*.119}{}} \newlabel{opt-mrtdump}{{3.2}{8}{\ttfamily mrtdump "{\it filename\/}"\relax }{section*.122}{}} \newlabel{opt-mrtdump-protocols}{{3.2}{8}{\ttfamily mrtdump protocols all$|$off$|$$\{$ states$|$messages {[}, {\it ...\/}{]} $\}$\relax }{section*.125}{}} \newlabel{opt-filter}{{3.2}{8}{\ttfamily filter {\it name local variables\/}$\{$ {\it commands\/} $\}$\relax }{section*.128}{}} \newlabel{opt-function}{{3.2}{8}{\ttfamily function {\it name\/} ({\it parameters\/}) {\it local variables\/} $\{$ {\it commands\/} $\}$\relax }{section*.131}{}} \newlabel{opt-protocol}{{3.2}{8}{\ttfamily protocol rip$|$ospf$|$bgp$|${\it ...\/} {[}{\it name\/} {[}from {\it name2\/}{]}{]} $\{$ {\it protocol options\/} $\}$\relax }{section*.134}{}} \newlabel{opt-template}{{3.2}{8}{\ttfamily template rip$|$bgp$|${\it ...\/} {[}{\it name\/} {[}from {\it name2\/}{]}{]} $\{$ {\it protocol options\/} $\}$\relax }{section*.137}{}} \newlabel{opt-define}{{3.2}{8}{\ttfamily define {\it constant\/} = {\it expression\/}\relax }{section*.140}{}} \newlabel{opt-router-id}{{3.2}{8}{\ttfamily router id {\it IPv4 address\/}\relax }{section*.143}{}} \newlabel{opt-router-id-from}{{3.2}{8}{\ttfamily router id from {[}-{]} {[} "{\it mask\/}" {]} {[} {\it prefix\/} {]} {[}, {\it ...\/}{]}\relax }{section*.146}{}} \newlabel{opt-listen-bgp}{{3.2}{8}{\ttfamily listen bgp {[}address {\it address\/}{]} {[}port {\it port\/}{]} {[}dual{]}\relax }{section*.149}{}} \newlabel{opt-graceful-restart}{{3.2}{9}{\ttfamily graceful restart wait {\it number\/}\relax }{section*.152}{}} \newlabel{opt-timeformat}{{3.2}{9}{\ttfamily timeformat route$|$protocol$|$base$|$log "{\it format1\/}" {[}{\it limit\/} "{\it format2\/}"{]}\relax }{section*.155}{}} \newlabel{opt-table}{{3.2}{9}{\ttfamily table {\it name\/} {[}sorted{]}\relax }{section*.161}{}} \newlabel{opt-roa-table}{{3.2}{9}{\ttfamily roa table {\it name\/} {[} $\{$ {\it roa table options ...\/} $\}$ {]}\relax }{section*.164}{}} \newlabel{opt-eval}{{3.2}{9}{\ttfamily eval {\it expr\/}\relax }{section*.168}{}} \newlabel{protocol-opts}{{3.3}{9}{Protocol options\relax }{section.3.3}{}} \@writefile{toc}{\contentsline {section}{\numberline {3.3}Protocol options }{9}{section.3.3}} \newlabel{proto-preference}{{3.3}{9}{\ttfamily preference {\it expr\/}\relax }{section*.176}{}} \newlabel{proto-disabled}{{3.3}{9}{\ttfamily disabled {\it switch\/}\relax }{section*.179}{}} \newlabel{proto-debug}{{3.3}{10}{\ttfamily debug all$|$off$|$$\{$ states$|$routes$|$filters$|$interfaces$|$events$|$packets {[}, {\it ...\/}{]} $\}$\relax }{section*.182}{}} \newlabel{proto-mrtdump}{{3.3}{10}{\ttfamily mrtdump all$|$off$|$$\{$ states$|$messages {[}, {\it ...\/}{]} $\}$\relax }{section*.185}{}} \newlabel{proto-router-id}{{3.3}{10}{\ttfamily router id {\it IPv4 address\/}\relax }{section*.188}{}} \newlabel{proto-import}{{3.3}{10}{\ttfamily import all $|$ none $|$ filter {\it name\/} $|$ filter $\{$ {\it filter commands\/} $\}$ $|$ where {\it filter expression\/}\relax }{section*.191}{}} \newlabel{proto-export}{{3.3}{10}{\ttfamily export {\it filter\/}\relax }{section*.194}{}} \newlabel{proto-import-keep-filtered}{{3.3}{10}{\ttfamily import keep filtered {\it switch\/}\relax }{section*.197}{}} \newlabel{proto-import-limit}{{3.3}{10}{\ttfamily import limit {[}{\it number\/} $|$ off {]} {[}action warn $|$ block $|$ restart $|$ disable{]}\relax }{section*.200}{}} \newlabel{proto-receive-limit}{{3.3}{10}{\ttfamily receive limit {[}{\it number\/} $|$ off {]} {[}action warn $|$ block $|$ restart $|$ disable{]}\relax }{section*.203}{}} \newlabel{proto-export-limit}{{3.3}{10}{\ttfamily export limit {[} {\it number\/} $|$ off {]} {[}action warn $|$ block $|$ restart $|$ disable{]}\relax }{section*.206}{}} \newlabel{proto-description}{{3.3}{10}{\ttfamily description "{\it text\/}"\relax }{section*.209}{}} \newlabel{proto-table}{{3.3}{10}{\ttfamily table {\it name\/}\relax }{section*.212}{}} \newlabel{proto-vrf}{{3.3}{11}{\ttfamily vrf "{\it text\/}"$|$default\relax }{section*.215}{}} \newlabel{proto-iface}{{3.3}{11}{\ttfamily interface {[}-{]} {[} "{\it mask\/}" {]} {[} {\it prefix\/} {]} {[}, {\it ...\/}{]} {[} $\{$ {\it option\/}; {[}{\it ...\/}{]} $\}$ {]}\relax }{section*.222}{}} \newlabel{proto-tx-class}{{3.3}{11}{\ttfamily tx class$|$dscp {\it num\/}\relax }{section*.236}{}} \newlabel{proto-tx-priority}{{3.3}{11}{\ttfamily tx priority {\it num\/}\relax }{section*.239}{}} \newlabel{proto-pass}{{3.3}{12}{\ttfamily password "{\it password\/}" {[} $\{$ {\it password options\/} $\}$ {]}\relax }{section*.242}{}} \newlabel{proto-pass-id}{{3.3}{12}{\ttfamily id {\it num\/}\relax }{section*.248}{}} \newlabel{proto-pass-gen-from}{{3.3}{12}{\ttfamily generate from "{\it time\/}"\relax }{section*.251}{}} \newlabel{proto-pass-gen-to}{{3.3}{12}{\ttfamily generate to "{\it time\/}"\relax }{section*.254}{}} \newlabel{proto-pass-accept-from}{{3.3}{12}{\ttfamily accept from "{\it time\/}"\relax }{section*.257}{}} \newlabel{proto-pass-accept-to}{{3.3}{12}{\ttfamily accept to "{\it time\/}"\relax }{section*.260}{}} \newlabel{proto-pass-from}{{3.3}{12}{\ttfamily from "{\it time\/}"\relax }{section*.263}{}} \newlabel{proto-pass-to}{{3.3}{12}{\ttfamily to "{\it time\/}"\relax }{section*.266}{}} \newlabel{proto-pass-algorithm}{{3.3}{12}{\ttfamily algorithm ( keyed md5 $|$ keyed sha1 $|$ hmac sha1 $|$ hmac sha256 $|$ hmac sha384 $|$ hmac sha512 )\relax }{section*.269}{}} \@writefile{toc}{\contentsline {chapter}{\numberline {4}Remote control }{13}{chapter.4}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{remote-control}{{4}{13}{Remote control\relax }{chapter.4}{}} \newlabel{cli-show-status}{{4}{13}{\ttfamily show status\relax }{section*.281}{}} \newlabel{cli-show-interfaces}{{4}{13}{\ttfamily show interfaces {[}summary{]}\relax }{section*.284}{}} \newlabel{cli-show-protocols}{{4}{13}{\ttfamily show protocols {[}all{]}\relax }{section*.287}{}} \newlabel{cli-show-ospf-iface}{{4}{13}{\ttfamily show ospf interface {[}{\it name\/}{]} {[}"{\it interface\/}"{]}\relax }{section*.290}{}} \newlabel{cli-show-ospf-neighbors}{{4}{13}{\ttfamily show ospf neighbors {[}{\it name\/}{]} {[}"{\it interface\/}"{]}\relax }{section*.293}{}} \newlabel{cli-show-ospf-state}{{4}{13}{\ttfamily show ospf state {[}all{]} {[}{\it name\/}{]}\relax }{section*.296}{}} \newlabel{cli-show-ospf-topology}{{4}{13}{\ttfamily show ospf topology {[}all{]} {[}{\it name\/}{]}\relax }{section*.299}{}} \newlabel{cli-show-ospf-lsadb}{{4}{13}{\ttfamily show ospf lsadb {[}global $|$ area {\it id\/} $|$ link{]} {[}type {\it num\/}{]} {[}lsid {\it id\/}{]} {[}self $|$ router {\it id\/}{]} {[}{\it name\/}{]}\relax }{section*.302}{}} \newlabel{cli-show-rip-interfaces}{{4}{13}{\ttfamily show rip interfaces {[}{\it name\/}{]} {[}"{\it interface\/}"{]}\relax }{section*.305}{}} \newlabel{cli-show-rip-neighbors}{{4}{13}{\ttfamily show rip neighbors {[}{\it name\/}{]} {[}"{\it interface\/}"{]}\relax }{section*.308}{}} \newlabel{cli-show-static}{{4}{13}{\ttfamily show static {[}{\it name\/}{]}\relax }{section*.311}{}} \newlabel{cli-show-bfd-sessions}{{4}{13}{\ttfamily show bfd sessions {[}{\it name\/}{]}\relax }{section*.314}{}} \newlabel{cli-show-symbols}{{4}{13}{\ttfamily show symbols {[}table$|$filter$|$function$|$protocol$|$template$|$roa$|${\it symbol\/}{]}\relax }{section*.317}{}} \newlabel{cli-show-route}{{4}{14}{\ttfamily show route {[}{[}for{]} {\it prefix\/}$|${\it IP\/}{]} {[}table {\it t\/}{]} {[}filter {\it f\/}$|$where {\it c\/}{]} {[}(export$|$preexport$|$noexport) {\it p\/}{]} {[}protocol {\it p\/}{]} {[}{\it options\/}{]}\relax }{section*.320}{}} \newlabel{cli-mrt-dump}{{4}{14}{\ttfamily mrt dump table {\it name\/}$|$"{\it pattern\/}" to "{\it filename\/}" {[}filter {\it f\/}$|$where {\it c\/}{]}\relax }{section*.334}{}} \newlabel{cli-show-roa}{{4}{14}{\ttfamily show roa {[}{\it prefix\/} $|$ in {\it prefix\/} $|$ for {\it prefix\/}{]} {[}as {\it num\/}{]} {[}table {\it t\/}{]}\relax }{section*.337}{}} \newlabel{cli-add-roa}{{4}{14}{\ttfamily add roa {\it prefix\/} max {\it num\/} as {\it num\/} {[}table {\it t\/}{]}\relax }{section*.340}{}} \newlabel{cli-delete-roa}{{4}{14}{\ttfamily delete roa {\it prefix\/} max {\it num\/} as {\it num\/} {[}table {\it t\/}{]}\relax }{section*.343}{}} \newlabel{cli-flush-roa}{{4}{14}{\ttfamily flush roa {[}table {\it t\/}{]}\relax }{section*.346}{}} \newlabel{cli-configure}{{4}{14}{\ttfamily configure {[}soft{]} {[}"{\it config file\/}"{]} {[}timeout {[}{\it num\/}{]}{]}\relax }{section*.349}{}} \newlabel{cli-configure-confirm}{{4}{14}{\ttfamily configure confirm\relax }{section*.354}{}} \newlabel{cli-configure-undo}{{4}{15}{\ttfamily configure undo\relax }{section*.357}{}} \newlabel{cli-configure-check}{{4}{15}{\ttfamily configure check {[}"{\it config file\/}"{]}\relax }{section*.360}{}} \newlabel{cli-enable-disable-restart}{{4}{15}{\ttfamily enable$|$disable$|$restart {\it name\/}$|$"{\it pattern\/}"$|$all\relax }{section*.363}{}} \newlabel{cli-reload}{{4}{15}{\ttfamily reload {[}in$|$out{]} {\it name\/}$|$"{\it pattern\/}"$|$all\relax }{section*.366}{}} \newlabel{cli-down}{{4}{15}{\ttfamily down\relax }{section*.371}{}} \newlabel{cli-debug}{{4}{15}{\ttfamily debug {\it protocol\/}$|${\it pattern\/}$|$all all$|$off$|$$\{$ states$|$routes$|$filters$|$events$|$packets {[}, {\it ...\/}{]} $\}$\relax }{section*.374}{}} \newlabel{cli-dump}{{4}{15}{\ttfamily dump resources$|$sockets$|$interfaces$|$neighbors$|$attributes$|$routes$|$protocols\relax }{section*.377}{}} \newlabel{cli-echo}{{4}{15}{\ttfamily echo all$|$off$|$$\{$ {\it list of log classes\/} $\}$ {[} {\it buffer-size\/} {]}\relax }{section*.380}{}} \newlabel{cli-eval}{{4}{15}{\ttfamily eval {\it expr\/}\relax }{section*.383}{}} \@writefile{toc}{\contentsline {chapter}{\numberline {5}Filters }{16}{chapter.5}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{filters}{{5}{16}{Filters\relax }{chapter.5}{}} \newlabel{filters-intro}{{5.1}{16}{Introduction\relax }{section.5.1}{}} \@writefile{toc}{\contentsline {section}{\numberline {5.1}Introduction }{16}{section.5.1}} \newlabel{data-types}{{5.2}{17}{Data types\relax }{section.5.2}{}} \@writefile{toc}{\contentsline {section}{\numberline {5.2}Data types }{17}{section.5.2}} \newlabel{type-bool}{{5.2}{17}{\ttfamily bool\relax }{section*.407}{}} \newlabel{type-int}{{5.2}{17}{\ttfamily int\relax }{section*.410}{}} \newlabel{type-pair}{{5.2}{17}{\ttfamily pair\relax }{section*.413}{}} \newlabel{type-quad}{{5.2}{17}{\ttfamily quad\relax }{section*.416}{}} \newlabel{type-string}{{5.2}{17}{\ttfamily string\relax }{section*.419}{}} \newlabel{type-ip}{{5.2}{17}{\ttfamily ip\relax }{section*.422}{}} \newlabel{type-prefix}{{5.2}{17}{\ttfamily prefix\relax }{section*.425}{}} \newlabel{type-ec}{{5.2}{17}{\ttfamily ec\relax }{section*.428}{}} \newlabel{type-lc}{{5.2}{18}{\ttfamily lc\relax }{section*.431}{}} \newlabel{type-set}{{5.2}{18}{\ttfamily int$|$pair$|$quad$|$ip$|$prefix$|$ec$|$lc$|$enum set\relax }{section*.434}{}} \newlabel{type-enum}{{5.2}{18}{\ttfamily enum\relax }{section*.446}{}} \newlabel{type-bgppath}{{5.2}{19}{\ttfamily bgppath\relax }{section*.449}{}} \newlabel{type-bgpmask}{{5.2}{19}{\ttfamily bgpmask\relax }{section*.462}{}} \newlabel{type-clist}{{5.2}{19}{\ttfamily clist\relax }{section*.465}{}} \newlabel{type-eclist}{{5.2}{19}{\ttfamily eclist\relax }{section*.474}{}} \newlabel{operators}{{5.3}{20}{Operators\relax }{section.5.3}{}} \@writefile{toc}{\contentsline {section}{\numberline {5.3}Operators }{20}{section.5.3}} \newlabel{control-structures}{{5.4}{20}{Control structures\relax }{section.5.4}{}} \@writefile{toc}{\contentsline {section}{\numberline {5.4}Control structures }{20}{section.5.4}} \newlabel{route-attributes}{{5.5}{20}{Route attributes\relax }{section.5.5}{}} \@writefile{toc}{\contentsline {section}{\numberline {5.5}Route attributes }{20}{section.5.5}} \newlabel{rta-net}{{5.5}{21}{\ttfamily {\it prefix\/} net\relax }{section*.498}{}} \newlabel{rta-scope}{{5.5}{21}{\ttfamily {\it enum\/} scope\relax }{section*.501}{}} \newlabel{rta-preference}{{5.5}{21}{\ttfamily {\it int\/} preference\relax }{section*.504}{}} \newlabel{rta-from}{{5.5}{21}{\ttfamily {\it ip\/} from\relax }{section*.507}{}} \newlabel{rta-gw}{{5.5}{21}{\ttfamily {\it ip\/} gw\relax }{section*.510}{}} \newlabel{rta-proto}{{5.5}{21}{\ttfamily {\it string\/} proto\relax }{section*.513}{}} \newlabel{rta-source}{{5.5}{21}{\ttfamily {\it enum\/} source\relax }{section*.516}{}} \newlabel{rta-cast}{{5.5}{21}{\ttfamily {\it enum\/} cast\relax }{section*.519}{}} \newlabel{rta-dest}{{5.5}{21}{\ttfamily {\it enum\/} dest\relax }{section*.522}{}} \newlabel{rta-ifname}{{5.5}{21}{\ttfamily {\it string\/} ifname\relax }{section*.525}{}} \newlabel{rta-ifindex}{{5.5}{21}{\ttfamily {\it int\/} ifindex\relax }{section*.528}{}} \newlabel{rta-igp-metric}{{5.5}{21}{\ttfamily {\it int\/} igp\_metric\relax }{section*.531}{}} \newlabel{other-statements}{{5.6}{22}{Other statements\relax }{section.5.6}{}} \@writefile{toc}{\contentsline {section}{\numberline {5.6}Other statements }{22}{section.5.6}} \newlabel{assignment}{{5.6}{22}{\ttfamily {\it variable\/} = {\it expr\/}\relax }{section*.539}{}} \newlabel{filter-accept-reject}{{5.6}{22}{\ttfamily accept$|$reject {[} {\it expr\/} {]}\relax }{section*.542}{}} \newlabel{return}{{5.6}{22}{\ttfamily return {\it expr\/}\relax }{section*.545}{}} \newlabel{print}{{5.6}{22}{\ttfamily print$|$printn {\it expr\/} {[}{\it , expr...\/}{]}\relax }{section*.548}{}} \newlabel{quitbird}{{5.6}{22}{\ttfamily quitbird\relax }{section*.551}{}} \@writefile{toc}{\contentsline {chapter}{\numberline {6}Protocols }{23}{chapter.6}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{protocols}{{6}{23}{Protocols\relax }{chapter.6}{}} \newlabel{babel}{{6.1}{23}{Babel\relax }{section.6.1}{}} \@writefile{toc}{\contentsline {section}{\numberline {6.1}Babel }{23}{section.6.1}} \newlabel{babel-intro}{{6.1.1}{23}{Introduction\relax }{subsection.6.1.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}Introduction }{23}{subsection.6.1.1}} \newlabel{babel-config}{{6.1.2}{23}{Configuration\relax }{subsection.6.1.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}Configuration }{23}{subsection.6.1.2}} \newlabel{babel-type}{{6.1.2}{23}{\ttfamily type wired$|$wireless\relax }{section*.564}{}} \newlabel{babel-rxcost}{{6.1.2}{23}{\ttfamily rxcost {\it num\/}\relax }{section*.567}{}} \newlabel{babel-hello}{{6.1.2}{23}{\ttfamily hello interval {\it num\/}\relax }{section*.570}{}} \newlabel{babel-update}{{6.1.2}{23}{\ttfamily update interval {\it num\/}\relax }{section*.573}{}} \newlabel{babel-port}{{6.1.2}{23}{\ttfamily port {\it number\/}\relax }{section*.576}{}} \newlabel{babel-tx-class}{{6.1.2}{24}{\ttfamily tx class$|$dscp$|$priority {\it number\/}\relax }{section*.579}{}} \newlabel{babel-rx-buffer}{{6.1.2}{24}{\ttfamily rx buffer {\it number\/}\relax }{section*.582}{}} \newlabel{babel-tx-length}{{6.1.2}{24}{\ttfamily tx length {\it number\/}\relax }{section*.585}{}} \newlabel{babel-check-link}{{6.1.2}{24}{\ttfamily check link {\it switch\/}\relax }{section*.588}{}} \newlabel{babel-attr}{{6.1.3}{24}{Attributes\relax }{subsection.6.1.3}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}Attributes }{24}{subsection.6.1.3}} \newlabel{babel-exam}{{6.1.4}{24}{Example\relax }{subsection.6.1.4}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.4}Example }{24}{subsection.6.1.4}} \newlabel{bfd}{{6.2}{24}{BFD\relax }{section.6.2}{}} \@writefile{toc}{\contentsline {section}{\numberline {6.2}BFD }{24}{section.6.2}} \newlabel{bfd-intro}{{6.2.1}{24}{Introduction\relax }{subsection.6.2.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}Introduction }{24}{subsection.6.2.1}} \newlabel{bfd-config}{{6.2.2}{25}{Configuration\relax }{subsection.6.2.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}Configuration }{25}{subsection.6.2.2}} \newlabel{bfd-iface}{{6.2.2}{26}{\ttfamily interface {\it pattern\/} {[}, {\it ...\/}{]} $\{$ {\it options\/} $\}$\relax }{section*.615}{}} \newlabel{bfd-multihop}{{6.2.2}{26}{\ttfamily multihop $\{$ {\it options\/} $\}$\relax }{section*.618}{}} \newlabel{bfd-neighbor}{{6.2.2}{26}{\ttfamily neighbor {\it ip\/} {[}dev "{\it interface\/}"{]} {[}local {\it ip\/}{]} {[}multihop {\it switch\/}{]}\relax }{section*.621}{}} \newlabel{bfd-interval}{{6.2.2}{26}{\ttfamily interval {\it time\/}\relax }{section*.627}{}} \newlabel{bfd-min-rx-interval}{{6.2.2}{26}{\ttfamily min rx interval {\it time\/}\relax }{section*.630}{}} \newlabel{bfd-min-tx-interval}{{6.2.2}{26}{\ttfamily min tx interval {\it time\/}\relax }{section*.633}{}} \newlabel{bfd-idle-tx-interval}{{6.2.2}{26}{\ttfamily idle tx interval {\it time\/}\relax }{section*.636}{}} \newlabel{bfd-multiplier}{{6.2.2}{26}{\ttfamily multiplier {\it num\/}\relax }{section*.639}{}} \newlabel{bfd-passive}{{6.2.2}{26}{\ttfamily passive {\it switch\/}\relax }{section*.642}{}} \newlabel{bfd-exam}{{6.2.3}{27}{Example\relax }{subsection.6.2.3}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}Example }{27}{subsection.6.2.3}} \newlabel{bgp}{{6.3}{27}{BGP\relax }{section.6.3}{}} \@writefile{toc}{\contentsline {section}{\numberline {6.3}BGP }{27}{section.6.3}} \newlabel{bgp-route-select-rules}{{6.3.1}{28}{Route selection rules\relax }{subsection.6.3.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}Route selection rules }{28}{subsection.6.3.1}} \newlabel{bgp-igp-routing-table}{{6.3.2}{28}{IGP routing table\relax }{subsection.6.3.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}IGP routing table }{28}{subsection.6.3.2}} \newlabel{bgp-config}{{6.3.3}{28}{Configuration\relax }{subsection.6.3.3}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}Configuration }{28}{subsection.6.3.3}} \newlabel{bgp-local}{{6.3.3}{28}{\ttfamily local {[}{\it ip\/}{]} as {\it number\/}\relax }{section*.679}{}} \newlabel{bgp-neighbor}{{6.3.3}{28}{\ttfamily neighbor {[}{\it ip\/}{]} {[}port {\it number\/}{]} {[}as {\it number\/}{]}\relax }{section*.682}{}} \newlabel{bgp-iface}{{6.3.3}{29}{\ttfamily interface {\it string\/}\relax }{section*.685}{}} \newlabel{bgp-direct}{{6.3.3}{29}{\ttfamily direct\relax }{section*.688}{}} \newlabel{bgp-multihop}{{6.3.3}{29}{\ttfamily multihop {[}{\it number\/}{]}\relax }{section*.691}{}} \newlabel{bgp-source-address}{{6.3.3}{29}{\ttfamily source address {\it ip\/}\relax }{section*.694}{}} \newlabel{bgp-next-hop-self}{{6.3.3}{29}{\ttfamily next hop self\relax }{section*.697}{}} \newlabel{bgp-next-hop-keep}{{6.3.3}{29}{\ttfamily next hop keep\relax }{section*.700}{}} \newlabel{bgp-missing-lladdr}{{6.3.3}{29}{\ttfamily missing lladdr self$|$drop$|$ignore\relax }{section*.703}{}} \newlabel{bgp-gateway}{{6.3.3}{29}{\ttfamily gateway direct$|$recursive\relax }{section*.706}{}} \newlabel{bgp-igp-table}{{6.3.3}{29}{\ttfamily igp table {\it name\/}\relax }{section*.710}{}} \newlabel{bgp-check-link}{{6.3.3}{30}{\ttfamily check link {\it switch\/}\relax }{section*.713}{}} \newlabel{bgp-bfd}{{6.3.3}{30}{\ttfamily bfd {\it switch\/}$|$graceful\relax }{section*.716}{}} \newlabel{bgp-ttl-security}{{6.3.3}{30}{\ttfamily ttl security {\it switch\/}\relax }{section*.719}{}} \newlabel{bgp-pass}{{6.3.3}{30}{\ttfamily password {\it string\/}\relax }{section*.722}{}} \newlabel{bgp-setkey}{{6.3.3}{30}{\ttfamily setkey {\it switch\/}\relax }{section*.725}{}} \newlabel{bgp-passive}{{6.3.3}{30}{\ttfamily passive {\it switch\/}\relax }{section*.728}{}} \newlabel{bgp-rr-client}{{6.3.3}{30}{\ttfamily rr client\relax }{section*.731}{}} \newlabel{bgp-rr-cluster-id}{{6.3.3}{30}{\ttfamily rr cluster id {\it IPv4 address\/}\relax }{section*.734}{}} \newlabel{bgp-rs-client}{{6.3.3}{30}{\ttfamily rs client\relax }{section*.737}{}} \newlabel{bgp-secondary}{{6.3.3}{30}{\ttfamily secondary {\it switch\/}\relax }{section*.740}{}} \newlabel{bgp-add-paths}{{6.3.3}{31}{\ttfamily add paths {\it switch\/}$|$rx$|$tx\relax }{section*.743}{}} \newlabel{bgp-allow-local-pref}{{6.3.3}{31}{\ttfamily allow bgp\_local\_pref {\it switch\/}\relax }{section*.746}{}} \newlabel{bgp-allow-local-as}{{6.3.3}{31}{\ttfamily allow local as {[}{\it number\/}{]}\relax }{section*.749}{}} \newlabel{bgp-enable-route-refresh}{{6.3.3}{31}{\ttfamily enable route refresh {\it switch\/}\relax }{section*.752}{}} \newlabel{bgp-graceful-restart}{{6.3.3}{31}{\ttfamily graceful restart {\it switch\/}$|$aware\relax }{section*.755}{}} \newlabel{bgp-graceful-restart-time}{{6.3.3}{31}{\ttfamily graceful restart time {\it number\/}\relax }{section*.758}{}} \newlabel{bgp-long-lived-graceful-restart}{{6.3.3}{31}{\ttfamily long lived graceful restart {\it switch\/}$|$aware\relax }{section*.761}{}} \newlabel{bgp-long-lived-stale-time}{{6.3.3}{31}{\ttfamily long lived stale time {\it number\/}\relax }{section*.764}{}} \newlabel{bgp-interpret-communities}{{6.3.3}{31}{\ttfamily interpret communities {\it switch\/}\relax }{section*.767}{}} \newlabel{bgp-enable-as4}{{6.3.3}{32}{\ttfamily enable as4 {\it switch\/}\relax }{section*.770}{}} \newlabel{bgp-enable-extended-messages}{{6.3.3}{32}{\ttfamily enable extended messages {\it switch\/}\relax }{section*.773}{}} \newlabel{bgp-capabilities}{{6.3.3}{32}{\ttfamily capabilities {\it switch\/}\relax }{section*.776}{}} \newlabel{bgp-advertise-ipv4}{{6.3.3}{32}{\ttfamily advertise ipv4 {\it switch\/}\relax }{section*.779}{}} \newlabel{bgp-route-limit}{{6.3.3}{32}{\ttfamily route limit {\it number\/}\relax }{section*.782}{}} \newlabel{bgp-disable-after-error}{{6.3.3}{32}{\ttfamily disable after error {\it switch\/}\relax }{section*.785}{}} \newlabel{bgp-disable-after-cease}{{6.3.3}{32}{\ttfamily disable after cease {\it switch\/}$|${\it set-of-flags\/}\relax }{section*.788}{}} \newlabel{bgp-hold-time}{{6.3.3}{32}{\ttfamily hold time {\it number\/}\relax }{section*.792}{}} \newlabel{bgp-startup-hold-time}{{6.3.3}{32}{\ttfamily startup hold time {\it number\/}\relax }{section*.795}{}} \newlabel{bgp-keepalive-time}{{6.3.3}{32}{\ttfamily keepalive time {\it number\/}\relax }{section*.798}{}} \newlabel{bgp-connect-delay-time}{{6.3.3}{33}{\ttfamily connect delay time {\it number\/}\relax }{section*.801}{}} \newlabel{bgp-connect-retry-time}{{6.3.3}{33}{\ttfamily connect retry time {\it number\/}\relax }{section*.804}{}} \newlabel{bgp-error-wait-time}{{6.3.3}{33}{\ttfamily error wait time {\it number\/},{\it number\/}\relax }{section*.807}{}} \newlabel{bgp-error-forget-time}{{6.3.3}{33}{\ttfamily error forget time {\it number\/}\relax }{section*.810}{}} \newlabel{bgp-path-metric}{{6.3.3}{33}{\ttfamily path metric {\it switch\/}\relax }{section*.813}{}} \newlabel{bgp-med-metric}{{6.3.3}{33}{\ttfamily med metric {\it switch\/}\relax }{section*.816}{}} \newlabel{bgp-deterministic-med}{{6.3.3}{33}{\ttfamily deterministic med {\it switch\/}\relax }{section*.819}{}} \newlabel{bgp-igp-metric}{{6.3.3}{33}{\ttfamily igp metric {\it switch\/}\relax }{section*.822}{}} \newlabel{bgp-prefer-older}{{6.3.3}{33}{\ttfamily prefer older {\it switch\/}\relax }{section*.825}{}} \newlabel{bgp-default-med}{{6.3.3}{33}{\ttfamily default bgp\_med {\it number\/}\relax }{section*.828}{}} \newlabel{bgp-default-local-pref}{{6.3.3}{33}{\ttfamily default bgp\_local\_pref {\it number\/}\relax }{section*.831}{}} \newlabel{bgp-attr}{{6.3.4}{33}{Attributes\relax }{subsection.6.3.4}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.4}Attributes }{33}{subsection.6.3.4}} \newlabel{rta-bgp-path}{{6.3.4}{33}{\ttfamily bgppath bgp\_path\relax }{section*.836}{}} \newlabel{rta-bgp-local-pref}{{6.3.4}{34}{\ttfamily int bgp\_local\_pref {[}I{]}\relax }{section*.839}{}} \newlabel{rta-bgp-med}{{6.3.4}{34}{\ttfamily int bgp\_med {[}O{]}\relax }{section*.842}{}} \newlabel{rta-bgp-origin}{{6.3.4}{34}{\ttfamily enum bgp\_origin\relax }{section*.845}{}} \newlabel{rta-bgp-next-hop}{{6.3.4}{34}{\ttfamily ip bgp\_next\_hop\relax }{section*.848}{}} \newlabel{rta-bgp-atomic-aggr}{{6.3.4}{34}{\ttfamily void bgp\_atomic\_aggr {[}O{]}\relax }{section*.851}{}} \newlabel{rta-bgp-community}{{6.3.4}{34}{\ttfamily clist bgp\_community {[}O{]}\relax }{section*.854}{}} \newlabel{rta-bgp-ext-community}{{6.3.4}{34}{\ttfamily eclist bgp\_ext\_community {[}O{]}\relax }{section*.857}{}} \newlabel{rta-bgp-large-community}{{6.3.4}{34}{\ttfamily lclist bgp\_large\_community {[}O{]}\relax }{section*.860}{}} \newlabel{rta-bgp-originator-id}{{6.3.4}{34}{\ttfamily quad bgp\_originator\_id {[}I, O{]}\relax }{section*.863}{}} \newlabel{rta-bgp-cluster-list}{{6.3.4}{34}{\ttfamily clist bgp\_cluster\_list {[}I, O{]}\relax }{section*.866}{}} \newlabel{bgp-exam}{{6.3.5}{34}{Example\relax }{subsection.6.3.5}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.5}Example }{34}{subsection.6.3.5}} \newlabel{device}{{6.4}{35}{Device\relax }{section.6.4}{}} \@writefile{toc}{\contentsline {section}{\numberline {6.4}Device }{35}{section.6.4}} \newlabel{device-config}{{6.4.1}{35}{Configuration\relax }{subsection.6.4.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}Configuration }{35}{subsection.6.4.1}} \newlabel{device-scan-time}{{6.4.1}{35}{\ttfamily scan time {\it number\/}\relax }{section*.878}{}} \newlabel{device-primary}{{6.4.1}{35}{\ttfamily primary {[} "{\it mask\/}" {]} {\it prefix\/}\relax }{section*.881}{}} \newlabel{direct}{{6.5}{36}{Direct\relax }{section.6.5}{}} \@writefile{toc}{\contentsline {section}{\numberline {6.5}Direct }{36}{section.6.5}} \newlabel{direct-iface}{{6.5}{36}{\ttfamily interface {\it pattern\/} {[}, {\it ...\/}{]}\relax }{section*.900}{}} \newlabel{direct-check-link}{{6.5}{36}{\ttfamily check link {\it switch\/}\relax }{section*.903}{}} \newlabel{krt}{{6.6}{36}{Kernel\relax }{section.6.6}{}} \@writefile{toc}{\contentsline {section}{\numberline {6.6}Kernel }{36}{section.6.6}} \newlabel{krt-config}{{6.6.1}{37}{Configuration\relax }{subsection.6.6.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.6.1}Configuration }{37}{subsection.6.6.1}} \newlabel{krt-persist}{{6.6.1}{37}{\ttfamily persist {\it switch\/}\relax }{section*.922}{}} \newlabel{krt-scan-time}{{6.6.1}{37}{\ttfamily scan time {\it number\/}\relax }{section*.925}{}} \newlabel{krt-learn}{{6.6.1}{37}{\ttfamily learn {\it switch\/}\relax }{section*.928}{}} \newlabel{krt-device-routes}{{6.6.1}{37}{\ttfamily device routes {\it switch\/}\relax }{section*.931}{}} \newlabel{krt-kernel-table}{{6.6.1}{37}{\ttfamily kernel table {\it number\/}\relax }{section*.934}{}} \newlabel{krt-metric}{{6.6.1}{37}{\ttfamily metric {\it number\/}\relax }{section*.937}{}} \newlabel{krt-graceful-restart}{{6.6.1}{37}{\ttfamily graceful restart {\it switch\/}\relax }{section*.940}{}} \newlabel{krt-merge-paths}{{6.6.1}{37}{\ttfamily merge paths {\it switch\/} {[}limit {\it number\/}{]}\relax }{section*.943}{}} \newlabel{krt-attr}{{6.6.2}{37}{Attributes\relax }{subsection.6.6.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.6.2}Attributes }{37}{subsection.6.6.2}} \newlabel{rta-krt-source}{{6.6.2}{37}{\ttfamily int krt\_source\relax }{section*.948}{}} \newlabel{rta-krt-metric}{{6.6.2}{37}{\ttfamily int krt\_metric\relax }{section*.951}{}} \newlabel{rta-krt-prefsrc}{{6.6.2}{38}{\ttfamily ip krt\_prefsrc\relax }{section*.954}{}} \newlabel{rta-krt-realm}{{6.6.2}{38}{\ttfamily int krt\_realm\relax }{section*.957}{}} \newlabel{rta-krt-scope}{{6.6.2}{38}{\ttfamily int krt\_scope\relax }{section*.960}{}} \newlabel{krt-exam}{{6.6.3}{38}{Example\relax }{subsection.6.6.3}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.6.3}Example }{38}{subsection.6.6.3}} \newlabel{mrt}{{6.7}{38}{MRT\relax }{section.6.7}{}} \@writefile{toc}{\contentsline {section}{\numberline {6.7}MRT }{38}{section.6.7}} \newlabel{mrt-intro}{{6.7.1}{38}{Introduction\relax }{subsection.6.7.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.7.1}Introduction }{38}{subsection.6.7.1}} \newlabel{mrt-config}{{6.7.2}{39}{Configuration\relax }{subsection.6.7.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.7.2}Configuration }{39}{subsection.6.7.2}} \newlabel{mrt-table}{{6.7.2}{39}{\ttfamily table {\it name\/} $|$ "{\it pattern\/}"\relax }{section*.980}{}} \newlabel{mrt-filter}{{6.7.2}{39}{\ttfamily filter $\{$ {\it filter commands\/} $\}$\relax }{section*.983}{}} \newlabel{mrt-where}{{6.7.2}{39}{\ttfamily where {\it filter expression\/}\relax }{section*.986}{}} \newlabel{mrt-filename}{{6.7.2}{39}{\ttfamily filename "{\it filename\/}"\relax }{section*.989}{}} \newlabel{mrt-period}{{6.7.2}{39}{\ttfamily period {\it number\/}\relax }{section*.992}{}} \newlabel{mrt-always-add-path}{{6.7.2}{39}{\ttfamily always add path {\it switch\/}\relax }{section*.995}{}} \newlabel{mrt-exam}{{6.7.3}{39}{Example\relax }{subsection.6.7.3}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.7.3}Example }{39}{subsection.6.7.3}} \newlabel{ospf}{{6.8}{39}{OSPF\relax }{section.6.8}{}} \@writefile{toc}{\contentsline {section}{\numberline {6.8}OSPF }{39}{section.6.8}} \newlabel{ospf-intro}{{6.8.1}{39}{Introduction\relax }{subsection.6.8.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.8.1}Introduction }{39}{subsection.6.8.1}} \newlabel{ospf-config}{{6.8.2}{40}{Configuration\relax }{subsection.6.8.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.8.2}Configuration }{40}{subsection.6.8.2}} \newlabel{ospf-rfc1583compat}{{6.8.2}{42}{\ttfamily rfc1583compat {\it switch\/}\relax }{section*.1014}{}} \newlabel{ospf-instance-id}{{6.8.2}{42}{\ttfamily instance id {\it num\/}\relax }{section*.1017}{}} \newlabel{ospf-stub-router}{{6.8.2}{42}{\ttfamily stub router {\it switch\/}\relax }{section*.1020}{}} \newlabel{ospf-tick}{{6.8.2}{42}{\ttfamily tick {\it num\/}\relax }{section*.1023}{}} \newlabel{ospf-ecmp}{{6.8.2}{42}{\ttfamily ecmp {\it switch\/} {[}limit {\it number\/}{]}\relax }{section*.1026}{}} \newlabel{ospf-merge-external}{{6.8.2}{42}{\ttfamily merge external {\it switch\/}\relax }{section*.1029}{}} \newlabel{ospf-area}{{6.8.2}{42}{\ttfamily area {\it id\/}\relax }{section*.1032}{}} \newlabel{ospf-stub}{{6.8.2}{42}{\ttfamily stub\relax }{section*.1035}{}} \newlabel{ospf-nssa}{{6.8.2}{42}{\ttfamily nssa\relax }{section*.1038}{}} \newlabel{ospf-summary}{{6.8.2}{42}{\ttfamily summary {\it switch\/}\relax }{section*.1041}{}} \newlabel{ospf-default-nssa}{{6.8.2}{43}{\ttfamily default nssa {\it switch\/}\relax }{section*.1044}{}} \newlabel{ospf-default-cost}{{6.8.2}{43}{\ttfamily default cost {\it num\/}\relax }{section*.1047}{}} \newlabel{ospf-default-cost2}{{6.8.2}{43}{\ttfamily default cost2 {\it num\/}\relax }{section*.1050}{}} \newlabel{ospf-translator}{{6.8.2}{43}{\ttfamily translator {\it switch\/}\relax }{section*.1053}{}} \newlabel{ospf-translator-stability}{{6.8.2}{43}{\ttfamily translator stability {\it num\/}\relax }{section*.1056}{}} \newlabel{ospf-networks}{{6.8.2}{43}{\ttfamily networks $\{$ {\it set\/} $\}$\relax }{section*.1059}{}} \newlabel{ospf-external}{{6.8.2}{43}{\ttfamily external $\{$ {\it set\/} $\}$\relax }{section*.1062}{}} \newlabel{ospf-stubnet}{{6.8.2}{43}{\ttfamily stubnet {\it prefix\/} $\{$ {\it options\/} $\}$\relax }{section*.1065}{}} \newlabel{ospf-iface}{{6.8.2}{43}{\ttfamily interface {\it pattern\/} {[}instance {\it num\/}{]}\relax }{section*.1069}{}} \newlabel{ospf-virtual-link}{{6.8.2}{43}{\ttfamily virtual link {\it id\/} {[}instance {\it num\/}{]}\relax }{section*.1073}{}} \newlabel{ospf-cost}{{6.8.2}{43}{\ttfamily cost {\it num\/}\relax }{section*.1076}{}} \newlabel{ospf-stub-iface}{{6.8.2}{43}{\ttfamily stub {\it switch\/}\relax }{section*.1079}{}} \newlabel{ospf-hello}{{6.8.2}{44}{\ttfamily hello {\it num\/}\relax }{section*.1082}{}} \newlabel{ospf-poll}{{6.8.2}{44}{\ttfamily poll {\it num\/}\relax }{section*.1085}{}} \newlabel{ospf-retransmit}{{6.8.2}{44}{\ttfamily retransmit {\it num\/}\relax }{section*.1088}{}} \newlabel{ospf-transmit-delay}{{6.8.2}{44}{\ttfamily transmit delay {\it num\/}\relax }{section*.1091}{}} \newlabel{ospf-priority}{{6.8.2}{44}{\ttfamily priority {\it num\/}\relax }{section*.1094}{}} \newlabel{ospf-wait}{{6.8.2}{44}{\ttfamily wait {\it num\/}\relax }{section*.1097}{}} \newlabel{ospf-dead-count}{{6.8.2}{44}{\ttfamily dead count {\it num\/}\relax }{section*.1100}{}} \newlabel{ospf-dead}{{6.8.2}{44}{\ttfamily dead {\it num\/}\relax }{section*.1103}{}} \newlabel{ospf-secondary}{{6.8.2}{44}{\ttfamily secondary {\it switch\/}\relax }{section*.1106}{}} \newlabel{ospf-rx-buffer}{{6.8.2}{44}{\ttfamily rx buffer {\it num\/}\relax }{section*.1109}{}} \newlabel{ospf-tx-length}{{6.8.2}{44}{\ttfamily tx length {\it num\/}\relax }{section*.1112}{}} \newlabel{ospf-type-bcast}{{6.8.2}{44}{\ttfamily type broadcast$|$bcast\relax }{section*.1115}{}} \newlabel{ospf-type-ptp}{{6.8.2}{45}{\ttfamily type pointopoint$|$ptp\relax }{section*.1118}{}} \newlabel{ospf-type-nbma}{{6.8.2}{45}{\ttfamily type nonbroadcast$|$nbma\relax }{section*.1121}{}} \newlabel{ospf-type-ptmp}{{6.8.2}{45}{\ttfamily type pointomultipoint$|$ptmp\relax }{section*.1124}{}} \newlabel{ospf-link-lsa-suppression}{{6.8.2}{45}{\ttfamily link lsa suppression {\it switch\/}\relax }{section*.1127}{}} \newlabel{ospf-strict-nonbroadcast}{{6.8.2}{45}{\ttfamily strict nonbroadcast {\it switch\/}\relax }{section*.1130}{}} \newlabel{ospf-real-broadcast}{{6.8.2}{45}{\ttfamily real broadcast {\it switch\/}\relax }{section*.1133}{}} \newlabel{ospf-ptp-netmask}{{6.8.2}{45}{\ttfamily ptp netmask {\it switch\/}\relax }{section*.1136}{}} \newlabel{ospf-check-link}{{6.8.2}{45}{\ttfamily check link {\it switch\/}\relax }{section*.1139}{}} \newlabel{ospf-bfd}{{6.8.2}{45}{\ttfamily bfd {\it switch\/}\relax }{section*.1142}{}} \newlabel{ospf-ttl-security}{{6.8.2}{45}{\ttfamily ttl security {[}{\it switch\/} $|$ tx only{]}\relax }{section*.1145}{}} \newlabel{ospf-tx-class}{{6.8.2}{46}{\ttfamily tx class$|$dscp$|$priority {\it num\/}\relax }{section*.1149}{}} \newlabel{ospf-ecmp-weight}{{6.8.2}{46}{\ttfamily ecmp weight {\it num\/}\relax }{section*.1152}{}} \newlabel{ospf-auth-none}{{6.8.2}{46}{\ttfamily authentication none\relax }{section*.1155}{}} \newlabel{ospf-auth-simple}{{6.8.2}{46}{\ttfamily authentication simple\relax }{section*.1158}{}} \newlabel{ospf-auth-cryptographic}{{6.8.2}{46}{\ttfamily authentication cryptographic\relax }{section*.1161}{}} \newlabel{ospf-pass}{{6.8.2}{46}{\ttfamily password "{\it text\/}"\relax }{section*.1164}{}} \newlabel{ospf-neighbors}{{6.8.2}{46}{\ttfamily neighbors $\{$ {\it set\/} $\}$\relax }{section*.1167}{}} \newlabel{ospf-attr}{{6.8.3}{46}{Attributes\relax }{subsection.6.8.3}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.8.3}Attributes }{46}{subsection.6.8.3}} \newlabel{ospf-exam}{{6.8.4}{46}{Example\relax }{subsection.6.8.4}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.8.4}Example }{46}{subsection.6.8.4}} \newlabel{pipe}{{6.9}{47}{Pipe\relax }{section.6.9}{}} \@writefile{toc}{\contentsline {section}{\numberline {6.9}Pipe }{47}{section.6.9}} \newlabel{pipe-intro}{{6.9.1}{47}{Introduction\relax }{subsection.6.9.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.9.1}Introduction }{47}{subsection.6.9.1}} \newlabel{pipe-config}{{6.9.2}{48}{Configuration\relax }{subsection.6.9.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.9.2}Configuration }{48}{subsection.6.9.2}} \newlabel{pipe-peer-table}{{6.9.2}{48}{\ttfamily peer table {\it table\/}\relax }{section*.1188}{}} \newlabel{pipe-mode}{{6.9.2}{48}{\ttfamily mode opaque$|$transparent\relax }{section*.1191}{}} \newlabel{pipe-attr}{{6.9.3}{48}{Attributes\relax }{subsection.6.9.3}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.9.3}Attributes }{48}{subsection.6.9.3}} \newlabel{pipe-exam}{{6.9.4}{48}{Example\relax }{subsection.6.9.4}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.9.4}Example }{48}{subsection.6.9.4}} \newlabel{radv}{{6.10}{49}{RAdv\relax }{section.6.10}{}} \@writefile{toc}{\contentsline {section}{\numberline {6.10}RAdv }{49}{section.6.10}} \newlabel{radv-intro}{{6.10.1}{49}{Introduction\relax }{subsection.6.10.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.10.1}Introduction }{49}{subsection.6.10.1}} \newlabel{radv-config}{{6.10.2}{49}{Configuration\relax }{subsection.6.10.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.10.2}Configuration }{49}{subsection.6.10.2}} \newlabel{radv-iface}{{6.10.2}{49}{\ttfamily interface {\it pattern\/} {[}, {\it ...\/}{]} $\{$ {\it options\/} $\}$\relax }{section*.1206}{}} \newlabel{radv-prefix}{{6.10.2}{50}{\ttfamily prefix {\it prefix\/} $\{$ {\it options\/} $\}$\relax }{section*.1209}{}} \newlabel{radv-rdnss}{{6.10.2}{50}{\ttfamily rdnss $\{$ {\it options\/} $\}$\relax }{section*.1213}{}} \newlabel{radv-dnssl}{{6.10.2}{50}{\ttfamily dnssl $\{$ {\it options\/} $\}$\relax }{section*.1216}{}} \newlabel{radv-trigger}{{6.10.2}{50}{\ttfamily trigger {\it prefix\/}\relax }{section*.1219}{}} \newlabel{radv-propagate-routes}{{6.10.2}{50}{\ttfamily propagate routes {\it switch\/}\relax }{section*.1223}{}} \newlabel{radv-iface-max-ra-interval}{{6.10.2}{50}{\ttfamily max ra interval {\it expr\/}\relax }{section*.1229}{}} \newlabel{radv-iface-min-ra-interval}{{6.10.2}{50}{\ttfamily min ra interval {\it expr\/}\relax }{section*.1232}{}} \newlabel{radv-iface-min-delay}{{6.10.2}{50}{\ttfamily min delay {\it expr\/}\relax }{section*.1235}{}} \newlabel{radv-iface-managed}{{6.10.2}{50}{\ttfamily managed {\it switch\/}\relax }{section*.1238}{}} \newlabel{radv-iface-other-config}{{6.10.2}{51}{\ttfamily other config {\it switch\/}\relax }{section*.1241}{}} \newlabel{radv-iface-link-mtu}{{6.10.2}{51}{\ttfamily link mtu {\it expr\/}\relax }{section*.1244}{}} \newlabel{radv-iface-reachable-time}{{6.10.2}{51}{\ttfamily reachable time {\it expr\/}\relax }{section*.1247}{}} \newlabel{radv-iface-retrans-timer}{{6.10.2}{51}{\ttfamily retrans timer {\it expr\/}\relax }{section*.1250}{}} \newlabel{radv-iface-current-hop-limit}{{6.10.2}{51}{\ttfamily current hop limit {\it expr\/}\relax }{section*.1253}{}} \newlabel{radv-iface-default-lifetime}{{6.10.2}{51}{\ttfamily default lifetime {\it expr\/} {[}sensitive {\it switch\/}{]}\relax }{section*.1256}{}} \newlabel{radv-iface-default-preference}{{6.10.2}{51}{\ttfamily default preference low$|$medium$|$high\relax }{section*.1259}{}} \newlabel{radv-iface-route-lifetime}{{6.10.2}{51}{\ttfamily route lifetime {\it expr\/} {[}sensitive {\it switch\/}{]}\relax }{section*.1262}{}} \newlabel{radv-iface-route-preference}{{6.10.2}{51}{\ttfamily route preference low$|$medium$|$high\relax }{section*.1266}{}} \newlabel{radv-prefix-linger-time}{{6.10.2}{51}{\ttfamily prefix linger time {\it expr\/}\relax }{section*.1269}{}} \newlabel{radv-route-linger-time}{{6.10.2}{51}{\ttfamily route linger time {\it expr\/}\relax }{section*.1272}{}} \newlabel{radv-iface-rdnss-local}{{6.10.2}{51}{\ttfamily rdnss local {\it switch\/}\relax }{section*.1275}{}} \newlabel{radv-iface-dnssl-local}{{6.10.2}{51}{\ttfamily dnssl local {\it switch\/}\relax }{section*.1278}{}} \newlabel{radv-prefix-skip}{{6.10.2}{51}{\ttfamily skip {\it switch\/}\relax }{section*.1284}{}} \newlabel{radv-prefix-onlink}{{6.10.2}{52}{\ttfamily onlink {\it switch\/}\relax }{section*.1287}{}} \newlabel{radv-prefix-autonomous}{{6.10.2}{52}{\ttfamily autonomous {\it switch\/}\relax }{section*.1290}{}} \newlabel{radv-prefix-valid-lifetime}{{6.10.2}{52}{\ttfamily valid lifetime {\it expr\/} {[}sensitive {\it switch\/}{]}\relax }{section*.1293}{}} \newlabel{radv-prefix-preferred-lifetime}{{6.10.2}{52}{\ttfamily preferred lifetime {\it expr\/} {[}sensitive {\it switch\/}{]}\relax }{section*.1296}{}} \newlabel{radv-rdnss-ns}{{6.10.2}{52}{\ttfamily ns {\it address\/}\relax }{section*.1301}{}} \newlabel{radv-rdnss-lifetime}{{6.10.2}{52}{\ttfamily lifetime {[}mult{]} {\it expr\/}\relax }{section*.1304}{}} \newlabel{radv-dnssl-domain}{{6.10.2}{52}{\ttfamily domain {\it address\/}\relax }{section*.1310}{}} \newlabel{radv-dnssl-lifetime}{{6.10.2}{52}{\ttfamily lifetime {[}mult{]} {\it expr\/}\relax }{section*.1313}{}} \newlabel{radv-attr}{{6.10.3}{52}{Attributes\relax }{subsection.6.10.3}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.10.3}Attributes }{52}{subsection.6.10.3}} \newlabel{rta-ra-preference}{{6.10.3}{52}{\ttfamily enum ra\_preference\relax }{section*.1318}{}} \newlabel{rta-ra-lifetime}{{6.10.3}{52}{\ttfamily int ra\_lifetime\relax }{section*.1321}{}} \newlabel{radv-exam}{{6.10.4}{52}{Example\relax }{subsection.6.10.4}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.10.4}Example }{52}{subsection.6.10.4}} \newlabel{rip}{{6.11}{54}{RIP\relax }{section.6.11}{}} \@writefile{toc}{\contentsline {section}{\numberline {6.11}RIP }{54}{section.6.11}} \newlabel{rip-intro}{{6.11.1}{54}{Introduction\relax }{subsection.6.11.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.11.1}Introduction }{54}{subsection.6.11.1}} \newlabel{rip-config}{{6.11.2}{54}{Configuration\relax }{subsection.6.11.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.11.2}Configuration }{54}{subsection.6.11.2}} \newlabel{rip-infinity}{{6.11.2}{55}{\ttfamily infinity {\it number\/}\relax }{section*.1336}{}} \newlabel{rip-ecmp}{{6.11.2}{55}{\ttfamily ecmp {\it switch\/} {[}limit {\it number\/}{]}\relax }{section*.1339}{}} \newlabel{rip-iface}{{6.11.2}{55}{\ttfamily interface {\it pattern\/} {[}, {\it ...\/}{]} $\{$ {\it options\/} $\}$\relax }{section*.1342}{}} \newlabel{rip-iface-metric}{{6.11.2}{55}{\ttfamily metric {\it num\/}\relax }{section*.1347}{}} \newlabel{rip-iface-mode}{{6.11.2}{55}{\ttfamily mode multicast$|$broadcast\relax }{section*.1350}{}} \newlabel{rip-iface-passive}{{6.11.2}{55}{\ttfamily passive {\it switch\/}\relax }{section*.1353}{}} \newlabel{rip-iface-address}{{6.11.2}{55}{\ttfamily address {\it ip\/}\relax }{section*.1356}{}} \newlabel{rip-iface-port}{{6.11.2}{55}{\ttfamily port {\it number\/}\relax }{section*.1359}{}} \newlabel{rip-iface-version}{{6.11.2}{55}{\ttfamily version 1$|$2\relax }{section*.1362}{}} \newlabel{rip-iface-version-only}{{6.11.2}{55}{\ttfamily version only {\it switch\/}\relax }{section*.1365}{}} \newlabel{rip-iface-split-horizon}{{6.11.2}{55}{\ttfamily split horizon {\it switch\/}\relax }{section*.1368}{}} \newlabel{rip-iface-poison-reverse}{{6.11.2}{55}{\ttfamily poison reverse {\it switch\/}\relax }{section*.1371}{}} \newlabel{rip-iface-check-zero}{{6.11.2}{56}{\ttfamily check zero {\it switch\/}\relax }{section*.1374}{}} \newlabel{rip-iface-update-time}{{6.11.2}{56}{\ttfamily update time {\it number\/}\relax }{section*.1377}{}} \newlabel{rip-iface-timeout-time}{{6.11.2}{56}{\ttfamily timeout time {\it number\/}\relax }{section*.1380}{}} \newlabel{rip-iface-garbage-time}{{6.11.2}{56}{\ttfamily garbage time {\it number\/}\relax }{section*.1383}{}} \newlabel{rip-iface-ecmp-weight}{{6.11.2}{56}{\ttfamily ecmp weight {\it number\/}\relax }{section*.1386}{}} \newlabel{rip-iface-auth}{{6.11.2}{56}{\ttfamily authentication none$|$plaintext$|$cryptographic\relax }{section*.1389}{}} \newlabel{rip-iface-pass}{{6.11.2}{56}{\ttfamily password "{\it text\/}"\relax }{section*.1392}{}} \newlabel{rip-iface-ttl-security}{{6.11.2}{56}{\ttfamily ttl security {[}{\it switch\/} $|$ tx only{]}\relax }{section*.1395}{}} \newlabel{rip-iface-tx-class}{{6.11.2}{56}{\ttfamily tx class$|$dscp$|$priority {\it number\/}\relax }{section*.1400}{}} \newlabel{rip-iface-rx-buffer}{{6.11.2}{56}{\ttfamily rx buffer {\it number\/}\relax }{section*.1403}{}} \newlabel{rip-iface-tx-length}{{6.11.2}{56}{\ttfamily tx length {\it number\/}\relax }{section*.1406}{}} \newlabel{rip-iface-check-link}{{6.11.2}{56}{\ttfamily check link {\it switch\/}\relax }{section*.1409}{}} \newlabel{rip-attr}{{6.11.3}{57}{Attributes\relax }{subsection.6.11.3}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.11.3}Attributes }{57}{subsection.6.11.3}} \newlabel{rta-rip-metric}{{6.11.3}{57}{\ttfamily int rip\_metric\relax }{section*.1414}{}} \newlabel{rta-rip-tag}{{6.11.3}{57}{\ttfamily int rip\_tag\relax }{section*.1417}{}} \newlabel{rip-exam}{{6.11.4}{57}{Example\relax }{subsection.6.11.4}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.11.4}Example }{57}{subsection.6.11.4}} \newlabel{static}{{6.12}{57}{Static\relax }{section.6.12}{}} \@writefile{toc}{\contentsline {section}{\numberline {6.12}Static }{57}{section.6.12}} \newlabel{static-check-link}{{6.12}{57}{\ttfamily check link {\it switch\/}\relax }{section*.1433}{}} \newlabel{static-igp-table}{{6.12}{58}{\ttfamily igp table {\it name\/}\relax }{section*.1436}{}} \newlabel{static-route-via-ip}{{6.12}{58}{\ttfamily route {\it prefix\/} via {\it ip\/}\relax }{section*.1441}{}} \newlabel{static-route-via-mpath}{{6.12}{58}{\ttfamily route {\it prefix\/} multipath via {\it ip\/} {[}weight {\it num\/}{]} {[}bfd {\it switch\/}{]} {[}via {\it ...\/}{]}\relax }{section*.1444}{}} \newlabel{static-route-via-iface}{{6.12}{58}{\ttfamily route {\it prefix\/} via {\it "interface"\/}\relax }{section*.1447}{}} \newlabel{static-route-recursive}{{6.12}{58}{\ttfamily route {\it prefix\/} recursive {\it ip\/}\relax }{section*.1450}{}} \newlabel{static-route-drop}{{6.12}{58}{\ttfamily route {\it prefix\/} blackhole$|$unreachable$|$prohibit\relax }{section*.1453}{}} \newlabel{static-route-bfd}{{6.12}{58}{\ttfamily bfd {\it switch\/}\relax }{section*.1458}{}} \newlabel{static-route-filter}{{6.12}{58}{\ttfamily \it filter expression\/\relax }{section*.1462}{}} \@writefile{toc}{\contentsline {chapter}{\numberline {7}Conclusions }{60}{chapter.7}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{conclusion}{{7}{60}{Conclusions\relax }{chapter.7}{}} \newlabel{future-work}{{7.1}{60}{Future work\relax }{section.7.1}{}} \@writefile{toc}{\contentsline {section}{\numberline {7.1}Future work }{60}{section.7.1}} \newlabel{help}{{7.2}{60}{Getting more help\relax }{section.7.2}{}} \@writefile{toc}{\contentsline {section}{\numberline {7.2}Getting more help }{60}{section.7.2}}