Annotation of embedaddon/bird/doc/bird-4.html, revision 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>