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>