Annotation of embedaddon/bird/doc/bird-4.html, revision 1.1.1.1

1.1       misho       1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
                      2: <HTML>
                      3: <HEAD>
                      4:  <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 1.0.9">
                      5:  <TITLE>BIRD User's Guide: Remote control</TITLE>
                      6:  <LINK HREF="bird-5.html" REL=next>
                      7:  <LINK HREF="bird-3.html" REL=previous>
                      8:  <LINK HREF="bird.html#toc4" REL=contents>
                      9: </HEAD>
                     10: <BODY>
                     11: <A HREF="bird-5.html">Next</A>
                     12: <A HREF="bird-3.html">Previous</A>
                     13: <A HREF="bird.html#toc4">Contents</A>
                     14: <HR>
                     15: <H2><A NAME="remote-control"></A> <A NAME="s4">4.</A> <A HREF="bird.html#toc4">Remote control</A></H2>
                     16: 
                     17: <P>You can use the command-line client <CODE>birdc</CODE> to talk with a running
                     18: BIRD. Communication is done using a <CODE>bird.ctl</CODE> UNIX domain socket (unless
                     19: changed with the <CODE>-s</CODE> option given to both the server and the client). The
                     20: commands can perform simple actions such as enabling/disabling of protocols,
                     21: telling BIRD to show various information, telling it to show routing table
                     22: filtered by filter, or asking BIRD to reconfigure. Press <CODE>?</CODE> at any time to
                     23: get online help. Option <CODE>-r</CODE> can be used to enable a restricted mode of BIRD
                     24: client, which allows just read-only commands (<CODE>show ...</CODE>). Option <CODE>-v</CODE> can
                     25: be passed to the client, to make it dump numeric return codes along with the
                     26: messages. You do not necessarily need to use <CODE>birdc</CODE> to talk to BIRD, your
                     27: own applications could do that, too -- the format of communication between BIRD
                     28: and <CODE>birdc</CODE> is stable (see the programmer's documentation).
                     29: <P>
                     30: <P>There is also lightweight variant of BIRD client called <CODE>birdcl</CODE>, which
                     31: does not support command line editing and history and has minimal dependencies.
                     32: This is useful for running BIRD in resource constrained environments, where
                     33: Readline library (required for regular BIRD client) is not available.
                     34: <P>
                     35: <P>Many commands have the <I>name</I> of the protocol instance as an argument.
                     36: This argument can be omitted if there exists only a single instance.
                     37: <P>
                     38: <P>Here is a brief list of supported functions:
                     39: <P>
                     40: <DL>
                     41: <DT><CODE>
                     42: <A NAME="cli-show-status"></A> show status</CODE><DD><P>Show router status, that is BIRD version, uptime and time from last
                     43: reconfiguration.
                     44: <P>
                     45: <DT><CODE>
                     46: <A NAME="cli-show-interfaces"></A> show interfaces [summary]</CODE><DD><P>Show the list of interfaces. For each interface, print its type, state,
                     47: MTU and addresses assigned.
                     48: <P>
                     49: <DT><CODE>
                     50: <A NAME="cli-show-protocols"></A> show protocols [all]</CODE><DD><P>Show list of protocol instances along with tables they are connected to
                     51: and protocol status, possibly giving verbose information, if <CODE>all</CODE> is
                     52: specified.
                     53: <P>
                     54: <DT><CODE>
                     55: <A NAME="cli-show-ospf-iface"></A> show ospf interface [<I>name</I>] ["<I>interface</I>"]</CODE><DD><P>Show detailed information about OSPF interfaces.
                     56: <P>
                     57: <DT><CODE>
                     58: <A NAME="cli-show-ospf-neighbors"></A> show ospf neighbors [<I>name</I>] ["<I>interface</I>"]</CODE><DD><P>Show a list of OSPF neighbors and a state of adjacency to them.
                     59: <P>
                     60: <DT><CODE>
                     61: <A NAME="cli-show-ospf-state"></A> show ospf state [all] [<I>name</I>]</CODE><DD><P>Show detailed information about OSPF areas based on a content of the
                     62: link-state database. It shows network topology, stub networks,
                     63: aggregated networks and routers from other areas and external routes.
                     64: The command shows information about reachable network nodes, use option
                     65: <CODE>all</CODE> to show information about all network nodes in the link-state
                     66: database.
                     67: <P>
                     68: <DT><CODE>
                     69: <A NAME="cli-show-ospf-topology"></A> show ospf topology [all] [<I>name</I>]</CODE><DD><P>Show a topology of OSPF areas based on a content of the link-state
                     70: database. It is just a stripped-down version of 'show ospf state'.
                     71: <P>
                     72: <DT><CODE>
                     73: <A NAME="cli-show-ospf-lsadb"></A> show ospf lsadb [global | area <I>id</I> | link] [type <I>num</I>] [lsid <I>id</I>] [self | router <I>id</I>] [<I>name</I>] </CODE><DD><P>Show contents of an OSPF LSA database. Options could be used to filter
                     74: entries.
                     75: <P>
                     76: <DT><CODE>
                     77: <A NAME="cli-show-rip-interfaces"></A> show rip interfaces [<I>name</I>] ["<I>interface</I>"]</CODE><DD><P>Show detailed information about RIP interfaces.
                     78: <P>
                     79: <DT><CODE>
                     80: <A NAME="cli-show-rip-neighbors"></A> show rip neighbors [<I>name</I>] ["<I>interface</I>"]</CODE><DD><P>Show a list of RIP neighbors and associated state.
                     81: <P>
                     82: <DT><CODE>
                     83: <A NAME="cli-show-static"></A> show static [<I>name</I>]</CODE><DD><P>Show detailed information about static routes.
                     84: <P>
                     85: <DT><CODE>
                     86: <A NAME="cli-show-bfd-sessions"></A> show bfd sessions [<I>name</I>]</CODE><DD><P>Show information about BFD sessions.
                     87: <P>
                     88: <DT><CODE>
                     89: <A NAME="cli-show-symbols"></A> show symbols [table|filter|function|protocol|template|roa|<I>symbol</I>]</CODE><DD><P>Show the list of symbols defined in the configuration (names of
                     90: protocols, routing tables etc.).
                     91: <P>
                     92: <DT><CODE>
                     93: <A NAME="cli-show-route"></A> show route [[for] <I>prefix</I>|<I>IP</I>] [table <I>t</I>] [filter <I>f</I>|where <I>c</I>] [(export|preexport|noexport) <I>p</I>] [protocol <I>p</I>] [<I>options</I>]</CODE><DD><P>Show contents of a routing table (by default of the main one or the
                     94: table attached to a respective protocol), that is routes, their metrics
                     95: and (in case the <CODE>all</CODE> switch is given) all their attributes.
                     96: <P>
                     97: <P>You can specify a <I>prefix</I> if you want to print routes for a
                     98: specific network. If you use <CODE>for <I>prefix or IP</I></CODE>, you'll get
                     99: the entry which will be used for forwarding of packets to the given
                    100: destination. By default, all routes for each network are printed with
                    101: the selected one at the top, unless <CODE>primary</CODE> is given in which case
                    102: only the selected route is shown.
                    103: <P>
                    104: <P>You can also ask for printing only routes processed and accepted by
                    105: a given filter (<CODE>filter <I>name</I></CODE> or <CODE>filter { <I>filter</I> }</CODE> or matching a given condition (<CODE>where <I>condition</I></CODE>).
                    106: <P>The <CODE>export</CODE>, <CODE>preexport</CODE> and <CODE>noexport</CODE> switches ask for
                    107: printing of routes that are exported to the specified protocol.
                    108: With <CODE>preexport</CODE>, the export filter of the protocol is skipped.
                    109: With <CODE>noexport</CODE>, routes rejected by the export filter are printed
                    110: instead. Note that routes not exported to the protocol for other reasons
                    111: (e.g. secondary routes or routes imported from that protocol) are not
                    112: printed even with <CODE>noexport</CODE>.
                    113: <P>
                    114: <P>You can also select just routes added by a specific protocol.
                    115: <CODE>protocol <I>p</I></CODE>.
                    116: <P>
                    117: <P>If BIRD is configured to keep filtered routes (see <CODE>import keep
                    118: filtered</CODE> option), you can show them instead of routes by using
                    119: <CODE>filtered</CODE> switch.
                    120: <P>
                    121: <P>The <CODE>stats</CODE> switch requests showing of route statistics (the
                    122: number of networks, number of routes before and after filtering). If
                    123: you use <CODE>count</CODE> instead, only the statistics will be printed.
                    124: <P>
                    125: <DT><CODE>
                    126: <A NAME="cli-show-roa"></A> show roa [<I>prefix</I> | in <I>prefix</I> | for <I>prefix</I>] [as <I>num</I>] [table <I>t</I>]</CODE><DD><P>Show contents of a ROA table (by default of the first one). You can
                    127: specify a <I>prefix</I> to print ROA entries for a specific network. If you
                    128: use <CODE>for <I>prefix</I></CODE>, you'll get all entries relevant for route
                    129: validation of the network prefix; i.e., ROA entries whose prefixes cover
                    130: the network prefix. Or you can use <CODE>in <I>prefix</I></CODE> to get ROA
                    131: entries covered by the network prefix. You could also use <CODE>as</CODE> option
                    132: to show just entries for given AS.
                    133: <P>
                    134: <DT><CODE>
                    135: <A NAME="cli-add-roa"></A> add roa <I>prefix</I> max <I>num</I> as <I>num</I> [table <I>t</I>]</CODE><DD><P>Add a new ROA entry to a ROA table. Such entry is called <I>dynamic</I>
                    136: compared to <I>static</I> entries specified in the config file. These
                    137: dynamic entries survive reconfiguration.
                    138: <P>
                    139: <DT><CODE>
                    140: <A NAME="cli-delete-roa"></A> delete roa <I>prefix</I> max <I>num</I> as <I>num</I> [table <I>t</I>]</CODE><DD><P>Delete the specified ROA entry from a ROA table. Only dynamic ROA
                    141: entries (i.e., the ones added by <CODE>add roa</CODE> command) can be deleted.
                    142: <P>
                    143: <DT><CODE>
                    144: <A NAME="cli-flush-roa"></A> flush roa [table <I>t</I>]</CODE><DD><P>Remove all dynamic ROA entries from a ROA table.
                    145: <P>
                    146: <DT><CODE>
                    147: <A NAME="cli-configure"></A> configure [soft] ["<I>config file</I>"] [timeout [<I>num</I>]]</CODE><DD><P>Reload configuration from a given file. BIRD will smoothly switch itself
                    148: to the new configuration, protocols are reconfigured if possible,
                    149: restarted otherwise. Changes in filters usually lead to restart of
                    150: affected protocols.
                    151: <P>If <CODE>soft</CODE> option is used, changes in filters does not cause BIRD to
                    152: restart affected protocols, therefore already accepted routes (according
                    153: to old filters) would be still propagated, but new routes would be
                    154: processed according to the new filters.
                    155: <P>If <CODE>timeout</CODE> option is used, config timer is activated. The new
                    156: configuration could be either confirmed using <CODE>configure confirm</CODE>
                    157: command, or it will be reverted to the old one when the config timer
                    158: expires. This is useful for cases when reconfiguration breaks current
                    159: routing and a router becomes inaccessible for an administrator. The
                    160: config timeout expiration is equivalent to <CODE>configure undo</CODE>
                    161: command. The timeout duration could be specified, default is 300 s.
                    162: <P>
                    163: <DT><CODE>
                    164: <A NAME="cli-configure-confirm"></A> configure confirm</CODE><DD><P>Deactivate the config undo timer and therefore confirm the current
                    165: configuration.
                    166: <P>
                    167: <DT><CODE>
                    168: <A NAME="cli-configure-undo"></A> configure undo</CODE><DD><P>Undo the last configuration change and smoothly switch back to the
                    169: previous (stored) configuration. If the last configuration change was
                    170: soft, the undo change is also soft. There is only one level of undo, but
                    171: in some specific cases when several reconfiguration requests are given
                    172: immediately in a row and the intermediate ones are skipped then the undo
                    173: also skips them back.
                    174: <P>
                    175: <DT><CODE>
                    176: <A NAME="cli-configure-check"></A> configure check ["<I>config file</I>"]</CODE><DD><P>Read and parse given config file, but do not use it. useful for checking
                    177: syntactic and some semantic validity of an config file.
                    178: <P>
                    179: <DT><CODE>
                    180: <A NAME="cli-enable-disable-restart"></A> enable|disable|restart <I>name</I>|"<I>pattern</I>"|all</CODE><DD><P>Enable, disable or restart a given protocol instance, instances matching
                    181: the <CODE><I>pattern</I></CODE> or <CODE>all</CODE> instances.
                    182: <P>
                    183: <DT><CODE>
                    184: <A NAME="cli-reload"></A> reload [in|out] <I>name</I>|"<I>pattern</I>"|all</CODE><DD><P>Reload a given protocol instance, that means re-import routes from the
                    185: protocol instance and re-export preferred routes to the instance. If
                    186: <CODE>in</CODE> or <CODE>out</CODE> options are used, the command is restricted to one
                    187: direction (re-import or re-export).
                    188: <P>This command is useful if appropriate filters have changed but the
                    189: protocol instance was not restarted (or reloaded), therefore it still
                    190: propagates the old set of routes. For example when <CODE>configure soft</CODE>
                    191: command was used to change filters.
                    192: <P>Re-export always succeeds, but re-import is protocol-dependent and might
                    193: fail (for example, if BGP neighbor does not support route-refresh
                    194: extension). In that case, re-export is also skipped. Note that for the
                    195: pipe protocol, both directions are always reloaded together (<CODE>in</CODE> or
                    196: <CODE>out</CODE> options are ignored in that case).
                    197: <P>
                    198: <DT><CODE>
                    199: <A NAME="cli-down"></A> down</CODE><DD><P>Shut BIRD down.
                    200: <P>
                    201: <DT><CODE>
                    202: <A NAME="cli-debug"></A> debug <I>protocol</I>|<I>pattern</I>|all all|off|{ states|routes|filters|events|packets [, <I>...</I>] }</CODE><DD><P>Control protocol debugging.
                    203: <P>
                    204: <DT><CODE>
                    205: <A NAME="cli-dump"></A> dump resources|sockets|interfaces|neighbors|attributes|routes|protocols</CODE><DD><P>Dump contents of internal data structures to the debugging output.
                    206: <P>
                    207: <DT><CODE>
                    208: <A NAME="cli-echo"></A> echo all|off|{ <I>list of log classes</I> } [ <I>buffer-size</I> ]</CODE><DD><P>Control echoing of log messages to the command-line output.
                    209: See 
                    210: <A HREF="bird-3.html#opt-log">log option</A> for a list of log classes.
                    211: <P>
                    212: <DT><CODE>
                    213: <A NAME="cli-eval"></A> eval <I>expr</I></CODE><DD><P>Evaluate given expression.
                    214: </DL>
                    215: <P>
                    216: <P>
                    217: <HR>
                    218: <A HREF="bird-5.html">Next</A>
                    219: <A HREF="bird-3.html">Previous</A>
                    220: <A HREF="bird.html#toc4">Contents</A>
                    221: </BODY>
                    222: </HTML>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>