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>