Upon global delete, make to remove all FECs, NH, IFs, ADDRs, ATTRs
[mpls-ldp-portable.git] / quagga-mpls.diff
blob01bfae49c35a4b91210db28bd35cddbd796760b6
1 diff --exclude=rsvpd -uNr quagga/bgpd/bgpd.c quagga-mpls/bgpd/bgpd.c
2 --- quagga/bgpd/bgpd.c 2004-02-25 13:41:58.000000000 -0600
3 +++ quagga-mpls/bgpd/bgpd.c 2004-02-25 13:57:42.000000000 -0600
4 @@ -63,6 +63,8 @@
5 /* BGP process wide configuration. */
6 static struct bgp_master bgp_master;
8 +extern struct in_addr router_id_zebra;
10 /* BGP process wide configuration pointer to export. */
11 struct bgp_master *bm;
13 @@ -179,38 +181,6 @@
14 return 0;
17 -/* Unset BGP router identifier. */
18 -int
19 -bgp_router_id_unset (struct bgp *bgp)
21 - struct peer *peer;
22 - struct listnode *nn;
24 - if (! bgp_config_check (bgp, BGP_CONFIG_ROUTER_ID))
25 - return 0;
27 - bgp->router_id.s_addr = 0;
28 - bgp_config_unset (bgp, BGP_CONFIG_ROUTER_ID);
30 - /* Clear peer router id configuration. */
31 - LIST_LOOP (bgp->peer, peer, nn)
32 - {
33 - peer->local_id.s_addr = 0;
34 - }
36 - /* Set router-id from interface's address. */
37 - bgp_if_update_all ();
39 - /* Reset all BGP sessions to use new router-id. */
40 - LIST_LOOP (bgp->peer, peer, nn)
41 - {
42 - if (peer->status == Established)
43 - bgp_notify_send (peer, BGP_NOTIFY_CEASE,
44 - BGP_NOTIFY_CEASE_CONFIG_CHANGE);
45 - }
47 - return 0;
50 /* BGP's cluster-id control. */
51 int
52 @@ -1740,7 +1710,7 @@
54 bgp = bgp_create (as, name);
55 listnode_add (bm->bgp, bgp);
56 - bgp_if_update_all ();
57 + bgp_router_id_set(bgp, &router_id_zebra);
58 *bgp_val = bgp;
60 return 0;
61 diff --exclude=rsvpd -uNr quagga/bgpd/bgpd.h quagga-mpls/bgpd/bgpd.h
62 --- quagga/bgpd/bgpd.h 2004-02-25 13:42:00.000000000 -0600
63 +++ quagga-mpls/bgpd/bgpd.h 2004-02-25 13:57:43.000000000 -0600
64 @@ -74,6 +74,7 @@
66 /* BGP router identifier. */
67 struct in_addr router_id;
68 + struct in_addr router_id_static;
70 /* BGP route reflector cluster ID. */
71 struct in_addr cluster_id;
72 diff --exclude=rsvpd -uNr quagga/bgpd/bgp_vty.c quagga-mpls/bgpd/bgp_vty.c
73 --- quagga/bgpd/bgp_vty.c 2004-02-25 13:41:48.000000000 -0600
74 +++ quagga-mpls/bgpd/bgp_vty.c 2004-02-25 13:57:42.000000000 -0600
75 @@ -39,6 +39,8 @@
76 #include "bgpd/bgp_route.h"
77 #include "bgpd/bgp_zebra.h"
79 +extern struct in_addr router_id_zebra;
81 /* Utility function to get address family from current node. */
82 afi_t
83 bgp_node_afi (struct vty *vty)
84 @@ -398,6 +400,7 @@
85 return CMD_WARNING;
88 + bgp->router_id_static = id;
89 bgp_router_id_set (bgp, &id);
91 return CMD_SUCCESS;
92 @@ -425,14 +428,15 @@
93 return CMD_WARNING;
96 - if (! IPV4_ADDR_SAME (&bgp->router_id, &id))
97 + if (! IPV4_ADDR_SAME (&bgp->router_id_static, &id))
99 vty_out (vty, "%% BGP router-id doesn't match%s", VTY_NEWLINE);
100 return CMD_WARNING;
104 - bgp_router_id_unset (bgp);
105 + bgp->router_id_static.s_addr = 0;
106 + bgp_router_id_set (bgp, &router_id_zebra);
108 return CMD_SUCCESS;
110 diff --exclude=rsvpd -uNr quagga/bgpd/bgp_zebra.c quagga-mpls/bgpd/bgp_zebra.c
111 --- quagga/bgpd/bgp_zebra.c 2004-02-25 13:41:50.000000000 -0600
112 +++ quagga-mpls/bgpd/bgp_zebra.c 2004-07-14 14:35:29.000000000 -0500
113 @@ -39,61 +39,24 @@
115 /* All information about zebra. */
116 static struct zclient *zclient = NULL;
117 +struct in_addr router_id_zebra;
119 -/* Update default router id. */
120 +/* Router-id update message from zebra. */
122 -bgp_if_update (struct interface *ifp)
123 +bgp_router_id_update (int command, struct zclient *zclient, zebra_size_t length)
125 - struct bgp *bgp;
126 - listnode cn;
127 + struct prefix router_id;
128 struct listnode *nn;
129 - struct listnode *nm;
130 - struct peer *peer;
132 - for (cn = listhead (ifp->connected); cn; nextnode (cn))
134 - struct connected *co;
135 - struct in_addr addr;
137 - co = getdata (cn);
139 - if (co->address->family == AF_INET)
141 - addr = co->address->u.prefix4;
142 + struct bgp *bgp;
144 - /* Ignore NET127. */
145 - if (IPV4_NET127 (ntohl (addr.s_addr)))
146 - continue;
147 + zebra_router_id_update_read(zclient->ibuf,&router_id);
148 + router_id_zebra = router_id.u.prefix4;
150 - LIST_LOOP (bm->bgp, bgp, nn)
152 - /* Respect configured router id */
153 - if (! (bgp->config & BGP_CONFIG_ROUTER_ID))
154 - if (ntohl (bgp->router_id.s_addr) < ntohl (addr.s_addr))
156 - bgp->router_id = addr;
157 - LIST_LOOP (bgp->peer, peer, nm)
159 - peer->local_id = addr;
165 - return 0;
168 -int
169 -bgp_if_update_all ()
171 - listnode node;
172 - struct interface *ifp;
173 + LIST_LOOP (bm->bgp, bgp, nn) {
174 + if (!bgp->router_id_static.s_addr)
175 + bgp_router_id_set (bgp, &router_id.u.prefix4);
178 - for (node = listhead (iflist); node; node = nextnode (node))
180 - ifp = getdata (node);
181 - bgp_if_update (ifp);
183 return 0;
186 @@ -104,7 +67,6 @@
187 struct interface *ifp;
189 ifp = zebra_interface_add_read (zclient->ibuf);
190 - bgp_if_update (ifp);
192 return 0;
194 @@ -206,8 +168,6 @@
195 if (ifc == NULL)
196 return 0;
198 - bgp_if_update (ifc->ifp);
200 if (if_is_operative (ifc->ifp))
201 bgp_connected_add (ifc);
203 @@ -225,8 +185,6 @@
204 if (ifc == NULL)
205 return 0;
207 - bgp_if_update (ifc->ifp);
209 if (if_is_operative (ifc->ifp))
210 bgp_connected_delete (ifc);
212 @@ -345,6 +303,43 @@
214 #endif /* HAVE_IPV6 */
217 +int
218 +zebra_read_mpls_xc (int command, struct zclient *zclient, zebra_size_t length)
220 + struct stream *s;
221 + struct zapi_mpls_xc xc;
222 + s = zclient->ibuf;
223 + return mpls_xc_stream_read(s, &xc);
226 +int
227 +zebra_read_mpls_in_segment (int command, struct zclient *zclient, zebra_size_t length)
229 + struct stream *s;
230 + struct zapi_mpls_in_segment in;
231 + s = zclient->ibuf;
232 + return mpls_in_segment_stream_read(s, &in);
235 +int
236 +zebra_read_mpls_out_segment (int command, struct zclient *zclient, zebra_size_t length)
238 + struct stream *s;
239 + struct zapi_mpls_out_segment out;
240 + s = zclient->ibuf;
241 + return mpls_out_segment_stream_read(s, &out);
244 +int
245 +zebra_read_mpls_labelspace (int command, struct zclient *zclient, zebra_size_t length)
247 + struct stream *s;
248 + struct zapi_mpls_labelspace ls;
249 + s = zclient->ibuf;
250 + return mpls_labelspace_stream_read(s, &ls);
253 struct interface *
254 if_lookup_by_ipv4 (struct in_addr *addr)
256 @@ -982,7 +977,9 @@
258 /* Set default values. */
259 zclient = zclient_new ();
260 + zclient->mplsinfo = 1;
261 zclient_init (zclient, ZEBRA_ROUTE_BGP);
262 + zclient->router_id_update = bgp_router_id_update;
263 zclient->interface_add = bgp_interface_add;
264 zclient->interface_delete = bgp_interface_delete;
265 zclient->interface_address_add = bgp_interface_address_add;
266 @@ -995,6 +992,14 @@
267 zclient->ipv6_route_add = zebra_read_ipv6;
268 zclient->ipv6_route_delete = zebra_read_ipv6;
269 #endif /* HAVE_IPV6 */
270 + zclient->mpls_xc_add = zebra_read_mpls_xc;
271 + zclient->mpls_xc_delete = zebra_read_mpls_xc;
272 + zclient->mpls_in_segment_add = zebra_read_mpls_in_segment;
273 + zclient->mpls_in_segment_delete = zebra_read_mpls_in_segment;
274 + zclient->mpls_out_segment_add = zebra_read_mpls_out_segment;
275 + zclient->mpls_out_segment_delete = zebra_read_mpls_out_segment;
276 + zclient->mpls_labelspace_add = zebra_read_mpls_labelspace;
277 + zclient->mpls_labelspace_delete = zebra_read_mpls_labelspace;
279 /* Interface related init. */
280 if_init ();
281 diff --exclude=rsvpd -uNr quagga/config.h.in quagga-mpls/config.h.in
282 --- quagga/config.h.in 2004-02-25 13:42:03.000000000 -0600
283 +++ quagga-mpls/config.h.in 2004-07-14 22:53:50.420193512 -0500
284 @@ -318,6 +318,9 @@
285 /* KAME IPv6 stack */
286 #undef KAME
288 +/* ldpd vty socket */
289 +#undef LDP_VTYSH_PATH
291 /* Linux IPv6 stack */
292 #undef LINUX_IPV6
294 @@ -360,6 +363,9 @@
295 /* bgpd PID */
296 #undef PATH_BGPD_PID
298 +/* ldpd PID */
299 +#undef PATH_LDPD_PID
301 /* ospf6d PID */
302 #undef PATH_OSPF6D_PID
304 diff --exclude=rsvpd -uNr quagga/configure.ac quagga-mpls/configure.ac
305 --- quagga/configure.ac 2004-02-25 13:42:07.000000000 -0600
306 +++ quagga-mpls/configure.ac 2004-06-02 21:06:39.000000000 -0500
307 @@ -63,6 +63,8 @@
308 [ --disable-ipv6 turn off IPv6 related features and daemons])
309 AC_ARG_ENABLE(zebra,
310 [ --disable-zebra do not build zebra daemon])
311 +AC_ARG_ENABLE(ldpd,
312 +[ --disable-ldpd do not build ldpd])
313 AC_ARG_ENABLE(bgpd,
314 [ --disable-bgpd do not build bgpd])
315 AC_ARG_ENABLE(ripd,
316 @@ -637,6 +639,12 @@
317 ZEBRA="zebra"
320 +if test "${enable_ldpd}" = "no";then
321 + LDPD=""
322 +else
323 + LDPD="ldpd"
326 if test "${enable_bgpd}" = "no";then
327 BGPD=""
328 else
329 @@ -685,6 +693,7 @@
331 AC_SUBST(ZEBRA)
332 AC_SUBST(BGPD)
333 +AC_SUBST(LDPD)
334 AC_SUBST(RIPD)
335 AC_SUBST(RIPNGD)
336 AC_SUBST(OSPFD)
337 @@ -1008,6 +1017,7 @@
338 AC_DEFINE_UNQUOTED(PATH_ZEBRA_PID, "$quagga_statedir/zebra.pid",zebra PID)
339 AC_DEFINE_UNQUOTED(PATH_RIPD_PID, "$quagga_statedir/ripd.pid",ripd PID)
340 AC_DEFINE_UNQUOTED(PATH_RIPNGD_PID, "$quagga_statedir/ripngd.pid",ripngd PID)
341 +AC_DEFINE_UNQUOTED(PATH_LDPD_PID, "$quagga_statedir/ldpd.pid",ldpd PID)
342 AC_DEFINE_UNQUOTED(PATH_BGPD_PID, "$quagga_statedir/bgpd.pid",bgpd PID)
343 AC_DEFINE_UNQUOTED(PATH_OSPFD_PID, "$quagga_statedir/ospfd.pid",ospfd PID)
344 AC_DEFINE_UNQUOTED(PATH_OSPF6D_PID, "$quagga_statedir/ospf6d.pid",ospf6d PID)
345 @@ -1015,6 +1025,7 @@
346 AC_DEFINE_UNQUOTED(ZEBRA_VTYSH_PATH, "$quagga_statedir/zebra.vty",zebra vty socket)
347 AC_DEFINE_UNQUOTED(RIP_VTYSH_PATH, "$quagga_statedir/ripd.vty",rip vty socket)
348 AC_DEFINE_UNQUOTED(RIPNG_VTYSH_PATH, "$quagga_statedir/ripngd.vty",ripng vty socket)
349 +AC_DEFINE_UNQUOTED(LDP_VTYSH_PATH, "$quagga_statedir/ldpd.vty",ldpd vty socket)
350 AC_DEFINE_UNQUOTED(BGP_VTYSH_PATH, "$quagga_statedir/bgpd.vty",bgpd vty socket)
351 AC_DEFINE_UNQUOTED(OSPF_VTYSH_PATH, "$quagga_statedir/ospfd.vty",ospfd vty socket)
352 AC_DEFINE_UNQUOTED(OSPF6_VTYSH_PATH, "$quagga_statedir/ospf6d.vty",ospf6d vty socket)
353 @@ -1039,7 +1050,7 @@
354 AC_MSG_RESULT($ac_cv_htonl_works)
356 AC_OUTPUT(Makefile lib/Makefile zebra/Makefile ripd/Makefile
357 - ripngd/Makefile bgpd/Makefile ospfd/Makefile
358 + ripngd/Makefile ldpd/Makefile bgpd/Makefile ospfd/Makefile
359 ospf6d/Makefile vtysh/Makefile doc/Makefile
360 ospfclient/Makefile
361 redhat/quagga.spec
362 diff --exclude=rsvpd -uNr quagga/ldpd/create-links quagga-mpls/ldpd/create-links
363 --- quagga/ldpd/create-links 1969-12-31 18:00:00.000000000 -0600
364 +++ quagga-mpls/ldpd/create-links 2004-05-19 21:45:08.000000000 -0500
365 @@ -0,0 +1,99 @@
366 +#!/bin/sh
368 +DEFSRC=/home/jleu/personal/clients/ldp-portable
369 +if [ "x${1}" = "x" ]; then
370 + SRC=${DEFSRC}
371 +else
372 + SRC=${1}
375 +[ -d "${SRC}" ] || {
376 + echo $"$0: directory not found: ${1}" >&2
377 + echo $"Usage: $0 [<direcory>] (default is ${DEFSRC})" >&2
378 + exit 1
381 +ln -s $SRC/ldp/ldp_addr.c
382 +ln -s $SRC/ldp/ldp_addr.h
383 +ln -s $SRC/ldp/ldp_adj.c
384 +ln -s $SRC/ldp/ldp_adj.h
385 +ln -s $SRC/ldp/ldp_attr.c
386 +ln -s $SRC/ldp/ldp_attr.h
387 +ln -s $SRC/ldp/ldp_buf.c
388 +ln -s $SRC/ldp/ldp_buf.h
389 +ln -s $SRC/ldp/ldp_cfg.c
390 +ln -s $SRC/ldp/ldp_cfg.h
391 +ln -s $SRC/ldp/ldp_defaults.h
392 +ln -s $SRC/ldp/ldp_entity.c
393 +ln -s $SRC/ldp/ldp_entity.h
394 +ln -s $SRC/ldp/ldp_fec.c
395 +ln -s $SRC/ldp/ldp_fec.h
396 +ln -s $SRC/ldp/ldp_global.c
397 +ln -s $SRC/ldp/ldp_global.h
398 +ln -s $SRC/ldp/ldp_hello.c
399 +ln -s $SRC/ldp/ldp_hello.h
400 +ln -s $SRC/ldp/ldp_hop.c
401 +ln -s $SRC/ldp/ldp_hop.h
402 +ln -s $SRC/ldp/ldp_hop_list.c
403 +ln -s $SRC/ldp/ldp_hop_list.h
404 +ln -s $SRC/ldp/ldp_if.c
405 +ln -s $SRC/ldp/ldp_if.h
406 +ln -s $SRC/ldp/ldp_inet_addr.c
407 +ln -s $SRC/ldp/ldp_inet_addr.h
408 +ln -s $SRC/ldp/ldp_init.c
409 +ln -s $SRC/ldp/ldp_init.h
410 +ln -s $SRC/ldp/ldp_inlabel.c
411 +ln -s $SRC/ldp/ldp_inlabel.h
412 +ln -s $SRC/ldp/ldp_keepalive.c
413 +ln -s $SRC/ldp/ldp_keepalive.h
414 +ln -s $SRC/ldp/ldp_label_abort.c
415 +ln -s $SRC/ldp/ldp_label_abort.h
416 +ln -s $SRC/ldp/ldp_label_mapping.c
417 +ln -s $SRC/ldp/ldp_label_mapping.h
418 +ln -s $SRC/ldp/ldp_label_rel_with.c
419 +ln -s $SRC/ldp/ldp_label_rel_with.h
420 +ln -s $SRC/ldp/ldp_label_request.c
421 +ln -s $SRC/ldp/ldp_label_request.h
422 +ln -s $SRC/ldp/ldp_mesg.c
423 +ln -s $SRC/ldp/ldp_mesg.h
424 +ln -s $SRC/ldp/ldp_nexthop.c
425 +ln -s $SRC/ldp/ldp_nexthop.h
426 +ln -s $SRC/ldp/ldp_nortel.c
427 +ln -s $SRC/ldp/ldp_nortel.h
428 +ln -s $SRC/ldp/ldp_notif.c
429 +ln -s $SRC/ldp/ldp_notif.h
430 +ln -s $SRC/ldp/ldp_outlabel.c
431 +ln -s $SRC/ldp/ldp_outlabel.h
432 +ln -s $SRC/ldp/ldp_pdu.h
433 +ln -s $SRC/ldp/ldp_pdu_setup.c
434 +ln -s $SRC/ldp/ldp_pdu_setup.h
435 +ln -s $SRC/ldp/ldp_peer.c
436 +ln -s $SRC/ldp/ldp_peer.h
437 +ln -s $SRC/ldp/ldp_resource.c
438 +ln -s $SRC/ldp/ldp_resource.h
439 +ln -s $SRC/ldp/ldp_session.c
440 +ln -s $SRC/ldp/ldp_session.h
441 +ln -s $SRC/ldp/ldp_state_funcs.c
442 +ln -s $SRC/ldp/ldp_state_machine.c
443 +ln -s $SRC/ldp/ldp_state_machine.h
444 +ln -s $SRC/ldp/ldp_struct.h
445 +ln -s $SRC/ldp/ldp_tunnel.c
446 +ln -s $SRC/ldp/ldp_tunnel.h
448 +ln -s $SRC/common/mpls_struct.h
449 +ln -s $SRC/common/mpls_assert.h
450 +ln -s $SRC/common/mpls_bitfield.h
451 +ln -s $SRC/common/mpls_fib_impl.h
452 +ln -s $SRC/common/mpls_ifmgr_impl.h
453 +ln -s $SRC/common/mpls_mm_impl.h
454 +ln -s $SRC/common/mpls_mpls_impl.h
455 +ln -s $SRC/common/mpls_policy_impl.h
456 +ln -s $SRC/common/mpls_refcnt.h
457 +ln -s $SRC/common/mpls_socket_impl.h
458 +ln -s $SRC/common/mpls_timer_impl.h
459 +ln -s $SRC/common/mpls_trace_impl.h
460 +ln -s $SRC/common/mpls_tree_impl.h
461 +ln -s $SRC/common/mpls_list.h
462 +ln -s $SRC/common/mpls_lock_impl.h
463 +ln -s $SRC/common/mpls_compare.h
464 +ln -s $SRC/common/mpls_compare.c
465 diff --exclude=rsvpd -uNr quagga/ldpd/delete-links quagga-mpls/ldpd/delete-links
466 --- quagga/ldpd/delete-links 1969-12-31 18:00:00.000000000 -0600
467 +++ quagga-mpls/ldpd/delete-links 2004-05-19 21:45:23.000000000 -0500
468 @@ -0,0 +1,86 @@
469 +#!/bin/sh
471 +rm -f ldp_addr.c
472 +rm -f ldp_addr.h
473 +rm -f ldp_adj.c
474 +rm -f ldp_adj.h
475 +rm -f ldp_attr.c
476 +rm -f ldp_attr.h
477 +rm -f ldp_buf.c
478 +rm -f ldp_buf.h
479 +rm -f ldp_cfg.c
480 +rm -f ldp_cfg.h
481 +rm -f ldp_defaults.h
482 +rm -f ldp_entity.c
483 +rm -f ldp_entity.h
484 +rm -f ldp_fec.c
485 +rm -f ldp_fec.h
486 +rm -f ldp_global.c
487 +rm -f ldp_global.h
488 +rm -f ldp_hello.c
489 +rm -f ldp_hello.h
490 +rm -f ldp_hop.c
491 +rm -f ldp_hop.h
492 +rm -f ldp_hop_list.c
493 +rm -f ldp_hop_list.h
494 +rm -f ldp_if.c
495 +rm -f ldp_if.h
496 +rm -f ldp_inet_addr.c
497 +rm -f ldp_inet_addr.h
498 +rm -f ldp_init.c
499 +rm -f ldp_init.h
500 +rm -f ldp_inlabel.c
501 +rm -f ldp_inlabel.h
502 +rm -f ldp_keepalive.c
503 +rm -f ldp_keepalive.h
504 +rm -f ldp_label_abort.c
505 +rm -f ldp_label_abort.h
506 +rm -f ldp_label_mapping.c
507 +rm -f ldp_label_mapping.h
508 +rm -f ldp_label_rel_with.c
509 +rm -f ldp_label_rel_with.h
510 +rm -f ldp_label_request.c
511 +rm -f ldp_label_request.h
512 +rm -f ldp_mesg.c
513 +rm -f ldp_mesg.h
514 +rm -f ldp_nexthop.c
515 +rm -f ldp_nexthop.h
516 +rm -f ldp_nortel.c
517 +rm -f ldp_nortel.h
518 +rm -f ldp_notif.c
519 +rm -f ldp_notif.h
520 +rm -f ldp_outlabel.c
521 +rm -f ldp_outlabel.h
522 +rm -f ldp_pdu.h
523 +rm -f ldp_pdu_setup.c
524 +rm -f ldp_pdu_setup.h
525 +rm -f ldp_peer.c
526 +rm -f ldp_peer.h
527 +rm -f ldp_resource.c
528 +rm -f ldp_resource.h
529 +rm -f ldp_session.c
530 +rm -f ldp_session.h
531 +rm -f ldp_state_funcs.c
532 +rm -f ldp_state_machine.c
533 +rm -f ldp_state_machine.h
534 +rm -f ldp_struct.h
535 +rm -f ldp_tunnel.c
536 +rm -f ldp_tunnel.h
538 +rm -f mpls_struct.h
539 +rm -f mpls_assert.h
540 +rm -f mpls_bitfield.h
541 +rm -f mpls_fib_impl.h
542 +rm -f mpls_ifmgr_impl.h
543 +rm -f mpls_mm_impl.h
544 +rm -f mpls_mpls_impl.h
545 +rm -f mpls_policy_impl.h
546 +rm -f mpls_refcnt.h
547 +rm -f mpls_socket_impl.h
548 +rm -f mpls_timer_impl.h
549 +rm -f mpls_trace_impl.h
550 +rm -f mpls_tree_impl.h
551 +rm -f mpls_list.h
552 +rm -f mpls_lock_impl.h
553 +rm -f mpls_compare.h
554 +rm -f mpls_compare.c
555 diff --exclude=rsvpd -uNr quagga/ldpd/impl_fib.c quagga-mpls/ldpd/impl_fib.c
556 --- quagga/ldpd/impl_fib.c 1969-12-31 18:00:00.000000000 -0600
557 +++ quagga-mpls/ldpd/impl_fib.c 2004-06-07 23:48:13.000000000 -0500
558 @@ -0,0 +1,305 @@
559 +#include <zebra.h>
560 +#include "prefix.h"
561 +#include "table.h"
562 +#include "if.h"
563 +#include "memory.h"
564 +#include "vty.h"
566 +#include "mpls_compare.h"
568 +#include "ldp.h"
569 +#include "ldp_struct.h"
570 +#include "ldp_cfg.h"
572 +#include "ldp_zebra.h"
573 +#include "impl_fib.h"
575 +struct mpls_nexthop *lookup_fec_nexthop(mpls_fec *fec, mpls_nexthop *nexthop) {
576 + struct route_node *rn;
577 + struct mpls_node *mn;
578 + struct listnode *ln;
579 + struct mpls_nh *nh;
580 + struct prefix p;
581 + struct mpls_nexthop *result = NULL;
583 + mpls_fec2zebra_prefix(fec,&p);
585 + if ((rn = route_node_lookup(table,&p))) {
586 + mn = (struct mpls_node*)rn->info;
587 + LIST_LOOP(mn->list, nh, ln) {
588 + /* if they match, remove it */
589 + if (!mpls_nexthop_compare(&nh->info, nexthop)) {
590 + result = &nh->info;
591 + break;
594 + route_unlock_node(rn);
596 + return result;
599 +mpls_bool is_fec_attached(mpls_fec *fec, mpls_nexthop *nexthop) {
600 + struct mpls_nexthop *nh = lookup_fec_nexthop(fec, nexthop);
602 + if (nh) {
603 + return nh->attached;
605 + return MPLS_BOOL_FALSE;
608 +void dump_mpls_node(struct vty *vty, struct route_node *node) {
609 + struct mpls_node *mn;
610 + struct listnode *ln;
611 + struct mpls_nh *nh;
612 + char buf[128];
614 + if (node->info) {
615 + prefix2str(&node->p,buf,sizeof(buf));
616 + vty_out(vty, "%s%s", buf, VTY_NEWLINE);
617 + mn = (struct mpls_node*)node->info;
618 + LIST_LOOP(mn->list,nh,ln) {
619 + vty_out(vty, " [%d] %d %s ", nh->info.distance, nh->info.metric,
620 + nh->info.attached == MPLS_BOOL_TRUE ? "attached":"");
621 + if (nh->info.type & MPLS_NH_IP) {
622 + struct in_addr addr;
623 + addr.s_addr = htonl(nh->info.ip.u.ipv4);
624 + vty_out(vty, "%s ", inet_ntoa(addr));
626 + if (nh->info.type & MPLS_NH_IF) {
627 + vty_out(vty, "%s ", nh->info.if_handle->name);
629 + if (nh->info.type & MPLS_NH_OUTSEGMENT) {
630 + vty_out(vty, "%d ", nh->info.outsegment_handle);
632 + vty_out(vty, "%s", VTY_NEWLINE);
637 +void mpls_fib_close(mpls_fib_handle handle)
641 +void mpls_fib_update_close(mpls_fib_handle handle)
645 +mpls_fib_handle mpls_fib_open(const mpls_instance_handle handle,
646 + const mpls_cfg_handle cfg)
648 + struct ldp *ldp = ldp_get();
649 + return ldp;
652 +int mpls_fib_get_route(mpls_fib_handle handle, const int num,
653 + const mpls_fec * fec, mpls_fec * entry)
655 + return 0;
658 +int mpls_fib_get_best_route(mpls_fib_handle handle, const int num,
659 + const mpls_fec * dest, mpls_fec * entry)
661 + return 0;
664 +static uint32_t mpls_nh_index() {
665 + static uint32_t index = 0;
666 + return ++index;
669 +static struct mpls_nh* mpls_nh_create(struct mpls_nexthop* dup) {
670 + struct mpls_nh *nh;
671 + nh = XMALLOC (MTYPE_LDP, sizeof (struct mpls_nh));
672 + memset(nh, 0, sizeof(struct mpls_nh));
673 + if (dup) {
674 + memcpy(&nh->info, dup, sizeof(struct mpls_nexthop));
676 + nh->info.index = mpls_nh_index();
677 + return nh;
680 +static void mpls_nh_delete(void* v) {
681 + XFREE(MTYPE_LDP, v);
684 +static int local_mpls_nexthop_compare(void* a,void* b) {
685 + if (((mpls_nexthop*)a)->index < ((mpls_nexthop*)b)->index) {
686 + return -1;
688 + if (((mpls_nexthop*)a)->index > ((mpls_nexthop*)b)->index) {
689 + return 1;
691 + return 0;
694 +static struct mpls_node *mpls_node_new() {
695 + struct mpls_node * mn = XMALLOC (MTYPE_LDP, sizeof (struct mpls_node));
696 + if (mn) {
697 + memset(mn, 0, sizeof(*mn));
698 + mn->list = list_new();
699 + mn->list->cmp = local_mpls_nexthop_compare;
701 + return mn;
704 +static void mpls_node_delete(struct mpls_node* mn) {
705 + list_free(mn->list);
706 + XFREE(MTYPE_LDP, mn);
709 +void mpls_fib_ipv4_add(struct prefix_ipv4 *p, struct mpls_nexthop *nexthop) {
710 + struct route_node *rn;
711 + struct mpls_node *mn;
712 + struct mpls_nh *nh = mpls_nh_create(nexthop);
713 + struct mpls_fec fec;
714 + struct ldp *ldp = ldp_get();
716 + if ((rn = route_node_lookup(table,(struct prefix*)p))) {
717 + mn = (struct mpls_node*)rn->info;
718 + } else {
719 + rn = route_node_get(table,(struct prefix*)p);
720 + route_lock_node(rn);
721 + mn = mpls_node_new();
722 + rn->info = mn;
724 + listnode_add_sort(mn->list, nh);
725 + nh->mn = mn;
727 + zebra_prefix2mpls_fec((struct prefix*)p, &fec);
728 + if (ldp)
729 + ldp_add_ipv4(ldp, &fec, &nh->info);
730 + route_unlock_node(rn);
733 +void mpls_fib_ipv4_delete(struct prefix_ipv4* p, struct mpls_nexthop* nexthop) {
734 + struct route_node* rn;
735 + struct mpls_node* mn;
736 + struct listnode* ln;
737 + struct mpls_nh* nh;
738 + struct mpls_fec fec;
739 + struct ldp *ldp = ldp_get();
741 + if ((rn = route_node_lookup(table,(struct prefix*)p))) {
742 + mn = (struct mpls_node*)rn->info;
743 + LIST_LOOP(mn->list, nh, ln) {
744 + /* if they match, remove it */
745 + if (!mpls_nexthop_compare(&nh->info, nexthop)) {
746 + zebra_prefix2mpls_fec((struct prefix*)p, &fec);
747 + if (ldp)
748 + ldp_delete_ipv4(ldp, &fec, nexthop);
749 + list_delete_node(mn->list, ln);
750 + mpls_nh_delete(nh);
751 + break;
754 + if (list_isempty(mn->list)) {
755 + rn->info = NULL;
756 + route_unlock_node(rn);
757 + mpls_node_delete(mn);
758 + mn = NULL;
762 + route_unlock_node(rn);
765 +mpls_return_enum mpls_fib_getfirst_route(mpls_fib_handle handle,
766 + mpls_fec * fec, mpls_nexthop *nexthop) {
767 + struct route_node *rn;
769 + if ((rn = route_top(table))) {
770 + if (!rn->info) {
771 + rn = route_next2(rn);
774 + if (rn) {
775 + struct mpls_node *mn;
776 + struct mpls_nh *nh;
778 + zebra_prefix2mpls_fec(&rn->p, fec);
779 + mn = rn->info;
780 + nh = getdata(listhead(mn->list));
781 + memcpy(nexthop, &nh->info, sizeof(mpls_nexthop));
782 + route_unlock_node(rn);
783 + return MPLS_SUCCESS;
787 + return MPLS_FAILURE;
790 +mpls_return_enum mpls_fib_getnext_route(mpls_fib_handle handle,
791 + mpls_fec * fec, mpls_nexthop *nexthop) {
792 + struct route_node *rn_in;
793 + struct mpls_node *mn;
794 + struct listnode* ln;
795 + struct mpls_nh* nh;
796 + struct prefix p;
797 + int next = 0;
799 + mpls_fec2zebra_prefix(fec,&p);
801 + if (!(rn_in = route_node_lookup2(table,&p))) {
802 + return MPLS_FAILURE;
805 + mn = rn_in->info;
806 + LIST_LOOP(mn->list, nh, ln) {
807 + if (next) {
808 + memcpy(nexthop, &nh->info, sizeof(struct mpls_nexthop));
809 + route_unlock_node(rn_in);
810 + return MPLS_SUCCESS;
812 + if (local_mpls_nexthop_compare(nexthop,&nh->info) <= 0) {
813 + next = 1;
817 + if ((rn_in = route_next2(rn_in))) {
818 + zebra_prefix2mpls_fec(&rn_in->p, fec);
819 + mn = rn_in->info;
820 + nh = getdata(listhead(mn->list));
821 + memcpy(nexthop, &nh->info, sizeof(mpls_nexthop));
822 + route_unlock_node(rn_in);
823 + return MPLS_SUCCESS;
826 + return MPLS_FAILURE;
829 +mpls_return_enum mpls_fib_set_data(mpls_fib_handle handle, mpls_fec * fec,
830 + mpls_owners_enum owner, void *data) {
831 + struct route_node *rn;
832 + struct mpls_node *mn;
833 + struct prefix p;
835 + mpls_fec2zebra_prefix(fec,&p);
837 + if (!(rn = route_node_lookup2(table,&p))) {
838 + return MPLS_NO_ROUTE;
840 + mn = rn->info;
841 + mn->ldp_data = data;
842 + route_unlock_node(rn);
844 + return MPLS_SUCCESS;
847 +mpls_return_enum mpls_fib_get_data(mpls_fib_handle handle, mpls_fec * fec,
848 + mpls_owners_enum owner, void **data) {
849 + struct route_node *rn;
850 + struct mpls_node *mn;
851 + struct prefix p;
853 + mpls_fec2zebra_prefix(fec,&p);
855 + if (!(rn = route_node_lookup2(table,&p))) {
856 + return MPLS_NO_ROUTE;
858 + mn = rn->info;
859 + *data = mn->ldp_data;
860 + route_unlock_node(rn);
862 + return MPLS_SUCCESS;
864 diff --exclude=rsvpd -uNr quagga/ldpd/impl_fib.h quagga-mpls/ldpd/impl_fib.h
865 --- quagga/ldpd/impl_fib.h 1969-12-31 18:00:00.000000000 -0600
866 +++ quagga-mpls/ldpd/impl_fib.h 2004-06-07 23:43:53.000000000 -0500
867 @@ -0,0 +1,25 @@
868 +#ifndef LDP_IMPL_FIB_H
869 +#define LDP_IMPL_FIB_H
871 +#include <zebra.h>
873 +#include "ldp_struct.h"
874 +#include "ldp.h"
876 +struct mpls_node {
877 + struct list *list;
878 + void *ldp_data;
881 +struct mpls_nh {
882 + struct mpls_nexthop info;
883 + struct mpls_node *mn;
884 + void *ldp_data;
887 +void mpls_fib_ipv4_add(struct prefix_ipv4 *p, mpls_nexthop *nexthop);
888 +void mpls_fib_ipv4_delete(struct prefix_ipv4 *p, mpls_nexthop *nexthop);
889 +mpls_bool is_fec_attached(mpls_fec *fec, mpls_nexthop *nexthop);
890 +struct mpls_nexthop *lookup_fec_nexthop(mpls_fec *fec, mpls_nexthop *nexthop);
892 +#endif
893 diff --exclude=rsvpd -uNr quagga/ldpd/impl_ifmgr.c quagga-mpls/ldpd/impl_ifmgr.c
894 --- quagga/ldpd/impl_ifmgr.c 1969-12-31 18:00:00.000000000 -0600
895 +++ quagga-mpls/ldpd/impl_ifmgr.c 2004-06-03 22:19:54.000000000 -0500
896 @@ -0,0 +1,82 @@
897 +#include <zebra.h>
898 +#include "if.h"
900 +#include "ldp.h"
901 +#include "ldp_struct.h"
903 +static int opened = 0;
905 +mpls_ifmgr_handle mpls_ifmgr_open(mpls_instance_handle handle,
906 + mpls_cfg_handle cfg)
908 + opened = 1;
909 + return 0xdeadbeef;
912 +void mpls_ifmgr_close(mpls_ifmgr_handle ifmgr_handle)
914 + opened = 0;
917 +mpls_return_enum mpls_ifmgr_get_mtu(mpls_ifmgr_handle ifmgr_handle,
918 + mpls_if_handle if_handle, int *mtu)
920 + *mtu = if_handle->mtu;
921 + return MPLS_SUCCESS;
924 +mpls_return_enum mpls_ifmgr_get_name(const mpls_ifmgr_handle handle,
925 + const mpls_if_handle if_handle, char *name, int len)
927 + strncpy(name, if_handle->name, len);
928 + return MPLS_SUCCESS;
931 +mpls_return_enum mpls_ifmgr_getnext_address(mpls_ifmgr_handle ifmgr_handle,
932 + mpls_if_handle *handle, mpls_inet_addr *addr)
934 + struct connected *ifc;
935 + listnode node;
936 + int next = 0;
938 + while ((*handle)) {
939 + for (node = listhead((*handle)->connected); node; nextnode(node)) {
940 + ifc = getdata(node);
941 + if (ifc->address->family == AF_INET &&
942 + ifc->address->u.prefix4.s_addr != htonl(INADDR_LOOPBACK)) {
943 + if (next) {
944 + addr->type = MPLS_FAMILY_IPV4;
945 + addr->u.ipv4 = ntohl(ifc->address->u.prefix4.s_addr);
946 + return MPLS_SUCCESS;
947 + } else if (addr->u.ipv4 == ntohl(ifc->address->u.prefix4.s_addr)) {
948 + next = 1;
952 + (*handle) = if_getnext(*handle);
953 + next = 1;
955 + return MPLS_END_OF_LIST;
958 +mpls_return_enum mpls_ifmgr_getfirst_address(mpls_ifmgr_handle ifmgr_handle,
959 + mpls_if_handle *handle, mpls_inet_addr *addr)
961 + struct connected *ifc;
962 + listnode node;
964 + (*handle) = if_getfirst();
965 + while ((*handle)) {
966 + for (node = listhead((*handle)->connected); node; nextnode(node)) {
967 + ifc = getdata(node);
968 + if (ifc->address->family == AF_INET &&
969 + ifc->address->u.prefix4.s_addr != htonl(INADDR_LOOPBACK)) {
970 + addr->type = MPLS_FAMILY_IPV4;
971 + addr->u.ipv4 = ntohl(ifc->address->u.prefix4.s_addr);
972 + return MPLS_SUCCESS;
975 + (*handle) = if_getnext(*handle);
977 + return MPLS_END_OF_LIST;
979 diff --exclude=rsvpd -uNr quagga/ldpd/impl_ifmgr.h quagga-mpls/ldpd/impl_ifmgr.h
980 --- quagga/ldpd/impl_ifmgr.h 1969-12-31 18:00:00.000000000 -0600
981 +++ quagga-mpls/ldpd/impl_ifmgr.h 2004-05-19 21:40:47.000000000 -0500
982 @@ -0,0 +1,7 @@
983 +#ifndef LDP_IMPL_IFMGR_H
984 +#define LDP_IMPL_IFMGR_H
986 +#include <zebra.h>
987 +#include "ldp_struct.h"
989 +#endif
990 diff --exclude=rsvpd -uNr quagga/ldpd/impl_lock.c quagga-mpls/ldpd/impl_lock.c
991 --- quagga/ldpd/impl_lock.c 1969-12-31 18:00:00.000000000 -0600
992 +++ quagga-mpls/ldpd/impl_lock.c 2004-05-19 21:40:47.000000000 -0500
993 @@ -0,0 +1,28 @@
994 +#include "ldp_struct.h"
995 +#include "mpls_assert.h"
996 +#include "mpls_mm_impl.h"
998 +mpls_lock_handle mpls_lock_create(mpls_lock_key_type key)
1000 + int *i = mpls_malloc(sizeof(int));
1002 + *i = 0;
1003 + return i;
1006 +void mpls_lock_get(mpls_lock_handle handle)
1008 + MPLS_ASSERT(*handle == 0);
1009 + (*handle)++;
1012 +void mpls_lock_release(mpls_lock_handle handle)
1014 + MPLS_ASSERT(*handle == 1);
1015 + (*handle)--;
1018 +void mpls_lock_delete(mpls_lock_handle handle)
1020 + mpls_free(handle);
1022 diff --exclude=rsvpd -uNr quagga/ldpd/impl_mm.c quagga-mpls/ldpd/impl_mm.c
1023 --- quagga/ldpd/impl_mm.c 1969-12-31 18:00:00.000000000 -0600
1024 +++ quagga-mpls/ldpd/impl_mm.c 2004-05-24 21:54:23.000000000 -0500
1025 @@ -0,0 +1,28 @@
1026 +#include "ldp_struct.h"
1027 +#include "mpls_mm_impl.h"
1028 +#include <stdio.h>
1029 +#include <stdlib.h>
1031 +#include "memory.h"
1033 +static int _mm_count = 0;
1035 +void *mpls_malloc(mpls_size_type size)
1037 + void *mem = XMALLOC(MTYPE_LDP, size);
1038 + if (mem) {
1039 + _mm_count++;
1041 + return mem;
1044 +void mpls_free(void *mem)
1046 + _mm_count--;
1047 + XFREE(MTYPE_LDP,mem);
1050 +void mpls_mm_results()
1052 + fprintf(stderr, "LDP MM RESULTS: %d\n", _mm_count);
1054 diff --exclude=rsvpd -uNr quagga/ldpd/impl_mpls.c quagga-mpls/ldpd/impl_mpls.c
1055 --- quagga/ldpd/impl_mpls.c 1969-12-31 18:00:00.000000000 -0600
1056 +++ quagga-mpls/ldpd/impl_mpls.c 2004-06-01 23:16:11.000000000 -0500
1057 @@ -0,0 +1,265 @@
1058 +#define MPLS_LINUX 0
1060 +#include <zebra.h>
1062 +#include "stream.h"
1063 +#include "prefix.h"
1064 +#include "log.h"
1065 +#include "zclient.h"
1066 +#include "if.h"
1068 +#include "ldp.h"
1069 +#include "ldp_struct.h"
1070 +#include "ldp_entity.h"
1071 +#include "mpls_mpls_impl.h"
1072 +#include "mpls_socket_impl.h"
1073 +#if MPLS_LINUX
1074 +#include <linux/mpls.h>
1075 +#endif
1077 +#include "ldp_interface.h"
1078 +#include "impl_fib.h"
1080 +#include "ldp_zebra.h"
1082 +static int label = 10000;
1083 +extern struct zclient *zclient;
1085 +#if MPLS_LINUX
1087 +static int mplsd_socket = 0;
1089 +int mplsd_ioctl (u_long request, caddr_t buffer) {
1090 + int ret = 0;
1091 + int err = 0;
1093 + if (!mplsd_socket) {
1094 + mplsd_socket = socket (AF_INET, SOCK_DGRAM, 0);
1095 + if (mplsd_socket < 0) {
1096 + perror ("socket");
1097 + exit (1);
1101 + ret = ioctl (mplsd_socket, request, buffer);
1102 + if (ret < 0) {
1103 + err = errno;
1106 + if (ret < 0) {
1107 + errno = err;
1108 + return ret;
1110 + return 0;
1113 +#endif
1115 +int do_mpls_labelspace(struct ldp_interface *li) {
1116 +#if MPLS_LINUX
1117 + struct mpls_labelspace_req mls;
1119 + if (!mi || !mi->ifp->ifindex) {
1120 + return 1;
1123 + memset(&mls,0,sizeof(struct mpls_labelspace_req));
1124 + mls.mls_ifindex = mi->ifp->ifindex;
1125 + mls.mls_labelspace = mi->labelspace;
1126 + if (mplsd_ioctl(SIOCSLABELSPACEMPLS,(caddr_t)&mls)) {
1127 + return 1;
1129 +#endif
1130 + return 0;
1133 +mpls_mpls_handle mpls_mpls_open(mpls_instance_handle user_data)
1135 + return socket(AF_INET, SOCK_STREAM, 0);
1138 +void mpls_mpls_close(mpls_mpls_handle handle)
1140 + close(handle);
1143 +mpls_return_enum mpls_mpls_outsegment_add(mpls_mpls_handle handle, mpls_outsegment * o)
1145 +#if MPLS_LINUX
1146 + struct mpls_out_label_req oreq;
1147 + struct mpls_instr_req mir;
1148 + struct sockaddr_in sin;
1149 + int result;
1151 + memset(&oreq,0,sizeof(oreq));
1152 + memset(&mir,0,sizeof(mir));
1153 + oreq.mol_label.ml_type = MPLS_LABEL_KEY;
1154 + result = ioctl(handle,SIOCMPLSNHLFEADD,&oreq);
1155 + o->handle = oreq.mol_label.u.ml_key;
1157 + mir.mir_direction = MPLS_OUT;
1158 + mir.mir_label.ml_type = MPLS_LABEL_KEY;
1159 + mir.mir_label.u.ml_key = o->handle;
1160 + mir.mir_instr[0].mir_opcode = MPLS_OP_PUSH;
1161 + mir.mir_instr[0].mir_data.push.ml_type = MPLS_LABEL_GEN;
1162 + mir.mir_instr[0].mir_data.push.u.ml_gen = o->label.u.gen;
1164 + mir.mir_instr[1].mir_opcode = MPLS_OP_SET;
1165 + mir.mir_instr[1].mir_data.set.mni_if = o->nexthop.if_handle->ifindex;
1166 + sin.sin_addr.s_addr = htonl(o->nexthop.ip.u.ipv4);
1167 + sin.sin_family = AF_INET;
1168 + memcpy(&mir.mir_instr[1].mir_data.set.mni_addr,
1169 + &sin,sizeof(struct sockaddr));
1171 + mir.mir_instr_length = 2;
1172 + result = ioctl(handle,SIOCSMPLSOUTINSTR,&mir);
1174 +#endif
1175 + return MPLS_SUCCESS;
1178 +void mpls_mpls_outsegment_del(mpls_mpls_handle handle, mpls_outsegment * o)
1180 +#if MPLS_LINUX
1181 + struct mpls_out_label_req oreq;
1182 + int result;
1184 + oreq.mol_label.ml_type = MPLS_LABEL_KEY;
1185 + oreq.mol_label.u.ml_key = o->handle;
1186 + result = ioctl(handle,SIOCMPLSNHLFEDEL,&oreq);
1188 +#endif
1191 +mpls_return_enum mpls_mpls_insegment_add(mpls_mpls_handle handle,
1192 + mpls_insegment * i)
1194 +#if MPLS_LINUX
1195 + struct mpls_in_label_req ireq;
1196 + int result;
1197 +#endif
1199 + if (i->label.type == MPLS_LABEL_TYPE_NONE) {
1200 + i->label.type = MPLS_LABEL_TYPE_GENERIC;
1201 + i->label.u.gen = label++;
1204 +#if MPLS_LINUX
1205 + ireq.mil_label.ml_type = MPLS_LABEL_GEN;
1206 + ireq.mil_label.u.ml_gen = i->label.u.gen;
1207 + ireq.mil_label.ml_index = i->labelspace;
1208 + i->handle = 0;
1210 + result = ioctl(handle,SIOCMPLSILMADD,&ireq);
1212 +#endif
1213 + return MPLS_SUCCESS;
1216 +void mpls_mpls_insegment_del(mpls_mpls_handle handle, mpls_insegment * i)
1218 +#if MPLS_LINUX
1219 + struct mpls_in_label_req ireq;
1220 + int result;
1222 + ireq.mil_label.ml_type = MPLS_LABEL_GEN;
1223 + ireq.mil_label.u.ml_gen = i->label.u.gen;
1224 + ireq.mil_label.ml_index = i->labelspace;
1226 + result = ioctl(handle,SIOCMPLSILMDEL,&ireq);
1227 +#endif
1230 +mpls_return_enum mpls_mpls_xconnect_add(mpls_mpls_handle handle, mpls_insegment * i, mpls_outsegment * o)
1232 +#if MPLS_LINUX
1233 + struct mpls_xconnect_req xreq;
1234 + int result;
1236 + xreq.mx_in.ml_type = MPLS_LABEL_GEN;
1237 + xreq.mx_in.u.ml_gen = i->label.u.gen;
1238 + xreq.mx_in.ml_index = i->labelspace;
1240 + xreq.mx_out.ml_type = MPLS_LABEL_KEY;
1241 + xreq.mx_out.u.ml_key = o->handle;
1243 + result = ioctl(handle,SIOCMPLSXCADD,&xreq);
1245 +#endif
1246 + return MPLS_SUCCESS;
1249 +void mpls_mpls_xconnect_del(mpls_mpls_handle handle, mpls_insegment * i,
1250 + mpls_outsegment * o)
1252 +#if MPLS_LINUX
1253 + struct mpls_xconnect_req xreq;
1254 + int result;
1256 + xreq.mx_in.ml_type = MPLS_LABEL_GEN;
1257 + xreq.mx_in.u.ml_gen = i->label.u.gen;
1258 + xreq.mx_in.ml_index = i->labelspace;
1260 + xreq.mx_out.ml_type = MPLS_LABEL_KEY;
1261 + xreq.mx_out.u.ml_key = o->handle;
1263 + result = ioctl(handle,SIOCMPLSXCDEL,&xreq);
1265 +#endif
1268 +mpls_return_enum mpls_mpls_fec2out_add(mpls_mpls_handle handle, mpls_fec * f,
1269 + mpls_outsegment * o)
1271 + struct prefix p;
1272 + struct in_addr addr;
1273 + unsigned int ifindex;
1274 + unsigned int mplsindex;
1275 +#if 0
1276 + int retval;
1277 +#endif
1279 + mplsindex = o->handle;
1280 + ifindex = o->nexthop.if_handle->ifindex;
1281 + addr.s_addr = htonl(o->nexthop.ip.u.ipv4);
1283 + mpls_fec2zebra_prefix(f,&p);
1284 +#if 0
1285 + retval = zapi_ipv4_set_mplsindex(zclient,(struct prefix_ipv4*)&p,
1286 + &addr,ifindex,mplsindex);
1287 +#endif
1289 + return MPLS_SUCCESS;
1292 +void mpls_mpls_fec2out_del(mpls_mpls_handle handle, mpls_fec * f,
1293 + mpls_outsegment * o)
1295 + struct prefix p;
1296 + struct in_addr addr;
1297 + unsigned int ifindex;
1298 + unsigned int mplsindex;
1299 +#if 0
1300 + int retval;
1301 +#endif
1303 + mplsindex = o->handle;
1304 + ifindex = o->nexthop.if_handle->ifindex;
1305 + addr.s_addr = htonl(o->nexthop.ip.u.ipv4);
1307 + mpls_fec2zebra_prefix(f,&p);
1308 +#if 0
1309 + retval = zapi_ipv4_set_mplsindex(zclient,(struct prefix_ipv4*)&p,
1310 + &addr,ifindex,0);
1311 +#endif
1314 +mpls_return_enum mpls_mpls_get_label_space_range(mpls_mpls_handle handle,
1315 + mpls_range * r)
1317 + r->type = MPLS_LABEL_RANGE_GENERIC;
1318 + r->min.u.gen = 16;
1319 + r->max.u.gen = 0xFFFFF;
1321 + return MPLS_SUCCESS;
1323 diff --exclude=rsvpd -uNr quagga/ldpd/impl_mpls.h quagga-mpls/ldpd/impl_mpls.h
1324 --- quagga/ldpd/impl_mpls.h 1969-12-31 18:00:00.000000000 -0600
1325 +++ quagga-mpls/ldpd/impl_mpls.h 2004-05-24 21:58:18.000000000 -0500
1326 @@ -0,0 +1,8 @@
1327 +#ifndef IMPL_MPLS_H
1328 +#define IMPL_MPLS_H
1330 +#include "ldp_interface.h"
1332 +int do_mpls_labelspace(struct ldp_interface *li);
1334 +#endif
1335 diff --exclude=rsvpd -uNr quagga/ldpd/impl_policy.c quagga-mpls/ldpd/impl_policy.c
1336 --- quagga/ldpd/impl_policy.c 1969-12-31 18:00:00.000000000 -0600
1337 +++ quagga-mpls/ldpd/impl_policy.c 2004-06-02 22:18:14.000000000 -0500
1338 @@ -0,0 +1,82 @@
1339 +#include <zebra.h>
1341 +#include "ldp_struct.h"
1342 +#include "ldp_interface.h"
1343 +#include "ldp_zebra.h"
1344 +#include "impl_fib.h"
1345 +#include "table.h"
1347 +mpls_bool mpls_policy_import_check(mpls_instance_handle handle, mpls_fec * f,
1348 + ldp_addr * nh)
1350 + return MPLS_BOOL_TRUE;
1353 +mpls_bool mpls_policy_ingress_check(mpls_instance_handle handle, mpls_fec * f, ldp_addr * nh)
1355 + return MPLS_BOOL_TRUE;
1358 +mpls_bool mpls_policy_egress_check(mpls_instance_handle handle, mpls_fec * fec,
1359 + mpls_nexthop *nexthop)
1361 + struct ldp *ldp = handle;
1362 + int result = MPLS_BOOL_FALSE;
1364 + switch(ldp->egress) {
1365 + case LDP_EGRESS_ALL:
1367 + result = MPLS_BOOL_TRUE;
1368 + break;
1370 + case LDP_EGRESS_LSRID:
1372 + if (lookup_fec_nexthop(fec, nexthop)) {
1373 + result = MPLS_BOOL_TRUE;
1375 + break;
1377 + case LDP_EGRESS_CONNECTED:
1379 + result = is_fec_attached(fec, nexthop);
1380 + break;
1382 + default:
1383 + break;
1385 + return result;
1388 +mpls_bool mpls_policy_export_check(mpls_instance_handle handle, mpls_fec * f, ldp_addr * nh)
1390 + return MPLS_BOOL_TRUE;
1393 +mpls_bool mpls_policy_address_export_check(mpls_instance_handle handle,
1394 + mpls_inet_addr *addr) {
1395 + struct ldp *ldp = handle;
1396 + mpls_bool flag = MPLS_BOOL_FALSE;
1397 + struct interface *ifp;
1398 + struct in_addr in;
1400 + in.s_addr = htonl(addr->u.ipv4);
1403 + switch (ldp->address) {
1404 + case LDP_ADDRESS_LDP:
1405 + if ((ifp = if_lookup_exact_address(in)) &&
1406 + (struct ldp_interface*)(ifp->info)) {
1407 + flag = MPLS_BOOL_TRUE;
1409 + /* fall through */
1410 + case LDP_ADDRESS_LSRID:
1411 + if (in.s_addr == router_id.u.prefix4.s_addr) {
1412 + flag = MPLS_BOOL_TRUE;
1414 + break;
1415 + case LDP_ADDRESS_ALL:
1416 + flag = MPLS_BOOL_TRUE;
1417 + break;
1419 + return flag;
1421 diff --exclude=rsvpd -uNr quagga/ldpd/impl_socket.c quagga-mpls/ldpd/impl_socket.c
1422 --- quagga/ldpd/impl_socket.c 1969-12-31 18:00:00.000000000 -0600
1423 +++ quagga-mpls/ldpd/impl_socket.c 2004-05-24 21:57:16.000000000 -0500
1424 @@ -0,0 +1,474 @@
1425 +#include <zebra.h>
1426 +#include "thread.h"
1427 +#include "sockopt.h"
1429 +#include "ldp.h"
1431 +#include "ldp_struct.h"
1432 +#include "ldp_state_machine.h"
1433 +#include "mpls_mm_impl.h"
1435 +extern struct thread_master *master;
1437 +struct mpls_socket {
1438 + int fd;
1439 + int type;
1440 + struct thread *read;
1441 + struct thread *write;
1442 + void *extra;
1445 +void _sockaddr2mpls_dest(const struct sockaddr *addr, mpls_dest * dest)
1447 + dest->addr.type = MPLS_FAMILY_IPV4;
1448 + switch (dest->addr.type) {
1449 + case MPLS_FAMILY_IPV4:
1450 + dest->port = ntohs(((struct sockaddr_in *)addr)->sin_port);
1451 + dest->addr.u.ipv4 = ntohl(((struct sockaddr_in *)addr)->sin_addr.s_addr);
1452 + break;
1453 + default:
1454 + assert(0);
1458 +void _mpls_dest2sockaddr(const mpls_dest * dest, struct sockaddr *addr)
1460 + memset(addr, 0, sizeof(struct sockaddr));
1462 + switch (dest->addr.type) {
1463 + case MPLS_FAMILY_IPV4:
1465 + addr->sa_family = AF_INET;
1466 + ((struct sockaddr_in *)addr)->sin_port = htons(dest->port);
1467 + ((struct sockaddr_in *)addr)->sin_addr.s_addr = htonl(dest->addr.u.ipv4);
1468 + break;
1470 + default:
1472 + assert(0);
1477 +int mplsd_read(struct thread *thread) {
1478 + int retval;
1479 + struct ldp *ldp = ldp_get();
1480 + mpls_socket_handle socket;
1482 + MPLS_ASSERT(thread);
1484 + socket = THREAD_ARG(thread);
1485 + socket->read = thread_add_read(master,mplsd_read,socket,socket->fd);
1487 + if (!ldp) {
1488 + return 0;
1491 + switch (socket->type) {
1492 + case MPLS_SOCKET_TCP_DATA:
1494 + retval = ldp_event(ldp->h, socket, socket->extra,
1495 + LDP_EVENT_TCP_DATA);
1496 + break;
1498 + case MPLS_SOCKET_TCP_LISTEN:
1500 + retval = ldp_event(ldp->h, socket, socket->extra,
1501 + LDP_EVENT_TCP_LISTEN);
1502 + break;
1504 + case MPLS_SOCKET_UDP_DATA:
1506 + retval = ldp_event(ldp->h, socket, socket->extra,
1507 + LDP_EVENT_UDP_DATA);
1508 + break;
1510 + default:
1512 + assert(0);
1515 + return 0;
1518 +int mplsd_write(struct thread *thread) {
1519 + struct ldp *ldp = ldp_get();
1520 + int retval;
1521 + mpls_socket_handle socket;
1523 + MPLS_ASSERT(thread);
1525 + socket = THREAD_ARG(thread);
1526 + socket->write = thread_add_write(master,mplsd_write,socket,socket->fd);
1527 + if (socket->type != MPLS_SOCKET_TCP_CONNECT) {
1528 + assert(0);
1530 + retval = ldp_event(ldp->h, socket, socket->extra,
1531 + LDP_EVENT_TCP_CONNECT);
1533 + return 0;
1536 +mpls_socket_mgr_handle mpls_socket_mgr_open(mpls_instance_handle user_data)
1538 + return 0xdeadbeef;
1541 +void mpls_socket_mgr_close(mpls_socket_mgr_handle handle)
1545 +void mpls_socket_close(mpls_socket_mgr_handle handle, mpls_socket_handle socket)
1547 + if (socket) {
1548 + close(socket->fd);
1549 + mpls_free(socket);
1553 +mpls_socket_handle mpls_socket_create_tcp(mpls_socket_mgr_handle handle)
1555 + struct mpls_socket *sock;
1556 + sock = mpls_malloc(sizeof(struct mpls_socket));
1557 + memset(sock,0,sizeof(struct mpls_socket));
1558 + sock->fd = socket(AF_INET, SOCK_STREAM, 0);
1559 + MPLS_ASSERT(sock->fd > -1);
1560 + return sock;
1563 +mpls_socket_handle mpls_socket_create_udp(mpls_socket_mgr_handle handle)
1565 + struct mpls_socket *sock;
1566 + u_char one = 1;
1568 + sock = mpls_malloc(sizeof(struct mpls_socket));
1569 + memset(sock,0,sizeof(struct mpls_socket));
1570 + sock->fd = socket(AF_INET, SOCK_DGRAM, 0);
1571 + MPLS_ASSERT(sock->fd > -1);
1572 + if (setsockopt(sock->fd,SOL_IP,IP_PKTINFO,&one,sizeof(one)) < 0) {
1573 + perror("PKTINFO");
1574 + mpls_free(sock);
1575 + return NULL;
1577 + return sock;
1580 +mpls_socket_handle mpls_socket_create_raw(mpls_socket_mgr_handle handle,
1581 + int proto)
1583 + struct mpls_socket *sock;
1584 + u_char one = 1;
1586 + sock = mpls_malloc(sizeof(struct mpls_socket));
1587 + memset(sock,0,sizeof(struct mpls_socket));
1588 + sock->fd = socket(AF_INET, SOCK_RAW, proto);
1589 + MPLS_ASSERT(sock->fd > -1);
1590 + if (setsockopt(sock->fd,SOL_IP,IP_PKTINFO,&one,sizeof(one)) < 0) {
1591 + perror("PKTINFO");
1592 + mpls_free(sock);
1593 + return NULL;
1595 + return sock;
1598 +mpls_socket_handle mpls_socket_tcp_accept(mpls_socket_mgr_handle handle,
1599 + mpls_socket_handle socket, mpls_dest * from)
1601 + struct mpls_socket *sock = mpls_malloc(sizeof(struct mpls_socket));
1602 + struct sockaddr addr;
1603 + int size = sizeof(addr);
1605 + if ((sock->fd = accept(socket->fd,&addr,&size)) < 0) {
1606 + return NULL;
1609 + _sockaddr2mpls_dest(&addr, from);
1610 + return sock;
1613 +mpls_return_enum mpls_socket_bind(mpls_socket_mgr_handle handle,
1614 + mpls_socket_handle socket, const mpls_dest * local)
1616 + struct sockaddr addr;
1618 + _mpls_dest2sockaddr(local, &addr);
1620 + if (bind(socket->fd, &addr, sizeof(struct sockaddr_in)) < 0) {
1621 + return MPLS_FAILURE;
1624 + return MPLS_SUCCESS;
1627 +mpls_return_enum mpls_socket_tcp_listen(mpls_socket_mgr_handle handle,
1628 + mpls_socket_handle socket, int depth)
1630 + if (listen(socket->fd, depth) < 0) {
1631 + return MPLS_FAILURE;
1633 + return MPLS_SUCCESS;
1636 +mpls_return_enum mpls_socket_tcp_connect(mpls_socket_mgr_handle handle,
1637 + mpls_socket_handle socket, const mpls_dest * to)
1639 + struct sockaddr addr, *iaddr = NULL;
1641 + if (to != NULL) {
1642 + _mpls_dest2sockaddr(to, &addr);
1643 + iaddr = &addr;
1644 + } else {
1645 + iaddr = NULL;
1648 + if (connect(socket->fd, iaddr, sizeof(struct sockaddr)) < 0) {
1649 + if (errno == EINPROGRESS) {
1650 + return MPLS_NON_BLOCKING;
1653 + if (errno == EALREADY) {
1654 + return MPLS_SUCCESS;
1656 + perror("connect");
1657 + return MPLS_FAILURE;
1659 + return MPLS_SUCCESS;
1662 +mpls_return_enum mpls_socket_connect_status(mpls_socket_mgr_handle handle,
1663 + mpls_socket_handle socket)
1665 + int size = sizeof(int);
1666 + int num = 1;
1668 + if (getsockopt(socket->fd, SOL_SOCKET, SO_ERROR, &num, &size) < 0) {
1669 + perror("getsockopt");
1670 + return MPLS_FAILURE;
1672 + if (!num) {
1673 + return MPLS_SUCCESS;
1675 + perror("getsockopt");
1676 + return MPLS_NON_BLOCKING;
1679 +int mpls_socket_get_errno(const mpls_socket_mgr_handle handle,
1680 + mpls_socket_handle socket)
1682 + return errno;
1685 +mpls_return_enum mpls_socket_options(mpls_socket_mgr_handle handle,
1686 + mpls_socket_handle socket, uint32_t flag)
1688 + int one = 1;
1690 + if (flag & MPLS_SOCKOP_REUSE) {
1691 + if (setsockopt(socket->fd, SOL_SOCKET, SO_REUSEADDR, (char *)&one,
1692 + sizeof(one)) < 0) {
1693 + return MPLS_FAILURE;
1696 + if (flag & MPLS_SOCKOP_NONBLOCK) {
1697 + if (fcntl(socket->fd, F_SETFL, O_NONBLOCK) < 0) {
1698 + return MPLS_FAILURE;
1701 + if (flag & MPLS_SOCKOP_ROUTERALERT) {
1702 + if (setsockopt(socket->fd, SOL_IP, IP_ROUTER_ALERT, (char *)&one,
1703 + sizeof(one)) < 0) {
1704 + return MPLS_FAILURE;
1707 + if (flag & MPLS_SOCKOP_HDRINCL) {
1708 + if (setsockopt(socket->fd, SOL_IP, IP_HDRINCL, (char *)&one,
1709 + sizeof(one)) < 0) {
1710 + return MPLS_FAILURE;
1713 + return MPLS_SUCCESS;
1716 +mpls_return_enum mpls_socket_multicast_options(mpls_socket_mgr_handle handle,
1717 + mpls_socket_handle socket, int ttl, int loop)
1719 + int zero = loop;
1720 + int one = ttl;
1722 + if (setsockopt(socket->fd,SOL_IP,IP_MULTICAST_TTL,&one,sizeof(one))<0) {
1723 + return MPLS_FAILURE;
1726 + if (setsockopt(socket->fd,SOL_IP,IP_MULTICAST_LOOP,&zero,sizeof(zero))<0) {
1727 + return MPLS_FAILURE;
1730 + return MPLS_SUCCESS;
1733 +mpls_return_enum mpls_socket_multicast_if_tx(mpls_socket_mgr_handle handle,
1734 + mpls_socket_handle socket, const ldp_if * iff)
1736 + struct in_addr addr;
1737 + unsigned int ifindex = 0;
1738 + addr.s_addr = 0;
1740 + if (iff == NULL) {
1741 + addr.s_addr = ntohl(INADDR_ANY);
1742 + } else {
1743 + ifindex = iff->handle->ifindex;
1746 + if (setsockopt_multicast_ipv4(socket->fd,IP_MULTICAST_IF,addr,0,ifindex)<0) {
1747 + return MPLS_FAILURE;
1750 + return MPLS_SUCCESS;
1753 +mpls_return_enum mpls_socket_multicast_if_join(mpls_socket_mgr_handle handle,
1754 + mpls_socket_handle socket, const ldp_if * iff, const mpls_inet_addr * mult)
1756 + struct in_addr addr;
1757 + unsigned int ifindex = 0;
1758 + addr.s_addr = 0;
1760 + if (iff == NULL) {
1761 + addr.s_addr = ntohl(INADDR_ANY);
1762 + } else {
1763 + ifindex = iff->handle->ifindex;
1766 + if (setsockopt_multicast_ipv4(socket->fd,IP_ADD_MEMBERSHIP,addr,
1767 + htonl(mult->u.ipv4),ifindex)<0) {
1768 + return MPLS_FAILURE;
1771 + return MPLS_SUCCESS;
1774 +void mpls_socket_multicast_if_drop(mpls_socket_mgr_handle handle,
1775 + mpls_socket_handle socket, const ldp_if * iff, const mpls_inet_addr * mult)
1777 + struct in_addr addr;
1778 + unsigned int ifindex = 0;
1779 + addr.s_addr = 0;
1781 + if (iff == NULL) {
1782 + addr.s_addr = ntohl(INADDR_ANY);
1783 + } else {
1784 + ifindex = iff->handle->ifindex;
1787 + if (setsockopt_multicast_ipv4(socket->fd,IP_DROP_MEMBERSHIP,addr,
1788 + htonl(mult->u.ipv4),ifindex)<0) {
1789 + return;
1792 + return;
1795 +mpls_return_enum mpls_socket_readlist_add(mpls_socket_mgr_handle handle,
1796 + mpls_socket_handle socket, void *extra, mpls_socket_enum type)
1798 + socket->type = type;
1799 + socket->extra = extra;
1800 + MPLS_ASSERT(socket && (socket->fd > -1));
1801 + socket->read = thread_add_read(master,mplsd_read,socket,socket->fd);
1802 + MPLS_ASSERT(socket->read);
1803 + return MPLS_SUCCESS;
1806 +void mpls_socket_readlist_del(mpls_socket_mgr_handle handle,
1807 + mpls_socket_handle socket)
1809 + if (socket && socket->read) {
1810 + thread_cancel(socket->read);
1811 + socket->read = NULL;
1815 +mpls_return_enum mpls_socket_writelist_add(mpls_socket_mgr_handle handle,
1816 + mpls_socket_handle socket, void *extra, mpls_socket_enum type)
1818 + socket->type = type;
1819 + socket->extra = extra;
1820 + MPLS_ASSERT(socket && (socket->fd > -1));
1821 + socket->write = thread_add_write(master,mplsd_write,socket,socket->fd);
1822 + MPLS_ASSERT(socket->write);
1823 + return MPLS_SUCCESS;
1826 +void mpls_socket_writelist_del(mpls_socket_mgr_handle handle,
1827 + mpls_socket_handle socket)
1829 + if (socket) {
1830 + thread_cancel(socket->write);
1831 + socket->write = NULL;
1835 +int mpls_socket_tcp_read(mpls_socket_mgr_handle handle, mpls_socket_handle socket,
1836 + uint8_t * buffer, int size)
1838 + int ret = read(socket->fd,buffer,size);
1839 + if (ret < 0 && errno != EAGAIN) {
1840 + perror("mpls_socket_tcp_read");
1841 + return 0;
1843 + return ret;
1846 +int mpls_socket_tcp_write(mpls_socket_mgr_handle handle, mpls_socket_handle socket,
1847 + uint8_t * buffer, int size)
1849 + return write(socket->fd,buffer,size);
1852 +int mpls_socket_udp_sendto(mpls_socket_mgr_handle handle,
1853 + mpls_socket_handle socket, uint8_t * buffer, int size, const mpls_dest * to)
1855 + struct sockaddr addr;
1856 + int retval;
1858 + _mpls_dest2sockaddr(to, &addr);
1860 + retval = sendto(socket->fd,buffer,size,0,&addr,sizeof(struct sockaddr));
1862 + return retval;
1865 +int mpls_socket_udp_recvfrom(mpls_socket_mgr_handle handle,
1866 + mpls_socket_handle socket, uint8_t * buffer, int size, mpls_dest * from)
1868 + int ret;
1869 + unsigned int ifindex = 0;
1870 + struct iovec iov;
1871 + struct cmsghdr *cmsg;
1872 + struct in_pktinfo *pktinfo;
1873 + struct sockaddr addr;
1874 + char buff [sizeof (*cmsg) + sizeof (*pktinfo)];
1875 + struct msghdr msgh = {&addr, sizeof(struct sockaddr), &iov, 1, buff,
1876 + sizeof (*cmsg) + sizeof (*pktinfo), 0};
1878 + iov.iov_base = buffer;
1879 + iov.iov_len = size;
1880 + ret = recvmsg(socket->fd,&msgh,0);
1882 + if (ret < 0 && errno != EAGAIN) {
1883 + return 0;
1886 + cmsg = CMSG_FIRSTHDR(&msgh);
1888 + if (cmsg != NULL &&
1889 + cmsg->cmsg_level == IPPROTO_IP &&
1890 + cmsg->cmsg_type == IP_PKTINFO) {
1891 + pktinfo = (struct in_pktinfo *)CMSG_DATA(cmsg);
1892 + ifindex = pktinfo->ipi_ifindex;
1893 + from->if_handle = if_lookup_by_index(ifindex);
1894 + _sockaddr2mpls_dest((const struct sockaddr*)&addr, from);
1897 + return ret;
1899 diff --exclude=rsvpd -uNr quagga/ldpd/impl_timer.c quagga-mpls/ldpd/impl_timer.c
1900 --- quagga/ldpd/impl_timer.c 1969-12-31 18:00:00.000000000 -0600
1901 +++ quagga-mpls/ldpd/impl_timer.c 2004-05-19 21:40:47.000000000 -0500
1902 @@ -0,0 +1,93 @@
1903 +#include "ldp_struct.h"
1904 +#include "mpls_timer_impl.h"
1905 +#include "mpls_mm_impl.h"
1907 +#include "thread.h"
1909 +struct mpls_timer {
1910 + struct thread *timer;
1911 + mpls_time_unit_enum unit;
1912 + int duration;
1913 + int type;
1914 + void *extra;
1915 + mpls_cfg_handle g;
1916 + void (*callback) (mpls_timer_handle timer, void *extra, mpls_cfg_handle g);
1917 + int active;
1920 +extern struct thread_master *master;
1922 +int mpls_timer(struct thread* thread) {
1923 + mpls_timer_handle timer = THREAD_ARG(thread);
1925 + timer->active = 0;
1926 + if (timer->type == MPLS_TIMER_REOCCURRING) {
1927 + timer->timer = thread_add_timer(master,mpls_timer,timer,timer->duration);
1928 + timer->active = 1;
1930 + timer->callback(timer,timer->extra,timer->g);
1932 + return 0;
1935 +mpls_timer_mgr_handle mpls_timer_open(mpls_instance_handle user_data)
1937 + return 0xdeadbeef;
1940 +void mpls_timer_close(mpls_timer_mgr_handle handle)
1944 +mpls_timer_handle mpls_timer_create(mpls_timer_mgr_handle handle,
1945 + mpls_time_unit_enum unit, int duration, void *extra, mpls_cfg_handle g,
1946 + void (*callback) (mpls_timer_handle timer, void *extra, mpls_cfg_handle g))
1948 + struct mpls_timer *timer;
1949 + timer = mpls_malloc(sizeof(struct mpls_timer));
1950 + timer->unit = unit;
1951 + timer->duration = duration;
1952 + timer->extra = extra;
1953 + timer->g = g;
1954 + timer->callback = callback;
1955 + timer->active = 0;
1957 + return timer;
1960 +mpls_return_enum mpls_timer_modify(mpls_timer_mgr_handle handle,
1961 + mpls_timer_handle timer, int duration)
1963 + if (!timer) {
1964 + return MPLS_FAILURE;
1966 + timer->duration = duration;
1967 + return MPLS_SUCCESS;
1970 +void mpls_timer_delete(mpls_timer_mgr_handle handle, mpls_timer_handle timer)
1972 + if (timer) {
1973 + mpls_free(timer);
1977 +mpls_return_enum mpls_timer_start(mpls_timer_mgr_handle handle,
1978 + mpls_timer_handle timer, mpls_timer_type_enum type)
1980 + if (!timer) {
1981 + return MPLS_FAILURE;
1983 + timer->type = type;
1984 + timer->timer = thread_add_timer(master,mpls_timer,timer,timer->duration);
1985 + timer->active = 1;
1986 + return MPLS_SUCCESS;
1989 +void mpls_timer_stop(mpls_timer_mgr_handle handle, mpls_timer_handle timer)
1991 + if (timer && timer->active) {
1992 + thread_cancel(timer->timer);
1993 + timer->timer = NULL;
1996 diff --exclude=rsvpd -uNr quagga/ldpd/impl_tree.c quagga-mpls/ldpd/impl_tree.c
1997 --- quagga/ldpd/impl_tree.c 1969-12-31 18:00:00.000000000 -0600
1998 +++ quagga-mpls/ldpd/impl_tree.c 2004-06-15 13:50:46.000000000 -0500
1999 @@ -0,0 +1,159 @@
2000 +#include <zebra.h>
2001 +#include "prefix.h"
2002 +#include "table.h"
2004 +#include "ldp_struct.h"
2005 +#include "mpls_mm_impl.h"
2006 +#include "mpls_tree_impl.h"
2008 +mpls_tree_handle mpls_tree_create(int depth)
2010 + return route_table_init();
2013 +mpls_return_enum mpls_tree_insert(mpls_tree_handle tree, uint32_t key, int length,
2014 + void *info)
2016 + struct route_node *node;
2017 + struct prefix p;
2019 + p.family = AF_INET;
2020 + p.prefixlen = length;
2021 + p.u.prefix4.s_addr = key;
2023 + if ((node = route_node_get(tree,&p))) {
2024 + /* result is that the node is 'held', it will be held */
2025 + /* until it is deleted from the tree */
2026 + node->info = info;
2027 + return MPLS_SUCCESS;
2029 + return MPLS_FAILURE;
2032 +mpls_return_enum mpls_tree_remove(mpls_tree_handle tree, uint32_t key,
2033 + int length, void **info)
2035 + struct route_node *node;
2036 + struct prefix p;
2038 + p.family = AF_INET;
2039 + p.prefixlen = length;
2040 + p.u.prefix4.s_addr = key;
2042 + if ((node = route_node_lookup(tree,&p))) {
2043 + *info = node->info;
2044 + node->info = NULL;
2045 + route_unlock_node(node);
2046 + route_unlock_node(node);
2047 + return MPLS_SUCCESS;
2049 + return MPLS_FAILURE;
2052 +mpls_return_enum mpls_tree_replace(mpls_tree_handle tree, uint32_t key, int length,
2053 + void *new, void **old)
2055 + struct route_node *node;
2056 + struct prefix p;
2058 + p.family = AF_INET;
2059 + p.prefixlen = length;
2060 + p.u.prefix4.s_addr = key;
2062 + if ((node = route_node_lookup(tree,&p))) {
2063 + *old = node->info;
2064 + node->info = new;
2065 + route_unlock_node(node);
2066 + return MPLS_SUCCESS;
2068 + return MPLS_FAILURE;
2071 +mpls_return_enum mpls_tree_get(mpls_tree_handle tree, uint32_t key, int length,
2072 + void **info)
2074 + struct route_node *node;
2075 + struct prefix p;
2077 + p.family = AF_INET;
2078 + p.prefixlen = length;
2079 + p.u.prefix4.s_addr = key;
2081 + if ((node = route_node_lookup(tree,&p))) {
2082 + *info = node->info;
2083 + route_unlock_node(node);
2084 + return MPLS_SUCCESS;
2086 + return MPLS_FAILURE;
2089 +mpls_return_enum mpls_tree_get_longest(mpls_tree_handle tree, uint32_t key,
2090 + void **info)
2092 + struct route_node *node;
2093 + struct prefix p;
2095 + p.family = AF_INET;
2096 + p.prefixlen = 0;
2097 + p.u.prefix4.s_addr = key;
2099 + if ((node = route_node_match(tree,&p))) {
2100 + *info = node->info;
2101 + route_unlock_node(node);
2102 + return MPLS_SUCCESS;
2104 + return MPLS_FAILURE;
2107 +void mpls_tree_dump(const mpls_tree_handle tree, ldp_tree_callback callback)
2111 +void mpls_tree_delete(mpls_tree_handle tree)
2113 + route_table_finish(tree);
2116 +mpls_return_enum mpls_tree_getfirst(mpls_tree_handle tree, uint32_t * key,
2117 + int *length, void **info)
2119 + struct route_node *node;
2120 + struct prefix p;
2122 + p.family = AF_INET;
2123 + p.prefixlen = 0;
2124 + p.u.prefix4.s_addr = 0;
2126 + if ((node = route_node_match(tree,&p))) {
2127 + *info = node->info;
2128 + *length = node->p.prefixlen;
2129 + *key = node->p.u.prefix4.s_addr;
2130 + route_unlock_node(node);
2131 + return MPLS_SUCCESS;
2133 + return MPLS_FAILURE;
2136 +mpls_return_enum mpls_tree_getnext(mpls_tree_handle tree, uint32_t * key,
2137 + int *length, void **info)
2139 + struct route_node *node;
2140 + struct prefix p;
2142 + p.family = AF_INET;
2143 + p.prefixlen = *length;
2144 + p.u.prefix4.s_addr = *key;
2146 + if (!(node = route_node_match(tree,&p))) {
2147 + return MPLS_FAILURE;
2150 + if ((node = route_next(node))) {
2151 + *info = node->info;
2152 + *length = node->p.prefixlen;
2153 + *key = node->p.u.prefix4.s_addr;
2154 + route_unlock_node(node);
2155 + return MPLS_SUCCESS;
2157 + return MPLS_FAILURE;
2159 diff --exclude=rsvpd -uNr quagga/ldpd/l2cc_interface.c quagga-mpls/ldpd/l2cc_interface.c
2160 --- quagga/ldpd/l2cc_interface.c 1969-12-31 18:00:00.000000000 -0600
2161 +++ quagga-mpls/ldpd/l2cc_interface.c 2004-06-15 16:03:24.000000000 -0500
2162 @@ -0,0 +1,98 @@
2163 +#include <zebra.h>
2164 +#include "memory.h"
2166 +#include "ldp.h"
2167 +#include "ldp_cfg.h"
2168 +#include "ldp_struct.h"
2170 +#include "ldp_interface.h"
2172 +struct l2cc_interface *l2cc_if_new(struct ldp_interface *mi) {
2173 + struct l2cc_interface *li;
2175 + li = XMALLOC(MTYPE_LDP, sizeof(struct l2cc_interface));
2176 + memset(li, 0, sizeof(struct l2cc_interface));
2177 + li->mi = mi;
2179 + li->admin_up = MPLS_BOOL_TRUE;
2180 + li->create_on_hold = MPLS_BOOL_FALSE;
2182 + return li;
2185 +void l2cc_if_free(struct l2cc_interface *li) {
2186 + XFREE(MTYPE_LDP, li);
2189 +void l2cc_interface_create(struct ldp_interface *mi) {
2190 + struct ldp *ldp = ldp_get();
2192 + mi->l2cc->create_on_hold = MPLS_BOOL_FALSE;
2194 + ldp_cfg_fec_set(ldp->h, &mi->l2cc->l2cc, LDP_CFG_ADD);
2195 + ldp_cfg_fec_get(ldp->h, &mi->l2cc->l2cc, 0xFFFFFFFF);
2197 + l2cc_interface_admin_state_finish(mi);
2200 +void l2cc_interface_delete(struct ldp_interface *mi) {
2201 + struct ldp *ldp = ldp_get();
2203 + mi->l2cc->create_on_hold = MPLS_BOOL_TRUE;
2205 + if (ldp) {
2206 + l2cc_interface_admin_state_start(mi);
2207 + ldp_cfg_fec_set(ldp->h, &mi->l2cc->l2cc, LDP_CFG_DEL);
2209 + mi->l2cc->l2cc.index = 0;
2212 +int l2cc_interface_startup(struct ldp_interface *mi) {
2213 + struct ldp *ldp = ldp_get();
2215 + if (!mi->l2cc->l2cc.index) {
2216 + return MPLS_FAILURE;
2219 + ldp_cfg_fec_set(ldp->h, &mi->l2cc->l2cc, LDP_CFG_ADD);
2221 + return MPLS_SUCCESS;
2224 +int l2cc_interface_shutdown(struct ldp_interface *mi) {
2225 + struct ldp *ldp = ldp_get();
2227 + if (!mi->l2cc->l2cc.index) {
2228 + return MPLS_FAILURE;
2231 + ldp_cfg_fec_set(ldp->h, &mi->l2cc->l2cc, LDP_CFG_DEL);
2233 + return MPLS_SUCCESS;
2236 +int l2cc_interface_admin_state_start(struct ldp_interface *mi) {
2237 + if (mi->l2cc->admin_up == MPLS_BOOL_TRUE && ldp_interface_is_up(mi)) {
2238 + return l2cc_interface_shutdown(mi);
2240 + return MPLS_SUCCESS;
2243 +int l2cc_interface_admin_state_finish(struct ldp_interface *mi) {
2244 + if (mi->l2cc->admin_up == MPLS_BOOL_TRUE && ldp_interface_is_up(mi)) {
2245 + return l2cc_interface_startup(mi);
2247 + return MPLS_SUCCESS;
2250 +void l2cc_if_up(struct ldp_interface *mi) {
2251 + if (mi->l2cc && mi->l2cc->admin_up == MPLS_BOOL_TRUE) {
2252 + l2cc_interface_startup(mi);
2256 +void l2cc_if_down(struct ldp_interface *mi) {
2257 + if (mi->l2cc && mi->l2cc->admin_up == MPLS_BOOL_TRUE) {
2258 + l2cc_interface_shutdown(mi);
2261 diff --exclude=rsvpd -uNr quagga/ldpd/l2cc_interface.h quagga-mpls/ldpd/l2cc_interface.h
2262 --- quagga/ldpd/l2cc_interface.h 1969-12-31 18:00:00.000000000 -0600
2263 +++ quagga-mpls/ldpd/l2cc_interface.h 2004-05-24 21:35:01.000000000 -0500
2264 @@ -0,0 +1,29 @@
2265 +#ifndef L2CC_IF_H
2266 +#define L2CC_IF_H
2268 +#include "ldp_struct.h"
2270 +struct ldp_interface;
2272 +struct l2cc_interface {
2273 + struct ldp_interface *mi;
2274 + mpls_fec l2cc;
2275 + mpls_bool admin_up;
2276 + mpls_bool create_on_hold;
2279 +struct l2cc_interface *l2cc_if_new(struct ldp_interface *mi);
2280 +void l2cc_if_free(struct l2cc_interface *li);
2282 +void l2cc_if_up(struct ldp_interface *mi);
2283 +void l2cc_if_down(struct ldp_interface *mi);
2285 +int l2cc_interface_startup(struct ldp_interface *mi);
2286 +int l2cc_interface_shutdown(struct ldp_interface *mi);
2288 +void l2cc_interface_create(struct ldp_interface *mi);
2289 +void l2cc_interface_delete(struct ldp_interface *mi);
2290 +int l2cc_interface_admin_state_start(struct ldp_interface *mi);
2291 +int l2cc_interface_admin_state_finish(struct ldp_interface *mi);
2293 +#endif
2294 diff --exclude=rsvpd -uNr quagga/ldpd/ldp.c quagga-mpls/ldpd/ldp.c
2295 --- quagga/ldpd/ldp.c 1969-12-31 18:00:00.000000000 -0600
2296 +++ quagga-mpls/ldpd/ldp.c 2004-06-15 16:30:34.000000000 -0500
2297 @@ -0,0 +1,254 @@
2298 +#include <zebra.h>
2300 +#include "memory.h"
2301 +#include "log.h"
2302 +#include "thread.h"
2303 +#include "prefix.h"
2304 +#include "table.h"
2305 +#include "linklist.h"
2306 +#include "filter.h"
2307 +#include "vty.h"
2308 +#include "plist.h"
2310 +#include "ldp.h"
2311 +#include "ldp_cfg.h"
2312 +#include "ldp_struct.h"
2313 +#include "ldp_interface.h"
2314 +#include "ldp_zebra.h"
2316 +#include "impl_fib.h"
2318 +int ldp_shutdown(struct ldp *ldp) {
2319 + ldp_global g;
2321 + g.admin_state = MPLS_ADMIN_DISABLE;
2322 + return ldp_cfg_global_set(ldp->h,&g,LDP_GLOBAL_CFG_ADMIN_STATE);
2325 +int ldp_startup(struct ldp *ldp) {
2326 + ldp_global g;
2328 + g.admin_state = MPLS_ADMIN_ENABLE;
2329 + return ldp_cfg_global_set(ldp->h,&g,LDP_GLOBAL_CFG_ADMIN_STATE);
2332 +int ldp_admin_state_start(struct ldp *ldp) {
2333 + if (ldp->admin_up == MPLS_BOOL_TRUE) {
2334 + return ldp_shutdown(ldp);
2336 + return MPLS_SUCCESS;
2339 +int ldp_admin_state_finish(struct ldp *ldp) {
2340 + if (ldp->admin_up == MPLS_BOOL_TRUE) {
2341 + return ldp_startup(ldp);
2343 + return MPLS_SUCCESS;
2346 +int do_ldp_router_id_update(struct ldp *ldp, unsigned int router_id) {
2347 + ldp_global g;
2348 + g.lsr_identifier.type = MPLS_FAMILY_IPV4;
2349 + g.lsr_identifier.u.ipv4 = router_id;
2350 + g.transport_address.type = MPLS_FAMILY_IPV4;
2351 + g.transport_address.u.ipv4 = router_id;
2352 + return ldp_cfg_global_set(ldp->h,&g,
2353 + LDP_GLOBAL_CFG_LSR_IDENTIFIER|LDP_GLOBAL_CFG_TRANS_ADDR);
2356 +int ldp_router_id_update(struct ldp *ldp, struct prefix *router_id) {
2358 + zlog_info("router-id update %s", inet_ntoa(router_id->u.prefix4));
2360 + if (!ldp->lsr_id_is_static) {
2361 + ldp_admin_state_start(ldp);
2363 + do_ldp_router_id_update(ldp, ntohl(router_id->u.prefix4.s_addr));
2365 + ldp_admin_state_finish(ldp);
2367 + return 0;
2370 +/* LDP instance top. */
2371 +struct ldp *ldp_top = NULL;
2373 +struct ldp *ldp_new(void) {
2374 + struct ldp *new = XMALLOC(MTYPE_LDP, sizeof(struct ldp));
2375 + ldp_global g;
2376 + struct route_node *rn;
2378 + struct interface *ifp;
2379 + struct connected *c;
2380 + listnode node, cnode;
2381 + struct ldp_interface *li;
2382 + struct ldp_addr addr;
2383 + struct prefix *p;
2385 + memset(new,0,sizeof(*new));
2387 + new->h = ldp_cfg_open(new);
2388 + new->admin_up = MPLS_BOOL_TRUE;
2389 + new->lsr_id_is_static = 0;
2391 + new->egress = LDP_EGRESS_CONNECTED;
2392 + new->address = LDP_ADDRESS_ALL;
2393 + new->peer_list = list_new();
2395 + ldp_top = new;
2397 + do_ldp_router_id_update(new, ntohl(router_id.u.prefix4.s_addr));
2398 + g.admin_state = MPLS_ADMIN_ENABLE;
2400 + ldp_cfg_global_set(new->h,&g, LDP_GLOBAL_CFG_LSR_HANDLE|
2401 + LDP_GLOBAL_CFG_ADMIN_STATE);
2403 + for (node = listhead(iflist); node; nextnode(node)) {
2404 + ifp = getdata(node);
2405 + MPLS_ASSERT(ifp->info);
2406 + li = ifp->info;
2408 + ldp_interface_create(li);
2410 + for (cnode = listhead (ifp->connected); cnode; nextnode (cnode)) {
2411 + c = getdata (cnode);
2412 + p = c->address;
2413 + if (p->family == AF_INET) {
2414 + prefix2mpls_inet_addr(p, &addr.address);
2415 + ldp_cfg_if_addr_set(new->h, &li->iff, &addr, LDP_CFG_ADD);
2420 + rn = route_top(table);
2421 + while (rn) {
2422 + if (rn->info) {
2423 + struct mpls_node *mn;
2424 + struct listnode* ln;
2425 + struct mpls_nh *nh;
2426 + mpls_fec fec;
2428 + zebra_prefix2mpls_fec(&rn->p, &fec);
2429 + mn = rn->info;
2430 + LIST_LOOP(mn->list, nh, ln) {
2431 + mpls_nexthop nexthop;
2432 + memcpy(&nexthop, &nh->info, sizeof(struct mpls_nexthop));
2433 + ldp_add_ipv4(new, &fec, &nexthop);
2436 + rn = route_next2(rn);
2438 + return new;
2441 +struct ldp *ldp_get() {
2442 + if (ldp_top) {
2443 + return ldp_top;
2445 + return NULL;
2448 +void ldp_finish(struct ldp *ldp) {
2449 + struct ldp_interface *li;
2450 + struct interface *ifp;
2451 + listnode node;
2453 + ldp_admin_state_start(ldp);
2455 +#if 0
2456 + rn = route_top(table);
2457 + while (rn) {
2458 + if (rn->info) {
2459 + mpls_fec fec;
2461 + zebra_prefix2mpls_fec(&rn->p, &fec);
2462 + ldp_cfg_fec_get(ldp->h, &fec, 0);
2463 + ldp_cfg_fec_set(ldp->h, &fec, LDP_FEC_CFG_BY_INDEX|LDP_CFG_DEL);
2465 + rn = route_next2(rn);
2467 +#endif
2469 + ldp_cfg_close(ldp->h);
2470 + list_free(ldp->peer_list);
2472 + XFREE(MTYPE_LDP,ldp);
2474 + ldp_top = NULL;
2476 + /* it is key that ldp_interface_delete is called _after_ we
2477 + * set ldp_top to NULL. This is so the check for ldp fails
2478 + * and we do not try and send config changes into ldp */
2479 + for (node = listhead(iflist); node; nextnode(node)) {
2480 + ifp = getdata(node);
2481 + li = (struct ldp_interface*)ifp->info;
2482 + if (li) {
2483 + ldp_interface_delete(li);
2485 +#if 0
2486 + if (li->l2cc && li->l2cc->l2cc.index) {
2487 + l2cc_interface_delete(li);
2489 +#endif
2494 +int ldp_add_ipv4(struct ldp *ldp, mpls_fec *fec,
2495 + mpls_nexthop *nexthop) {
2496 + if (ldp_cfg_fec_get(ldp->h, fec, 0) != MPLS_SUCCESS) {
2497 + if (ldp_cfg_fec_set(ldp->h, fec, LDP_CFG_ADD) != MPLS_SUCCESS) {
2498 + MPLS_ASSERT(0);
2502 + if (ldp_cfg_fec_nexthop_get(ldp->h, fec, nexthop,
2503 + LDP_FEC_CFG_BY_INDEX) != MPLS_SUCCESS) {
2504 + if (ldp_cfg_fec_nexthop_set(ldp->h, fec, nexthop,
2505 + LDP_CFG_ADD|LDP_FEC_CFG_BY_INDEX) != MPLS_SUCCESS) {
2506 + MPLS_ASSERT(0);
2508 + } else {
2509 + MPLS_ASSERT(0);
2511 + return 0;
2514 +int ldp_delete_ipv4(struct ldp *ldp, mpls_fec *fec,
2515 + mpls_nexthop *nexthop) {
2516 + if (ldp_cfg_fec_get(ldp->h, fec, 0) == MPLS_SUCCESS) {
2517 + if (ldp_cfg_fec_nexthop_get(ldp->h, fec, nexthop,
2518 + LDP_FEC_CFG_BY_INDEX) == MPLS_SUCCESS) {
2519 + if (ldp_cfg_fec_nexthop_set(ldp->h, fec, nexthop,
2520 + LDP_FEC_CFG_BY_INDEX|LDP_CFG_DEL|
2521 + LDP_FEC_NEXTHOP_CFG_BY_INDEX) != MPLS_SUCCESS) {
2522 + MPLS_ASSERT(0);
2524 + } else {
2525 + MPLS_ASSERT(0);
2527 + } else {
2528 + MPLS_ASSERT(0);
2530 + return 0;
2533 +#if 0
2534 +/* Update access-list list. */
2535 +void mpls_access_list_update(struct access_list *access) {
2538 +/* Update prefix-list list. */
2539 +void mpls_prefix_list_update(struct prefix_list *plist) {
2541 +#endif
2543 +void ldp_init() {
2545 +#if 0
2546 + access_list_init();
2547 + access_list_add_hook(mpls_access_list_update);
2548 + access_list_delete_hook(mpls_access_list_update);
2549 +#endif
2552 diff --exclude=rsvpd -uNr quagga/ldpd/ldpd.conf.sample quagga-mpls/ldpd/ldpd.conf.sample
2553 --- quagga/ldpd/ldpd.conf.sample 1969-12-31 18:00:00.000000000 -0600
2554 +++ quagga-mpls/ldpd/ldpd.conf.sample 2004-05-19 21:40:47.000000000 -0500
2555 @@ -0,0 +1,17 @@
2557 +! Zebra configuration saved from vty
2558 +! 2002/03/23 17:07:30
2560 +hostname uml-1
2561 +password root
2562 +enable password root
2564 +mpls ldp
2566 +interface lo
2568 +interface eth0
2569 + mpls ldp
2571 +line vty
2573 diff --exclude=rsvpd -uNr quagga/ldpd/ldp.h quagga-mpls/ldpd/ldp.h
2574 --- quagga/ldpd/ldp.h 1969-12-31 18:00:00.000000000 -0600
2575 +++ quagga-mpls/ldpd/ldp.h 2004-06-03 21:50:05.000000000 -0500
2576 @@ -0,0 +1,49 @@
2577 +#ifndef LDP_H
2578 +#define LDP_H
2580 +#include <zebra.h>
2581 +#include "sockunion.h"
2582 +#include "prefix.h"
2583 +#include "zclient.h"
2584 +#include "linklist.h"
2585 +#include "if.h"
2587 +#include "ldp_struct.h"
2589 +#define LDP_DEFAULT_CONFIG "ldpd.conf"
2590 +#define LDP_VTY_PORT 2610
2592 +typedef enum {
2593 + LDP_EGRESS_ALL,
2594 + LDP_EGRESS_LSRID,
2595 + LDP_EGRESS_CONNECTED
2596 +} ldp_egress_mode;
2598 +typedef enum {
2599 + LDP_ADDRESS_ALL,
2600 + LDP_ADDRESS_LSRID,
2601 + LDP_ADDRESS_LDP
2602 +} ldp_address_mode;
2604 +struct ldp {
2605 + struct list *peer_list;
2606 + mpls_cfg_handle h;
2607 + mpls_bool admin_up;
2608 + mpls_bool lsr_id_is_static;
2609 + ldp_egress_mode egress;
2610 + ldp_address_mode address;
2613 +struct ldp *ldp_get();
2614 +struct ldp *ldp_new();
2615 +void ldp_init();
2616 +int ldp_router_id_update(struct ldp *ldp, struct prefix *router_id);
2617 +int do_ldp_router_id_update(struct ldp *ldp, unsigned int router_id);
2618 +void ldp_finish(struct ldp *ldp);
2620 +int ldp_admin_state_start(struct ldp *ldp);
2621 +int ldp_admin_state_finish(struct ldp *ldp);
2622 +int ldp_add_ipv4(struct ldp *ldp, mpls_fec *fec, mpls_nexthop *nexthop);
2623 +int ldp_delete_ipv4(struct ldp *ldp, mpls_fec *fec, mpls_nexthop *nexthop);
2625 +#endif
2626 diff --exclude=rsvpd -uNr quagga/ldpd/ldp_interface.c quagga-mpls/ldpd/ldp_interface.c
2627 --- quagga/ldpd/ldp_interface.c 1969-12-31 18:00:00.000000000 -0600
2628 +++ quagga-mpls/ldpd/ldp_interface.c 2004-06-15 16:17:19.000000000 -0500
2629 @@ -0,0 +1,180 @@
2630 +#include <zebra.h>
2632 +#include "if.h"
2633 +#include "memory.h"
2635 +#include "ldp_cfg.h"
2636 +#include "ldp_struct.h"
2638 +#include "ldp.h"
2639 +#include "ldp_interface.h"
2640 +#include "impl_mpls.h"
2642 +struct ldp_interface *ldp_interface_new(struct interface *ifp) {
2643 + struct ldp_interface *li;
2645 + li = XMALLOC(MTYPE_LDP, sizeof(struct ldp_interface));
2646 + if (!li) {
2647 + return NULL;
2649 + memset(li, 0, sizeof(struct ldp_interface));
2650 + li->ifp = ifp;
2651 + ifp->info = li;
2653 + li->labelspace = -1;
2655 + li->configured = MPLS_BOOL_FALSE;
2656 + li->admin_up = MPLS_BOOL_FALSE;
2657 + li->create_on_hold = MPLS_BOOL_TRUE;
2658 + ldp_entity_set_defaults(&li->entity);
2660 + return li;
2663 +void ldp_interface_free(struct ldp_interface *li) {
2664 + XFREE(MTYPE_LDP, li);
2667 +int ldp_interface_create(struct ldp_interface *li) {
2668 + struct ldp *ldp = ldp_get();
2670 + if (!ldp) {
2671 + li->create_on_hold = MPLS_BOOL_TRUE;
2672 + return MPLS_SUCCESS;
2675 + if (!li->iff.index) {
2676 + /* tell LDP about this interface */
2677 + li->iff.label_space = li->labelspace;
2678 + li->iff.handle = li->ifp;
2680 + ldp_cfg_if_set(ldp->h, &li->iff,LDP_CFG_ADD|LDP_IF_CFG_LABEL_SPACE);
2681 + ldp_cfg_if_get(ldp->h, &li->iff, 0xFFFFFFFF);
2684 + if (li->labelspace != li->iff.label_space) {
2685 + li->iff.label_space = li->labelspace;
2686 + ldp_cfg_if_set(ldp->h, &li->iff, LDP_IF_CFG_LABEL_SPACE);
2689 + if (li->configured == MPLS_BOOL_FALSE) {
2690 + return MPLS_SUCCESS;
2693 + li->create_on_hold = MPLS_BOOL_FALSE;
2695 + li->entity.sub_index = li->iff.index;
2696 + li->entity.entity_type = LDP_DIRECT;
2697 + li->entity.admin_state = MPLS_ADMIN_DISABLE;
2698 + li->entity.transport_address.type = MPLS_FAMILY_NONE;
2700 + ldp_cfg_entity_set(ldp->h, &li->entity,
2701 + LDP_CFG_ADD | LDP_ENTITY_CFG_SUB_INDEX |
2702 + LDP_ENTITY_CFG_ADMIN_STATE | LDP_ENTITY_CFG_TRANS_ADDR);
2704 + ldp_cfg_entity_get(ldp->h, &li->entity, 0xFFFFFFFF);
2705 + return ldp_interface_admin_state_finish(li);
2708 +void ldp_interface_delete(struct ldp_interface *li) {
2709 + struct ldp *ldp = ldp_get();
2711 + li->create_on_hold = MPLS_BOOL_TRUE;
2712 + li->entity.admin_state = MPLS_ADMIN_DISABLE;
2714 + if (ldp) {
2715 + ldp_interface_admin_state_start(li);
2716 + if (li->entity.index) {
2717 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_CFG_DEL);
2719 + if (li->iff.index) {
2720 + ldp_cfg_if_set(ldp->h, &li->iff, LDP_CFG_DEL);
2723 + li->entity.index = 0;
2724 + li->iff.index = 0;
2727 +int ldp_interface_startup(struct ldp_interface *li) {
2728 + struct ldp *ldp = ldp_get();
2730 + MPLS_ASSERT(ldp && li->iff.index);
2732 + if (!li->entity.index) {
2733 + return MPLS_SUCCESS;
2735 + li->entity.admin_state = MPLS_ADMIN_ENABLE;
2736 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_ADMIN_STATE);
2738 + return MPLS_SUCCESS;
2741 +int ldp_interface_shutdown(struct ldp_interface *li) {
2742 + struct ldp *ldp = ldp_get();
2744 + MPLS_ASSERT(ldp && li->iff.index);
2746 + if (!li->entity.index) {
2747 + return MPLS_SUCCESS;
2749 + li->entity.admin_state = MPLS_ADMIN_DISABLE;
2750 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_ADMIN_STATE);
2752 + return MPLS_SUCCESS;
2755 +int ldp_interface_admin_state_start(struct ldp_interface *li) {
2756 + if (li->admin_up == MPLS_BOOL_TRUE && ldp_interface_is_up(li)) {
2757 + return ldp_interface_shutdown(li);
2759 + return MPLS_SUCCESS;
2762 +int ldp_interface_admin_state_finish(struct ldp_interface *li) {
2763 + if (li->admin_up == MPLS_BOOL_TRUE && ldp_interface_is_up(li)) {
2764 + return ldp_interface_startup(li);
2766 + return MPLS_SUCCESS;
2769 +void ldp_interface_up(struct ldp_interface *li) {
2770 + if (li->configured == MPLS_BOOL_TRUE && li->admin_up == MPLS_BOOL_TRUE) {
2771 + ldp_interface_startup(li);
2775 +void ldp_interface_down(struct ldp_interface *li) {
2776 + if (li->configured == MPLS_BOOL_TRUE && li->admin_up == MPLS_BOOL_TRUE) {
2777 + ldp_interface_shutdown(li);
2781 +int ldp_interface_is_up(struct ldp_interface *li) {
2782 + return if_is_up(li->ifp);
2785 +static int ldp_interface_new_hook(struct interface *ifp) {
2786 + if (!ldp_interface_new(ifp)) {
2787 + return 1;
2790 + ldp_interface_create(ifp->info);
2792 + return 0;
2795 +static int ldp_interface_delete_hook(struct interface *ifp) {
2796 + if (ifp->info) {
2797 + ldp_interface_delete(ifp->info);
2798 + ldp_interface_free(ifp->info);
2800 + ifp->info = NULL;
2801 + return 0;
2804 +void ldp_interface_init() {
2805 + /* Initialize Zebra interface data structure. */
2806 + if_init();
2807 + if_add_hook(IF_NEW_HOOK, ldp_interface_new_hook);
2808 + if_add_hook(IF_DELETE_HOOK, ldp_interface_delete_hook);
2810 diff --exclude=rsvpd -uNr quagga/ldpd/ldp_interface.h quagga-mpls/ldpd/ldp_interface.h
2811 --- quagga/ldpd/ldp_interface.h 1969-12-31 18:00:00.000000000 -0600
2812 +++ quagga-mpls/ldpd/ldp_interface.h 2004-06-15 16:00:29.000000000 -0500
2813 @@ -0,0 +1,44 @@
2814 +#ifndef LDP_IF_H
2815 +#define LDP_IF_H
2817 +#include <zebra.h>
2819 +#include "if.h"
2820 +#include "command.h"
2821 +#include "prefix.h"
2822 +#include "zclient.h"
2824 +#include "ldp_struct.h"
2825 +#include "l2cc_interface.h"
2827 +struct ldp_interface {
2828 + struct interface *ifp;
2829 + struct connected *connected;
2830 + struct l2cc_interface *l2cc;
2832 + ldp_entity entity;
2833 + ldp_if iff;
2834 + mpls_bool configured;
2835 + mpls_bool admin_up;
2836 + mpls_bool create_on_hold;
2837 + int labelspace;
2840 +struct ldp_interface *ldp_interface_new(struct interface *ifp);
2841 +void ldp_interface_free(struct ldp_interface *li);
2843 +void ldp_interface_up(struct ldp_interface *li);
2844 +void ldp_interface_down(struct ldp_interface *li);
2846 +int ldp_interface_startup(struct ldp_interface *li);
2847 +int ldp_interface_shutdown(struct ldp_interface *li);
2849 +int ldp_interface_create(struct ldp_interface *li);
2850 +void ldp_interface_delete(struct ldp_interface *li);
2851 +int ldp_interface_admin_state_start(struct ldp_interface *li);
2852 +int ldp_interface_admin_state_finish(struct ldp_interface *li);
2853 +int ldp_interface_is_up(struct ldp_interface *li);
2855 +void ldp_interface_init();
2857 +#endif
2858 diff --exclude=rsvpd -uNr quagga/ldpd/ldp_main.c quagga-mpls/ldpd/ldp_main.c
2859 --- quagga/ldpd/ldp_main.c 1969-12-31 18:00:00.000000000 -0600
2860 +++ quagga-mpls/ldpd/ldp_main.c 2004-06-09 21:48:01.000000000 -0500
2861 @@ -0,0 +1,230 @@
2862 +#include <zebra.h>
2864 +#include "version.h"
2865 +#include "getopt.h"
2866 +#include "command.h"
2867 +#include "thread.h"
2868 +#include "filter.h"
2869 +#include "memory.h"
2870 +#include "prefix.h"
2871 +#include "log.h"
2873 +#include "ldp.h"
2874 +#include "ldp_vty.h"
2875 +#include "ldp_zebra.h"
2876 +#include "ldp_interface.h"
2878 +/* Configuration filename and directory. */
2879 +char config_current[] = LDP_DEFAULT_CONFIG;
2880 +char config_default[] = SYSCONFDIR LDP_DEFAULT_CONFIG;
2882 +/* Command line options. */
2883 +struct option longopts[] =
2885 + { "daemon", no_argument, NULL, 'd'},
2886 + { "config_file", required_argument, NULL, 'f'},
2887 + { "log_mode", no_argument, NULL, 'l'},
2888 + { "help", no_argument, NULL, 'h'},
2889 + { "vty_port", required_argument, NULL, 'P'},
2890 + { "vty_addr", required_argument, NULL, 'A'},
2891 + { "version", no_argument, NULL, 'v'},
2892 + { 0 }
2895 +/* Master of threads. */
2896 +struct thread_master *master = NULL;
2898 +/* Process ID saved for use by init system */
2899 +char *pid_file = PATH_LDPD_PID;
2901 +/* Help information display. */
2902 +static void
2903 +usage (char *progname, int status)
2905 + if (status != 0)
2906 + fprintf (stderr, "Try `%s --help' for more information.\n", progname);
2907 + else
2908 + {
2909 + printf ("Usage : %s [OPTION...]\n\n\
2910 +Daemon which manages LDP related configuration.\n\n\
2911 +-d, --daemon Runs in daemon mode\n\
2912 +-f, --config_file Set configuration file name\n\
2913 +-l, --log_mode Set verbose log mode flag\n\
2914 +-h, --help Display this help and exit\n\
2915 +-P, --vty_port Set vty's port number\n\
2916 +-A, --vty_addr Set vty's bind address\n\
2917 +-v, --version Print program version\n\
2918 +\n\
2919 +Report bugs to %s\n", progname, ZEBRA_BUG_ADDRESS);
2922 + exit (status);
2925 +/* SIGHUP handler. */
2926 +void
2927 +sighup (int sig)
2929 + zlog_info ("SIGHUP received");
2931 + /* Reload of config file. */
2935 +/* SIGINT handler. */
2936 +void
2937 +sigint (int sig)
2939 + zlog_info ("Terminating on signal");
2941 + exit (0);
2944 +/* SIGUSR1 handler. */
2945 +void
2946 +sigusr1 (int sig)
2948 + zlog_rotate (NULL);
2951 +/* Signale wrapper. */
2952 +RETSIGTYPE *
2953 +signal_set (int signo, void (*func)(int))
2955 + int ret;
2956 + struct sigaction sig;
2957 + struct sigaction osig;
2959 + sig.sa_handler = func;
2960 + sigemptyset (&sig.sa_mask);
2961 + sig.sa_flags = 0;
2962 +#ifdef SA_RESTART
2963 + sig.sa_flags |= SA_RESTART;
2964 +#endif /* SA_RESTART */
2966 + ret = sigaction (signo, &sig, &osig);
2968 + if (ret < 0)
2969 + return (SIG_ERR);
2970 + else
2971 + return (osig.sa_handler);
2974 +/* Initialization of signal handles. */
2975 +void
2976 +signal_init ()
2978 + signal_set (SIGHUP, sighup);
2979 + signal_set (SIGINT, sigint);
2980 + signal_set (SIGTERM, sigint);
2981 + signal_set (SIGPIPE, SIG_IGN);
2982 + signal_set (SIGUSR1, sigusr1);
2985 +/* Main startup routine. */
2986 +int
2987 +main (int argc, char **argv)
2989 + char *p;
2990 + int vty_port = 0;
2991 + char *vty_addr = NULL;
2992 + int daemon_mode = 0;
2993 + char *config_file = NULL;
2994 + char *progname;
2995 + struct thread thread;
2997 + /* Set umask before anything for security */
2998 + umask (0027);
3000 + /* preserve my name */
3001 + progname = ((p = strrchr (argv[0], '/')) ? ++p : argv[0]);
3003 + zlog_default = openzlog (progname, ZLOG_STDOUT, ZLOG_LDP,
3004 + LOG_CONS|LOG_NDELAY|LOG_PID, LOG_DAEMON);
3006 + while (1)
3008 + int opt;
3010 + opt = getopt_long (argc, argv, "bdklf:hP:rv", longopts, 0);
3012 + if (opt == EOF)
3013 + break;
3015 + switch (opt)
3017 + case 0:
3018 + break;
3019 + case 'd':
3020 + daemon_mode = 1;
3021 + break;
3022 + case 'l':
3023 + /* log_mode = 1; */
3024 + break;
3025 + case 'f':
3026 + config_file = optarg;
3027 + break;
3028 + case 'A':
3029 + vty_addr = optarg;
3030 + break;
3031 + case 'P':
3032 + vty_port = atoi (optarg);
3033 + break;
3034 + case 'v':
3035 + print_version (progname);
3036 + exit (0);
3037 + break;
3038 + case 'h':
3039 + usage (progname, 0);
3040 + break;
3041 + default:
3042 + usage (progname, 1);
3043 + break;
3047 + /* Make master thread emulator. */
3048 + master = thread_master_create();
3050 + /* Vty related initialize. */
3051 + signal_init();
3052 + cmd_init(1);
3053 + vty_init(master);
3054 + memory_init();
3056 + /* LDP inits */
3057 + ldp_init();
3058 + ldp_interface_init();
3059 + ldp_vty_init();
3060 + ldp_vty_show_init();
3061 + ldp_zebra_init();
3063 + sort_node();
3065 + /* Configuration file read*/
3066 + vty_read_config(config_file, config_current, config_default);
3068 + /* Daemonize. */
3069 + if (daemon_mode) {
3070 + daemon(0, 0);
3073 + /* Output pid of zebra. */
3074 + pid_output(pid_file);
3076 + /* Create VTY socket */
3077 + vty_serv_sock(vty_addr,
3078 + vty_port ? vty_port : LDP_VTY_PORT, LDP_VTYSH_PATH);
3080 +#ifdef DEBUG
3081 + /* Print banner. */
3082 + zlog (NULL, LOG_INFO, "LDPd (%s) starts", QUAGGA_VERSION);
3083 +#endif
3085 + while(thread_fetch(master, &thread)) {
3086 + thread_call(&thread);
3089 + /* Not reached... */
3090 + exit (0);
3092 diff --exclude=rsvpd -uNr quagga/ldpd/ldp_remote_peer.c quagga-mpls/ldpd/ldp_remote_peer.c
3093 --- quagga/ldpd/ldp_remote_peer.c 1969-12-31 18:00:00.000000000 -0600
3094 +++ quagga-mpls/ldpd/ldp_remote_peer.c 2004-05-26 22:01:06.000000000 -0500
3095 @@ -0,0 +1,129 @@
3096 +#include <zebra.h>
3097 +#include "memory.h"
3099 +#include "ldp.h"
3100 +#include "ldp_cfg.h"
3101 +#include "ldp_struct.h"
3102 +#include "mpls_compare.h"
3103 +#include "ldp_remote_peer.h"
3105 +struct ldp_remote_peer *ldp_remote_peer_find(struct ldp *ldp,
3106 + struct mpls_dest *dest) {
3107 + struct ldp_remote_peer *rp;
3108 + struct listnode *ln;
3110 + LIST_LOOP(ldp->peer_list,rp,ln) {
3111 + rp->peer.dest.if_handle = 0;
3112 + dest->if_handle = 0;
3113 + if (!mpls_dest_compare(&rp->peer.dest,dest)) {
3114 + return rp;
3117 + return NULL;
3120 +struct ldp_remote_peer *ldp_remote_peer_new(struct ldp *ldp) {
3121 + struct ldp_remote_peer *rp;
3123 + rp = XMALLOC(MTYPE_LDP, sizeof(struct ldp_remote_peer));
3124 + memset(rp, 0, sizeof(struct ldp_remote_peer));
3125 + rp->ldp = ldp;
3127 + rp->admin_up = MPLS_BOOL_TRUE;
3128 + ldp_entity_set_defaults(&rp->entity);
3130 + return rp;
3133 +void ldp_remote_peer_free(struct ldp_remote_peer *rp) {
3134 + XFREE(MTYPE_LDP, rp);
3137 +void ldp_remote_peer_create(struct ldp_remote_peer *rp,
3138 + struct mpls_dest *dest) {
3139 + struct in_addr addr;
3140 + char *dest_name;
3142 + addr.s_addr = htonl(dest->addr.u.ipv4);
3143 + dest_name = inet_ntoa(addr);
3144 + strncpy(rp->peer.peer_name,dest_name,IFNAMSIZ);
3145 + rp->peer.label_space = 0;
3146 + memcpy(&rp->peer.dest,dest,sizeof(struct mpls_dest));
3148 + ldp_cfg_peer_set(rp->ldp->h, &rp->peer, LDP_CFG_ADD |
3149 + LDP_IF_CFG_LABEL_SPACE | LDP_PEER_CFG_DEST_ADDR | LDP_PEER_CFG_PEER_NAME);
3151 + rp->entity.sub_index = rp->peer.index;
3152 + rp->entity.entity_type = LDP_INDIRECT;
3153 + rp->entity.admin_state = MPLS_OPER_DOWN;
3154 + rp->entity.transport_address.type = MPLS_FAMILY_NONE;
3156 + ldp_cfg_entity_set(rp->ldp->h, &rp->entity,
3157 + LDP_CFG_ADD | LDP_ENTITY_CFG_SUB_INDEX |
3158 + LDP_ENTITY_CFG_ADMIN_STATE | LDP_ENTITY_CFG_TRANS_ADDR);
3160 + ldp_cfg_entity_get(rp->ldp->h, &rp->entity, 0xFFFFFFFF);
3161 + ldp_cfg_peer_get(rp->ldp->h, &rp->peer, 0xFFFFFFFF);
3163 + ldp_remote_peer_admin_state_finish(rp);
3166 +void ldp_remote_peer_delete(struct ldp_remote_peer *rp) {
3167 + rp->entity.admin_state = MPLS_OPER_DOWN;
3169 + if (rp->ldp) {
3170 + ldp_remote_peer_admin_state_start(rp);
3171 + ldp_cfg_entity_set(rp->ldp->h, &rp->entity, LDP_CFG_DEL);
3172 + ldp_cfg_peer_set(rp->ldp->h, &rp->peer, LDP_CFG_DEL);
3174 + rp->entity.index = 0;
3175 + rp->peer.index = 0;
3178 +int ldp_remote_peer_startup(struct ldp_remote_peer *rp) {
3179 + if (!rp->peer.index) {
3180 + return MPLS_FAILURE;
3183 + rp->entity.admin_state = MPLS_OPER_UP;
3184 + ldp_cfg_entity_set(rp->ldp->h, &rp->entity, LDP_ENTITY_CFG_ADMIN_STATE);
3186 + return MPLS_SUCCESS;
3189 +int ldp_remote_peer_shutdown(struct ldp_remote_peer *rp) {
3190 + if (!rp->peer.index) {
3191 + return MPLS_FAILURE;
3194 + rp->entity.admin_state = MPLS_ADMIN_DISABLE;
3195 + ldp_cfg_entity_set(rp->ldp->h, &rp->entity, LDP_ENTITY_CFG_ADMIN_STATE);
3197 + return MPLS_SUCCESS;
3200 +int ldp_remote_peer_admin_state_start(struct ldp_remote_peer *rp) {
3201 + if (rp->admin_up == MPLS_BOOL_TRUE) {
3202 + return ldp_remote_peer_shutdown(rp);
3204 + return MPLS_SUCCESS;
3207 +int ldp_remote_peer_admin_state_finish(struct ldp_remote_peer *rp) {
3208 + if (rp->admin_up == MPLS_BOOL_TRUE) {
3209 + return ldp_remote_peer_startup(rp);
3211 + return MPLS_SUCCESS;
3214 +void ldp_remote_peer_up(struct ldp_remote_peer *rp) {
3215 + if (rp->ldp && rp->admin_up == MPLS_BOOL_TRUE) {
3216 + ldp_remote_peer_startup(rp);
3220 +void ldp_remote_peer_down(struct ldp_remote_peer *rp) {
3221 + if (rp->ldp && rp->admin_up == MPLS_BOOL_TRUE) {
3222 + ldp_remote_peer_shutdown(rp);
3225 diff --exclude=rsvpd -uNr quagga/ldpd/ldp_remote_peer.h quagga-mpls/ldpd/ldp_remote_peer.h
3226 --- quagga/ldpd/ldp_remote_peer.h 1969-12-31 18:00:00.000000000 -0600
3227 +++ quagga-mpls/ldpd/ldp_remote_peer.h 2004-05-19 21:40:47.000000000 -0500
3228 @@ -0,0 +1,28 @@
3229 +#ifndef LDP_REMOTE_PEER_H
3230 +#define LDP_REMOTE_PEER_H
3232 +#include "ldp_struct.h"
3234 +struct ldp_remote_peer {
3235 + struct ldp *ldp;
3236 + ldp_entity entity;
3237 + ldp_peer peer;
3238 + mpls_bool admin_up;
3241 +struct ldp_remote_peer *ldp_remote_peer_find(struct ldp*, struct mpls_dest*);
3242 +struct ldp_remote_peer *ldp_remote_peer_new(struct ldp *ldp);
3243 +void ldp_remote_peer_free(struct ldp_remote_peer *rp);
3245 +void ldp_remote_peer_up(struct ldp_remote_peer *rp);
3246 +void ldp_remote_peer_down(struct ldp_remote_peer *rp);
3248 +int ldp_remote_peer_startup(struct ldp_remote_peer *rp);
3249 +int ldp_remote_peer_shutdown(struct ldp_remote_peer *rp);
3251 +void ldp_remote_peer_create(struct ldp_remote_peer*, struct mpls_dest*);
3252 +void ldp_remote_peer_delete(struct ldp_remote_peer *rp);
3253 +int ldp_remote_peer_admin_state_start(struct ldp_remote_peer *rp);
3254 +int ldp_remote_peer_admin_state_finish(struct ldp_remote_peer *rp);
3256 +#endif
3257 diff --exclude=rsvpd -uNr quagga/ldpd/ldp_vty.c quagga-mpls/ldpd/ldp_vty.c
3258 --- quagga/ldpd/ldp_vty.c 1969-12-31 18:00:00.000000000 -0600
3259 +++ quagga-mpls/ldpd/ldp_vty.c 2004-06-15 16:37:09.000000000 -0500
3260 @@ -0,0 +1,2470 @@
3261 +#include <zebra.h>
3263 +#include "zclient.h"
3264 +#include "vty.h"
3265 +#include "command.h"
3266 +#include "table.h"
3268 +#include "ldp.h"
3269 +#include "ldp_cfg.h"
3270 +#include "ldp_vty.h"
3271 +#include "ldp_interface.h"
3272 +#include "ldp_struct.h"
3273 +#include "ldp_remote_peer.h"
3274 +#include "ldp_zebra.h"
3276 +#include "impl_mpls.h"
3278 +uint32_t ldp_traceflags = 0;
3279 +uint8_t trace_buffer[16834];
3280 +int trace_buffer_len = 0;
3282 +static char *session_state[6] = { "NONE", "NON-EXIST", "INIT",
3283 + "OPENSENT", "OPENRECV", "OPERATIONAL" };
3284 +// static char *adj_role[3] = { "INVALID", "PASSIVE", "ACTIVE" };
3285 +static char *attr_state[12] = { "REQ_RECV", "REQ_SENT", "MAP_RECV", "MAP_SENT",
3286 + "WITH_SENT", "WITH_RECV", "NO_LABEL_RESOURCE_SENT",
3287 + "NO_LABEL_RESOURCE_RECV", "ABORT_SENT", "ABORT_RECV",
3288 + "NOTIF_SENT", "NOTIF_RECV" };
3289 +// static char *oper_state[2] = { "UP", "DOWN" };
3290 +static char *control_mode[3] = { "UNKNOWN", "INDEPENDENT", "ORDERED" };
3291 +static char *retention_mode[3] = { "UNKNOWN", "LIBERAL", "CONSERVATIVE" };
3292 +static char *repair_mode[3] = { "UNKNOWN", "LOCAL", "GLOBAL" };
3293 +static char *loop_detect_mode[5] = { "NONE", "HOPCOUNT", "PATHVECTOR",
3294 + "HOPCOUNT PATHVECTOR", "OTHER" };
3295 +char *bool[2] = { "FALSE", "TRUE" };
3296 +static char *admin_state[3] = { "NONE", "ENABLED", "DISABLED" };
3297 +static char *distribution_mode[2] = { "UNSOLICITED", "ONDEMAND" };
3299 +extern struct zclient *zclient;
3301 +DEFUN (ldp,
3302 + ldp_cmd,
3303 + "mpls ip",
3304 + "MPLS configuration\n"
3305 + "Dynamic Label distribution via LDP\n") {
3307 + vty->node = LDP_NODE;
3308 + vty->index = ldp_get();
3309 + if (!vty->index) {
3310 + vty->index = ldp_new();
3311 + if (!vty->index) {
3312 + vty_out (vty, "Unable to create LDP instance.%s", VTY_NEWLINE);
3313 + return CMD_WARNING;
3316 + return CMD_SUCCESS;
3319 +DEFUN (no_ldp,
3320 + no_ldp_cmd,
3321 + "no mpls ip",
3322 + NO_STR
3323 + "MPLS configuration\n"
3324 + "Dynamic Label distribution via LDP\n") {
3325 + struct ldp *ldp = ldp_get();
3327 + if (!ldp) {
3328 + vty_out (vty, "There isn't active an LDP instance.%s", VTY_NEWLINE);
3329 + return CMD_WARNING;
3332 + ldp_finish(ldp);
3333 + return CMD_SUCCESS;
3336 +DEFUN (ldp_lsrid,
3337 + ldp_lsrid_cmd,
3338 + "lsr-id A.B.C.D",
3339 + "LDP Label Switch Router Identifier\n"
3340 + "IP Address\n") {
3341 + struct ldp *ldp = (struct ldp*)vty->index;
3343 + ldp->lsr_id_is_static = MPLS_BOOL_TRUE;
3345 + ldp_admin_state_start(ldp);
3346 + do_ldp_router_id_update(ldp, ntohl(inet_addr(argv[0])));
3347 + ldp_admin_state_finish(ldp);
3349 + return CMD_SUCCESS;
3352 +DEFUN (no_ldp_lsrid,
3353 + no_ldp_lsrid_cmd,
3354 + "no lsr-id",
3355 + NO_STR
3356 + "LDP LSRID\n") {
3357 + struct ldp *ldp = (struct ldp*)vty->index;
3359 + ldp->lsr_id_is_static = MPLS_BOOL_FALSE;
3361 + ldp_admin_state_start(ldp);
3362 + do_ldp_router_id_update(ldp, ntohl(router_id.u.prefix4.s_addr));
3363 + ldp_admin_state_finish(ldp);
3365 + return CMD_SUCCESS;
3368 +DEFUN (ldp_disable,
3369 + ldp_disable_cmd,
3370 + "disable",
3371 + "Disable\n") {
3372 + struct ldp *ldp = (struct ldp*)vty->index;
3374 + ldp_admin_state_start(ldp);
3375 + ldp->admin_up = MPLS_BOOL_FALSE;
3376 + ldp_admin_state_finish(ldp);
3378 + return CMD_SUCCESS;
3381 +DEFUN (no_ldp_disable,
3382 + no_ldp_disable_cmd,
3383 + "no disable",
3384 + NO_STR
3385 + "Disable\n") {
3386 + struct ldp *ldp = (struct ldp*)vty->index;
3388 + ldp_admin_state_start(ldp);
3389 + ldp->admin_up = MPLS_BOOL_TRUE;
3390 + ldp_admin_state_finish(ldp);
3392 + return CMD_SUCCESS;
3395 +#if 0
3397 +DEFUN (ldp_lsp_control_mode,
3398 + ldp_lsp_control_mode_cmd,
3399 + "lsp-control-mode (independent|ordered)",
3400 + "control mode\n"
3401 + "independent or ordered control mode\n") {
3402 + struct ldp *ldp = (struct ldp*)vty->index;
3403 + ldp_global g;
3405 + if (!strcmp(argv[0],"independent")) {
3406 + g.lsp_control_mode = LDP_CONTROL_INDEPENDENT;
3407 + } else if (!strcmp(argv[0],"ordered")) {
3408 + g.lsp_control_mode = LDP_CONTROL_ORDERED;
3409 + } else {
3410 + return CMD_WARNING;
3413 + ldp_admin_state_start(ldp);
3414 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_CONTROL_MODE);
3415 + ldp_admin_state_finish(ldp);
3417 + return CMD_SUCCESS;
3420 +DEFUN (no_ldp_lsp_control_mode,
3421 + no_ldp_lsp_control_mode_cmd,
3422 + "no lsp-control-mode",
3423 + NO_STR
3424 + "control mode\n") {
3425 + struct ldp *ldp = (struct ldp*)vty->index;
3426 + ldp_global g;
3428 + g.lsp_control_mode = LDP_GLOBAL_DEF_CONTROL_MODE;
3430 + ldp_admin_state_start(ldp);
3431 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_CONTROL_MODE);
3432 + ldp_admin_state_finish(ldp);
3434 + return CMD_SUCCESS;
3437 +DEFUN (ldp_label_retention_mode,
3438 + ldp_label_retention_mode_cmd,
3439 + "label-retention-mode (liberal|conservative)",
3440 + "label retention mode\n"
3441 + "liberal or conservative retention mode\n") {
3442 + struct ldp *ldp = (struct ldp*)vty->index;
3443 + ldp_global g;
3445 + if (!strcmp(argv[0],"liberal")) {
3446 + g.label_retention_mode = LDP_RETENTION_LIBERAL;
3447 + } else if (!strcmp(argv[0],"conservative")) {
3448 + g.label_retention_mode = LDP_RETENTION_CONSERVATIVE;
3449 + } else {
3450 + return CMD_WARNING;
3453 + ldp_admin_state_start(ldp);
3454 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_RETENTION_MODE);
3455 + ldp_admin_state_finish(ldp);
3457 + return CMD_SUCCESS;
3460 +DEFUN (no_ldp_label_retention_mode,
3461 + no_ldp_label_retention_mode_cmd,
3462 + "no label-retention-mode",
3463 + NO_STR
3464 + "label retiontion mode\n") {
3465 + struct ldp *ldp = (struct ldp*)vty->index;
3466 + ldp_global g;
3468 + g.label_retention_mode = LDP_GLOBAL_DEF_RETENTION_MODE;
3470 + ldp_admin_state_start(ldp);
3471 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_RETENTION_MODE);
3472 + ldp_admin_state_finish(ldp);
3474 + return CMD_SUCCESS;
3477 +DEFUN (ldp_lsp_repair_mode,
3478 + ldp_lsp_repair_mode_cmd,
3479 + "lsp-repair-mode (local|global)",
3480 + "repair mode\n"
3481 + "local or global repair mode\n") {
3482 + struct ldp *ldp = (struct ldp*)vty->index;
3483 + ldp_global g;
3485 + if (!strcmp(argv[0],"local")) {
3486 + g.lsp_repair_mode = LDP_REPAIR_LOCAL;
3487 + } else if (!strcmp(argv[0],"global")) {
3488 + g.lsp_repair_mode = LDP_REPAIR_GLOBAL;
3489 + } else {
3490 + return CMD_WARNING;
3492 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_REPAIR_MODE);
3494 + return CMD_SUCCESS;
3497 +DEFUN (no_ldp_lsp_repair_mode,
3498 + no_ldp_lsp_repair_mode_cmd,
3499 + "no lsp-repair-mode",
3500 + NO_STR
3501 + "repair mode\n") {
3502 + struct ldp *ldp = (struct ldp*)vty->index;
3503 + ldp_global g;
3505 + g.lsp_repair_mode = LDP_GLOBAL_DEF_REPAIR_MODE;
3506 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_REPAIR_MODE);
3508 + return CMD_SUCCESS;
3511 +DEFUN (ldp_propogate_release,
3512 + ldp_propogate_release_cmd,
3513 + "propagate-release",
3514 + "propagate release\n") {
3515 + struct ldp *ldp = (struct ldp*)vty->index;
3516 + ldp_global g;
3518 + g.propagate_release = MPLS_BOOL_TRUE;
3519 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_PROPOGATE_RELEASE);
3521 + return CMD_SUCCESS;
3524 +DEFUN (no_ldp_propogate_release,
3525 + no_ldp_propogate_release_cmd,
3526 + "no propagate-release",
3527 + NO_STR
3528 + "propagate release\n") {
3529 + struct ldp *ldp = (struct ldp*)vty->index;
3530 + ldp_global g;
3532 + g.propagate_release = MPLS_BOOL_FALSE;
3533 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_PROPOGATE_RELEASE);
3535 + return CMD_SUCCESS;
3538 +DEFUN (ldp_label_merge,
3539 + ldp_label_merge_cmd,
3540 + "label-merge",
3541 + "label merge\n") {
3542 + struct ldp *ldp = (struct ldp*)vty->index;
3543 + ldp_global g;
3545 + g.label_merge = MPLS_BOOL_TRUE;
3547 + ldp_admin_state_start(ldp);
3548 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_LABEL_MERGE);
3549 + ldp_admin_state_finish(ldp);
3551 + return CMD_SUCCESS;
3554 +DEFUN (no_ldp_label_merge,
3555 + no_ldp_label_merge_cmd,
3556 + "no label-merge",
3557 + NO_STR
3558 + "label merge\n") {
3559 + struct ldp *ldp = (struct ldp*)vty->index;
3560 + ldp_global g;
3562 + g.label_merge = MPLS_BOOL_FALSE;
3564 + ldp_admin_state_start(ldp);
3565 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_LABEL_MERGE);
3566 + ldp_admin_state_finish(ldp);
3568 + return CMD_SUCCESS;
3571 +DEFUN (ldp_loop_detection_mode,
3572 + ldp_loop_detection_mode_cmd,
3573 + "loop-detection-mode (hop|path|both)",
3574 + "loop detection\n"
3575 + "Path Vector, Hop Count, or both\n") {
3576 + struct ldp *ldp = (struct ldp*)vty->index;
3577 + ldp_global g;
3579 + if (!strncmp(argv[0],"hop",3)) {
3580 + g.loop_detection_mode = LDP_LOOP_HOPCOUNT;
3581 + } else if (!strncmp(argv[0],"path",4)) {
3582 + g.loop_detection_mode = LDP_LOOP_PATHVECTOR;
3583 + } else if (!strncmp(argv[0],"both",4)) {
3584 + g.loop_detection_mode = LDP_LOOP_HOPCOUNT_PATHVECTOR;
3585 + } else {
3586 + return CMD_WARNING;
3588 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_LOOP_DETECTION_MODE);
3590 + return CMD_SUCCESS;
3593 +DEFUN (no_ldp_loop_detection_mode,
3594 + no_ldp_loop_detection_mode_cmd,
3595 + "no loop-detection-mode (path|hop|both)",
3596 + NO_STR
3597 + "loop detection\n") {
3598 + struct ldp *ldp = (struct ldp*)vty->index;
3599 + ldp_global g;
3601 + g.loop_detection_mode = LDP_LOOP_NONE;
3602 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_LOOP_DETECTION_MODE);
3604 + return CMD_SUCCESS;
3607 +DEFUN (ldp_ttl_less_domain,
3608 + ldp_ttl_less_domain_cmd,
3609 + "ttl-less-domain",
3610 + "TTL-less domain\n") {
3611 + struct ldp *ldp = (struct ldp*)vty->index;
3612 + ldp_global g;
3614 + g.ttl_less_domain = MPLS_BOOL_TRUE;
3615 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_TTLLESS_DOMAIN);
3617 + return CMD_SUCCESS;
3620 +DEFUN (no_ldp_ttl_less_domain,
3621 + no_ldp_ttl_less_domain_cmd,
3622 + "no ttl-less-domain",
3623 + NO_STR
3624 + "TTL-less domain\n") {
3625 + struct ldp *ldp = (struct ldp*)vty->index;
3626 + ldp_global g;
3628 + g.ttl_less_domain = MPLS_BOOL_FALSE;
3629 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_TTLLESS_DOMAIN);
3631 + return CMD_SUCCESS;
3634 +DEFUN (ldp_local_tcp_port,
3635 + ldp_local_tcp_port_cmd,
3636 + "local-tcp-port <1-65535>",
3637 + "local TCP port\n"
3638 + "TCP port number\n") {
3639 + struct ldp *ldp = (struct ldp*)vty->index;
3640 + ldp_global g;
3642 + g.local_tcp_port = atoi(argv[0]);
3644 + ldp_admin_state_start(ldp);
3645 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_LOCAL_TCP_PORT);
3646 + ldp_admin_state_finish(ldp);
3648 + return CMD_SUCCESS;
3651 +DEFUN (no_ldp_local_tcp_port,
3652 + no_ldp_local_tcp_port_cmd,
3653 + "no local-tcp-port",
3654 + NO_STR
3655 + "local TCP port\n") {
3656 + struct ldp *ldp = (struct ldp*)vty->index;
3657 + ldp_global g;
3659 + g.local_tcp_port = LDP_GLOBAL_DEF_LOCAL_TCP_PORT;
3661 + ldp_admin_state_start(ldp);
3662 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_LOCAL_TCP_PORT);
3663 + ldp_admin_state_finish(ldp);
3665 + return CMD_SUCCESS;
3668 +DEFUN (ldp_local_udp_port,
3669 + ldp_local_udp_port_cmd,
3670 + "local-udp-port <1-65535>",
3671 + "local UDP port\n"
3672 + "UDP port number\n") {
3673 + struct ldp *ldp = (struct ldp*)vty->index;
3674 + ldp_global g;
3676 + g.local_udp_port = atoi(argv[0]);
3678 + ldp_admin_state_start(ldp);
3679 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_LOCAL_UDP_PORT);
3680 + ldp_admin_state_finish(ldp);
3682 + return CMD_SUCCESS;
3685 +DEFUN (no_ldp_local_udp_port,
3686 + no_ldp_local_udp_port_cmd,
3687 + "no local-udp-port",
3688 + NO_STR
3689 + "local UDP port\n") {
3690 + struct ldp *ldp = (struct ldp*)vty->index;
3691 + ldp_global g;
3693 + g.local_udp_port = LDP_GLOBAL_DEF_LOCAL_UDP_PORT;
3695 + ldp_admin_state_start(ldp);
3696 + ldp_cfg_global_set(ldp->h,&g, LDP_GLOBAL_CFG_LOCAL_UDP_PORT);
3697 + ldp_admin_state_finish(ldp);
3699 + return CMD_SUCCESS;
3702 +#endif
3704 +DEFUN (ldp_trace_address,
3705 + ldp_trace_address_cmd,
3706 + "trace address",
3707 + "LDP debugging\n"
3708 + "Address PDUs\n") {
3709 + ldp_traceflags |= LDP_TRACE_FLAG_ADDRESS;
3710 + return CMD_SUCCESS;
3713 +DEFUN (ldp_trace_binding,
3714 + ldp_trace_binding_cmd,
3715 + "trace binding",
3716 + "LDP debugging\n"
3717 + "Label Bindings\n") {
3718 + ldp_traceflags |= LDP_TRACE_FLAG_BINDING;
3719 + return CMD_SUCCESS;
3722 +DEFUN (ldp_trace_debug,
3723 + ldp_trace_debug_cmd,
3724 + "trace debug",
3725 + "LDP debugging\n"
3726 + "Debug Messages\n") {
3727 + ldp_traceflags |= LDP_TRACE_FLAG_DEBUG;
3728 + return CMD_SUCCESS;
3731 +DEFUN (ldp_trace_error,
3732 + ldp_trace_error_cmd,
3733 + "trace error",
3734 + "LDP debugging\n"
3735 + "Error Conditions\n") {
3736 + ldp_traceflags |= LDP_TRACE_FLAG_ERROR;
3737 + return CMD_SUCCESS;
3740 +DEFUN (ldp_trace_event,
3741 + ldp_trace_event_cmd,
3742 + "trace event",
3743 + "LDP debugging\n"
3744 + "LDP Events\n") {
3745 + ldp_traceflags |= LDP_TRACE_FLAG_EVENT;
3746 + return CMD_SUCCESS;
3749 +DEFUN (ldp_trace_general,
3750 + ldp_trace_general_cmd,
3751 + "trace general",
3752 + "LDP debugging\n"
3753 + "General Messages\n") {
3754 + ldp_traceflags |= LDP_TRACE_FLAG_GENERAL;
3755 + return CMD_SUCCESS;
3758 +DEFUN (ldp_trace_init,
3759 + ldp_trace_init_cmd,
3760 + "trace init",
3761 + "LDP debugging\n"
3762 + "Init PDUs\n") {
3763 + ldp_traceflags |= LDP_TRACE_FLAG_INIT;
3764 + return CMD_SUCCESS;
3767 +DEFUN (ldp_trace_label,
3768 + ldp_trace_label_cmd,
3769 + "trace label",
3770 + "LDP debugging\n"
3771 + "Label PDUs\n") {
3772 + ldp_traceflags |= LDP_TRACE_FLAG_LABEL;
3773 + return CMD_SUCCESS;
3776 +DEFUN (ldp_trace_normal,
3777 + ldp_trace_normal_cmd,
3778 + "trace normal",
3779 + "LDP debugging\n"
3780 + "Normal Messages\n") {
3781 + ldp_traceflags |= LDP_TRACE_FLAG_NORMAL;
3782 + return CMD_SUCCESS;
3785 +DEFUN (ldp_trace_notif,
3786 + ldp_trace_notif_cmd,
3787 + "trace notification",
3788 + "LDP debugging\n"
3789 + "Notification PDUs\n") {
3790 + ldp_traceflags |= LDP_TRACE_FLAG_NOTIF;
3791 + return CMD_SUCCESS;
3794 +DEFUN (ldp_trace_packet_dump,
3795 + ldp_trace_packet_dump_cmd,
3796 + "trace packet-dump",
3797 + "LDP debugging\n"
3798 + "Packet Dump\n") {
3799 + ldp_traceflags |= LDP_TRACE_FLAG_PACKET_DUMP;
3800 + return CMD_SUCCESS;
3803 +DEFUN (ldp_trace_packet,
3804 + ldp_trace_packet_cmd,
3805 + "trace packet",
3806 + "LDP debugging\n"
3807 + "Packet tracing\n") {
3808 + ldp_traceflags |= LDP_TRACE_FLAG_PACKET;
3809 + return CMD_SUCCESS;
3812 +DEFUN (ldp_trace_path,
3813 + ldp_trace_path_cmd,
3814 + "trace path",
3815 + "LDP debugging\n"
3816 + "PATH Info\n") {
3817 + ldp_traceflags |= LDP_TRACE_FLAG_PATH;
3818 + return CMD_SUCCESS;
3821 +DEFUN (ldp_trace_periodic,
3822 + ldp_trace_periodic_cmd,
3823 + "trace periodic",
3824 + "LDP debugging\n"
3825 + "Periodic PDUs\n") {
3826 + ldp_traceflags |= LDP_TRACE_FLAG_PERIODIC;
3827 + return CMD_SUCCESS;
3830 +DEFUN (ldp_trace_policy,
3831 + ldp_trace_policy_cmd,
3832 + "trace policy",
3833 + "LDP debugging\n"
3834 + "Policy tracing\n") {
3835 + ldp_traceflags |= LDP_TRACE_FLAG_POLICY;
3836 + return CMD_SUCCESS;
3839 +DEFUN (ldp_trace_route,
3840 + ldp_trace_route_cmd,
3841 + "trace route",
3842 + "LDP debugging\n"
3843 + "Route Lookup tracing\n") {
3844 + ldp_traceflags |= LDP_TRACE_FLAG_ROUTE;
3845 + return CMD_SUCCESS;
3848 +DEFUN (ldp_trace_state,
3849 + ldp_trace_state_cmd,
3850 + "trace state",
3851 + "LDP debugging\n"
3852 + "State transitions\n") {
3853 + ldp_traceflags |= LDP_TRACE_FLAG_STATE;
3854 + return CMD_SUCCESS;
3857 +DEFUN (ldp_trace_task,
3858 + ldp_trace_task_cmd,
3859 + "trace task",
3860 + "LDP debugging\n"
3861 + "Task tracing\n") {
3862 + ldp_traceflags |= LDP_TRACE_FLAG_TASK;
3863 + return CMD_SUCCESS;
3866 +DEFUN (ldp_trace_timer,
3867 + ldp_trace_timer_cmd,
3868 + "trace timer",
3869 + "LDP debugging\n"
3870 + "Timer tracing\n") {
3871 + ldp_traceflags |= LDP_TRACE_FLAG_TIMER;
3872 + return CMD_SUCCESS;
3875 +DEFUN (ldp_trace_all,
3876 + ldp_trace_all_cmd,
3877 + "trace all",
3878 + "LDP debugging\n"
3879 + "All tracing\n") {
3880 + ldp_traceflags |= LDP_TRACE_FLAG_ALL;
3881 + return CMD_SUCCESS;
3884 +DEFUN (ldp_trace_none,
3885 + ldp_trace_none_cmd,
3886 + "trace none",
3887 + "LDP debugging\n"
3888 + "Turn off all tracing\n") {
3889 + ldp_traceflags = 0;
3890 + return CMD_SUCCESS;
3893 +#if 0
3895 +/* address and egress changes should result in an event which goes through
3896 + all of the existing FECs/addresses and decides which to withdrawl and then
3897 + ask the system for which additional FECs/addresses should be sent */
3899 +DEFUN (ldp_address,
3900 + ldp_address_cmd,
3901 + "address-mode (lsr-id|ldp)",
3902 + "Addresses this LSR will announce\n"
3903 + "LSR-ID only\n"
3904 + "Only LDP interfaces\n") {
3905 + struct ldp *ldp = (struct ldp*)vty->index;
3906 + if (!strncmp(argv[0], "lsr-id",6)) {
3907 + ldp->address = LDP_ADDRESS_LSRID;
3908 + } else if (!strncmp(argv[0], "ldp",3)) {
3909 + ldp->address = LDP_ADDRESS_LDP;
3910 + } else {
3911 + return CMD_WARNING;
3913 + return CMD_SUCCESS;
3916 +DEFUN (no_ldp_address,
3917 + no_ldp_address_cmd,
3918 + "no address-mode",
3919 + NO_STR
3920 + "Addresses this LSR will announce\n") {
3921 + struct ldp *ldp = (struct ldp*)vty->index;
3922 + ldp->address = LDP_ADDRESS_ALL;
3923 + return CMD_SUCCESS;
3926 +DEFUN (ldp_egress,
3927 + ldp_egress_cmd,
3928 + "egress (lsr-id|connected)",
3929 + "Filter FECs this LSR will send mappings for\n"
3930 + "LSR-ID only\n"
3931 + "All connected subnets\n") {
3932 + struct ldp *ldp = (struct ldp*)vty->index;
3933 + if (!strncmp(argv[0], "lsr-id",6)) {
3934 + ldp->egress = LDP_EGRESS_LSRID;
3935 + } else if (!strncmp(argv[0], "connected", 9)) {
3936 + ldp->egress = LDP_EGRESS_CONNECTED;
3937 + } else {
3938 + return CMD_WARNING;
3940 + return CMD_SUCCESS;
3943 +DEFUN (no_ldp_egress,
3944 + no_ldp_egress_cmd,
3945 + "no egress",
3946 + NO_STR
3947 + "Filter FECs this LSR will send mappings for\n") {
3948 + struct ldp *ldp = (struct ldp*)vty->index;
3949 + ldp->egress = LDP_EGRESS_ALL;
3950 + return CMD_SUCCESS;
3952 +#endif
3954 +#if 0
3955 +DEFUN (ldp_egress_list,
3956 + ldp_egress_list_cmd,
3957 + "egress access-list (<1-199>|<1300-2699>|WORD)",
3958 + "Filter FECs this LSR will send mappings for\n"
3959 + "IP access-list number\n"
3960 + "IP access-list number (expanded range)\n"
3961 + "IP Access-list name\n") {
3962 + return CMD_SUCCESS;
3965 +DEFUN (no_ldp_egress_list,
3966 + no_ldp_egress_list_cmd,
3967 + "no egress access-list (<1-199>|<1300-2699>|WORD)",
3968 + NO_STR
3969 + "Filter FECs this LSR will send mappings for\n"
3970 + "IP access-list number\n"
3971 + "IP access-list number (expanded range)\n"
3972 + "IP Access-list name\n") {
3973 + return CMD_SUCCESS;
3975 +#endif
3977 +DEFUN (mpls_show_ldp_attr, mpls_show_ldp_attr_cmd,
3978 + "show ldp attr",
3979 + SHOW_STR
3980 + "LDP"
3981 + "ATTR\n") {
3982 + struct ldp *ldp = ldp_get();
3984 + if (!ldp) {
3985 + vty_out (vty, "There isn't an active LDP instance.%s", VTY_NEWLINE);
3986 + return CMD_WARNING;
3988 + ldp_cfg_global_attr(ldp->h);
3989 + return CMD_SUCCESS;
3992 +DEFUN (mpls_show_ldp_fec, mpls_show_ldp_fec_cmd,
3993 + "show ldp fec",
3994 + SHOW_STR
3995 + "LDP"
3996 + "FEC\n") {
3997 + struct ldp *ldp = ldp_get();
3998 + struct mpls_fec fec;
3999 + struct mpls_nexthop nh;
4001 + if (!ldp) {
4002 + vty_out (vty, "There isn't an active LDP instance.%s", VTY_NEWLINE);
4003 + return CMD_WARNING;
4006 + fec.index = 0;
4007 + while (ldp_cfg_fec_getnext(ldp->h, &fec, 0xFFFFFFFF) == MPLS_SUCCESS) {
4008 + vty_out(vty, "FEC: %d%s", fec.index, VTY_NEWLINE);
4009 + nh.index = 0;
4010 + while (ldp_cfg_fec_nexthop_getnext(ldp->h, &fec, &nh,
4011 + 0xFFFFFFFF) == MPLS_SUCCESS) {
4012 + vty_out(vty, "\t%d %08x%s", nh.index, nh.ip.u.ipv4,
4013 + VTY_NEWLINE);
4016 + return CMD_SUCCESS;
4019 +DEFUN (mpls_show_ldp_interface, mpls_show_ldp_interface_cmd,
4020 + "show ldp interface",
4021 + SHOW_STR
4022 + "LDP"
4023 + "interface\n") {
4024 + struct ldp *ldp = ldp_get();
4025 + struct ldp_if iff;
4026 + struct ldp_addr addr;
4028 + if (!ldp) {
4029 + vty_out (vty, "There isn't an active LDP instance.%s", VTY_NEWLINE);
4030 + return CMD_WARNING;
4033 + iff.index = 0;
4034 + while (ldp_cfg_if_getnext(ldp->h, &iff, LDP_IF_CFG_BY_INDEX) ==
4035 + MPLS_SUCCESS) {
4036 + vty_out(vty, "INTF: %d%s", iff.index, VTY_NEWLINE);
4037 + addr.index = 0;
4038 + while (ldp_cfg_if_addr_getnext(ldp->h, &iff, &addr,
4039 + LDP_IF_ADDR_CFG_BY_INDEX | LDP_IF_CFG_BY_INDEX) == MPLS_SUCCESS) {
4040 + vty_out(vty, "\t%d%s", addr.index, VTY_NEWLINE);
4043 + return CMD_SUCCESS;
4046 +DEFUN (mpls_show_ldp_addr, mpls_show_ldp_addr_cmd,
4047 + "show ldp addr",
4048 + SHOW_STR
4049 + "LDP"
4050 + "addrs\n") {
4051 + struct ldp *ldp = ldp_get();
4052 + struct ldp_addr addr;
4054 + if (!ldp) {
4055 + vty_out (vty, "There isn't an active LDP instance.%s", VTY_NEWLINE);
4056 + return CMD_WARNING;
4059 + memset(&addr, 0, sizeof(addr));
4060 + while (ldp_cfg_addr_getnext(ldp->h, &addr, 0) == MPLS_SUCCESS) {
4061 + vty_out(vty, "Addr: %d %08x%s", addr.index, addr.address.u.ipv4,
4062 + VTY_NEWLINE);
4063 + vty_out(vty, "\t%d%s", addr.session_index, VTY_NEWLINE);
4064 + vty_out(vty, "\t%d%s", addr.nexthop_index, VTY_NEWLINE);
4065 + vty_out(vty, "\t%d%s", addr.if_index, VTY_NEWLINE);
4067 + addr.session_index = 0;
4068 + addr.nexthop_index = 0;
4069 + addr.if_index = 0;
4071 + return CMD_SUCCESS;
4074 +DEFUN (mpls_show_ldp, mpls_show_ldp_cmd,
4075 + "show ldp",
4076 + SHOW_STR
4077 + "LDP global setting\n") {
4078 + struct ldp *ldp = ldp_get();
4079 + ldp_global g;
4081 + if (!ldp) {
4082 + vty_out (vty, "There isn't an active LDP instance.%s", VTY_NEWLINE);
4083 + return CMD_WARNING;
4086 + ldp_cfg_global_get(ldp->h,&g,0xFFFFFFFF);
4088 + vty_out(vty, "LSR-ID: %08x Admin State: %s%s",
4089 + g.lsr_identifier.u.ipv4, admin_state[g.admin_state], VTY_NEWLINE);
4090 + vty_out(vty, "Transport Address: %08x%s", g.transport_address.u.ipv4,
4091 + VTY_NEWLINE);
4092 + vty_out(vty, "Control Mode: %s\tRepair Mode: %s%s",
4093 + control_mode[g.lsp_control_mode], repair_mode[g.lsp_repair_mode],
4094 + VTY_NEWLINE);
4095 + vty_out(vty, "Propogate Release: %s\tLabel Merge: %s%s",
4096 + bool[g.propagate_release], bool[g.label_merge], VTY_NEWLINE);
4097 + vty_out(vty, "Retention Mode: %s\tLoop Detection Mode: %s%s",
4098 + retention_mode[g.label_retention_mode],
4099 + loop_detect_mode[g.loop_detection_mode], VTY_NEWLINE);
4100 + vty_out(vty, "TTL-less-domain: %s%s", bool[g.ttl_less_domain],
4101 + VTY_NEWLINE);
4102 + vty_out(vty, "Local TCP Port: %d\tLocal UDP Port: %d%s",
4103 + g.local_tcp_port, g.local_udp_port, VTY_NEWLINE);
4104 + vty_out(vty, "Keep-alive Time: %d\tKeep-alive Interval: %d%s",
4105 + g.keepalive_timer, g.keepalive_interval, VTY_NEWLINE);
4106 + vty_out(vty, "Hello Time: %d\tHello Interval: %d%s",
4107 + g.hellotime_timer, g.hellotime_interval, VTY_NEWLINE);
4109 + return CMD_SUCCESS;
4112 +void convert_seconds_to_string(uint32_t secs, char* buf) {
4113 + div_t mins;
4114 + div_t hours;
4115 + div_t days;
4116 + int h = 0;
4117 + int m = 0;
4118 + int s = 0;
4120 + if (secs >= 60) {
4121 + mins = div(secs, 60);
4122 + if (mins.quot >= 60) {
4123 + hours = div(mins.quot, 60);
4124 + if (hours.quot >= 24) {
4125 + days = div(hours.quot, 24);
4126 + h = days.rem;
4127 + m = hours.rem;
4128 + s = mins.rem;
4129 + sprintf(buf, "%dd %02d:%02d:%02d", days.quot, h, m, s);
4130 + return;
4131 + } else {
4132 + h = hours.quot;
4133 + m = hours.rem;
4134 + s = mins.rem;
4136 + } else {
4137 + h = 0;
4138 + m = mins.quot;
4139 + s = mins.rem;
4141 + } else {
4142 + h = 0;
4143 + m = 0;
4144 + s = secs;
4146 + sprintf(buf,"%02d:%02d:%02d", h, m, s);
4149 +DEFUN (mpls_show_ldp_neighbor, mpls_show_ldp_neighbor_cmd,
4150 + "show ldp neighbor",
4151 + SHOW_STR
4152 + "LDP related commands\n"
4153 + "Discovered neighbors\n"
4154 + "LDP identifier\n") {
4155 + struct ldp *ldp = ldp_get();
4156 + ldp_adj adj;
4157 + ldp_addr addr;
4158 + ldp_entity e;
4159 + ldp_global g;
4160 + ldp_session s;
4161 + int count;
4162 + int addr_count;
4163 + uint32_t time_now;
4164 + char time_buf[13];
4165 + struct in_addr lsr;
4166 + struct in_addr src;
4167 + struct in_addr tr;
4168 + int label_space = 0;
4169 + ldp_if iff;
4170 + ldp_peer peer;
4172 +#if 0
4174 +Peer LDP Ident: 7.1.1.1:0; Local LDP Ident 8.1.1.1:0
4175 + TCP connection: 7.1.1.1.646 - 8.1.1.1.11006
4176 + State: Oper; Msgs sent/rcvd: 4/411; Downstream
4177 + Up time: 00:00:52
4178 + LDP discovery sources:
4179 + Ethernet1/0/0
4180 + Addresses bound to peer LDP Ident:
4181 + 2.0.0.29 7.1.1.1 59.0.0.199 212.10.1.1
4182 + 10.205.0.9
4184 +#endif
4186 + if (!ldp) {
4187 + vty_out (vty, "There isn't an active LDP instance.%s", VTY_NEWLINE);
4188 + return CMD_WARNING;
4191 + ldp_cfg_global_get(ldp->h,&g,0xFFFFFFFF);
4193 + count = 0;
4194 + adj.index = 0;
4195 + while (ldp_cfg_adj_getnext(ldp->h, &adj, 0xFFFFFFFF) ==
4196 + MPLS_SUCCESS) {
4197 + count++;
4199 + if (adj.entity_index) {
4200 + e.index = adj.entity_index;
4201 + ldp_cfg_entity_get(ldp->h,&e,0xFFFFFFFF);
4202 + if (e.entity_type == LDP_DIRECT) {
4203 + iff.index = e.sub_index;
4204 + ldp_cfg_if_get(ldp->h,&iff,0xFFFFFFFF);
4205 + label_space = iff.label_space;
4206 + } else {
4207 + peer.index = e.sub_index;
4208 + ldp_cfg_peer_get(ldp->h,&peer,0xFFFFFFFF);
4209 + label_space = peer.label_space;
4213 + lsr.s_addr = htonl(adj.remote_lsr_address.u.ipv4);
4214 + vty_out(vty, "Peer LDP Ident: %s:%d; Local LDP Ident: ", inet_ntoa(lsr),
4215 + adj.remote_label_space);
4216 + lsr.s_addr = htonl(g.lsr_identifier.u.ipv4);
4217 + vty_out(vty, "%s:%d%s", inet_ntoa(lsr), label_space, VTY_NEWLINE);
4219 + if (adj.session_index) {
4220 + s.index = adj.session_index;
4222 + if (ldp_cfg_session_get(ldp->h,&s,0xFFFFFFFF) != MPLS_SUCCESS) {
4223 + continue;
4226 + tr.s_addr = 0;
4227 + vty_out(vty, "\tTCP connection: %s.%d", inet_ntoa(tr),
4228 + g.local_tcp_port);
4230 + src.s_addr = htonl(s.remote_dest.addr.u.ipv4);
4231 + vty_out(vty, " - %s.%d%s", inet_ntoa(src), s.remote_dest.port,
4232 + VTY_NEWLINE);
4234 + vty_out(vty, "\tState: %s; Msgs sent/recv: %d/%d; %s%s",
4235 + session_state[s.state], s.mesg_tx, s.mesg_rx,
4236 + distribution_mode[s.oper_distribution_mode], VTY_NEWLINE);
4237 + time_now = time(NULL);
4238 + convert_seconds_to_string(time_now - s.oper_up, time_buf);
4239 + vty_out(vty, "\tUp time: %s%s", time_buf, VTY_NEWLINE);
4241 + vty_out(vty, "\tLDP discovery sources:%s", VTY_NEWLINE);
4242 + } else {
4243 + vty_out(vty, "\tTCP connection: %s%s", "n/a", VTY_NEWLINE);
4244 + vty_out(vty, "\tState: discovery; Msgs sent/recv: -/-;%s",VTY_NEWLINE);
4245 + vty_out(vty, "\tUp time: %s%s", "-", VTY_NEWLINE);
4246 + vty_out(vty, "\tLDP discovery sources:%s", VTY_NEWLINE);
4248 + vty_out(vty, "\t ");
4250 + if (e.entity_type == LDP_DIRECT) {
4251 + vty_out(vty, "%s ", iff.handle->name);
4252 + } else {
4253 + vty_out(vty, "%s ", peer.peer_name);
4255 + vty_out(vty, "%s", VTY_NEWLINE);
4257 + if (adj.session_index) {
4258 + vty_out(vty, "\tAddresses bound to peer:%s", VTY_NEWLINE);
4260 + addr.index = 0;
4261 + addr_count = 0;
4262 + while (ldp_cfg_session_raddr_getnext(ldp->h, &s, &addr, 0xFFFFFFFF) ==
4263 + MPLS_SUCCESS) {
4264 + lsr.s_addr = htonl(addr.address.u.ipv4);
4265 + vty_out(vty, "\t");
4266 + if (!addr_count) {
4267 + vty_out(vty, " ");
4270 + vty_out(vty, "%s",inet_ntoa(lsr));
4271 + addr_count++;
4273 + if (addr_count == 4) {
4274 + vty_out(vty, "%s", VTY_NEWLINE);
4275 + addr_count = 0;
4278 + vty_out(vty, "%s", VTY_NEWLINE);
4281 + vty_out(vty, "%s", VTY_NEWLINE);
4282 + if (count == 0) {
4283 + vty_out(vty, "\tNo discovered neighbors%s", VTY_NEWLINE);
4285 + vty_out(vty, "%s", VTY_NEWLINE);
4287 + return CMD_SUCCESS;
4290 +DEFUN (mpls_show_ldp_session, mpls_show_ldp_session_cmd,
4291 + "show ldp session [A.B.C.D:E]",
4292 + SHOW_STR
4293 + "LDP related commands\n"
4294 + "Session information\n"
4295 + "LDP identifier\n") {
4296 + struct ldp *ldp = ldp_get();
4297 + ldp_session session;
4298 + ldp_addr addr;
4299 + struct in_addr in;
4300 + int count = 0;
4302 + if (!ldp) {
4303 + vty_out (vty, "There isn't active LDP instance.%s", VTY_NEWLINE);
4304 + return CMD_WARNING;
4307 + session.index = 0;
4308 + while (ldp_cfg_session_getnext(ldp->h, &session, 0xFFFFFFFF) ==
4309 + MPLS_SUCCESS) {
4310 + count++;
4311 + in.s_addr = htonl(session.remote_dest.addr.u.ipv4);
4312 + vty_out(vty, "%-2d %s %-3d %s%s", session.index,
4313 + inet_ntoa(in), session.oper_keepalive,
4314 + session_state[session.state], VTY_NEWLINE);
4315 + addr.index = 0;
4316 + while (ldp_cfg_session_raddr_getnext(ldp->h, &session,
4317 + &addr, 0xFFFFFFFF) == MPLS_SUCCESS) {
4318 + in.s_addr = htonl(addr.address.u.ipv4);
4319 + vty_out(vty, "\t%s%s",inet_ntoa(in), VTY_NEWLINE);
4322 + if (count == 0) {
4323 + vty_out(vty, " no established sessions%s", VTY_NEWLINE);
4326 + return CMD_SUCCESS;
4329 +DEFUN (mpls_show_ldp_discovery, mpls_show_ldp_discovery_cmd,
4330 + "show ldp discovery",
4331 + SHOW_STR
4332 + "LDP related commands\n"
4333 + "Discovery information\n") {
4334 + struct ldp *ldp = ldp_get();
4335 + struct ldp_interface *li;
4336 + ldp_if iff;
4337 + int count;
4338 + ldp_global g;
4339 + ldp_adj adj;
4340 + ldp_entity entity;
4341 + ldp_peer peer;
4342 + struct in_addr dst;
4343 + int first;
4345 + if (!ldp) {
4346 + vty_out (vty, "There isn't an active LDP instance.%s", VTY_NEWLINE);
4347 + return CMD_WARNING;
4350 + vty_out(vty, "%s", VTY_NEWLINE);
4352 + ldp_cfg_global_get(ldp->h,&g,0xFFFFFFFF);
4353 + dst.s_addr = htonl(g.lsr_identifier.u.ipv4);
4354 + vty_out(vty, "Local LSR Identifier: %s%s", inet_ntoa(dst), VTY_NEWLINE);
4355 + vty_out(vty, "%s", VTY_NEWLINE);
4356 + vty_out(vty, "Interface Discovery Sources:%s", VTY_NEWLINE);
4358 + count = 0;
4359 + iff.index = 0;
4360 + while (ldp_cfg_if_getnext(ldp->h, &iff, 0xFFFFFFFF) == MPLS_SUCCESS) {
4361 + li = iff.handle->info;
4362 + if (li->configured == MPLS_BOOL_FALSE) {
4363 + continue;
4365 + first = 1;
4366 + count++;
4367 + vty_out(vty, "\t%s: ", iff.handle->name);
4368 + if (iff.oper_state != MPLS_OPER_UP) {
4369 + vty_out(vty, "down");
4370 + } else {
4371 + vty_out(vty, "xmit");
4372 + entity.index = iff.entity_index;
4373 + if (ldp_cfg_entity_get(ldp->h, &entity, 0xFFFFFFFF) != MPLS_SUCCESS) {
4374 + continue;
4376 + do {
4377 + adj.index = entity.adj_index;
4378 + if (ldp_cfg_adj_get(ldp->h, &adj, 0xFFFFFFFF) == MPLS_SUCCESS) {
4379 + if (first) {
4380 + vty_out(vty, "/recv%s", VTY_NEWLINE);
4381 + first = 0;
4383 + dst.s_addr = htonl(adj.remote_lsr_address.u.ipv4);
4384 + vty_out(vty, "\t LDP Id: %s:%d%s ", inet_ntoa(dst),
4385 + adj.remote_label_space, VTY_NEWLINE);
4387 + } while (ldp_cfg_entity_adj_getnext(ldp->h, &entity) == MPLS_SUCCESS);
4389 + if (first) {
4390 + vty_out(vty, "%s", VTY_NEWLINE);
4393 + if (count == 0) {
4394 + vty_out(vty, "\tNo configured interfaces%s", VTY_NEWLINE);
4397 + vty_out(vty, "%s", VTY_NEWLINE);
4398 + vty_out(vty, "Targeted Discovery Sources:%s", VTY_NEWLINE);
4400 + count = 0;
4401 + peer.index = 0;
4402 + while (ldp_cfg_peer_getnext(ldp->h, &peer, 0xFFFFFFFF) ==
4403 + MPLS_SUCCESS) {
4404 + first = 1;
4405 + count++;
4406 + dst.s_addr = htonl(peer.dest.addr.u.ipv4);
4407 + vty_out(vty, "\t%s: xmit ", inet_ntoa(dst));
4408 + while (ldp_cfg_adj_getnext(ldp->h, &adj, 0xFFFFFFFF) == MPLS_SUCCESS) {
4409 + if (peer.entity_index == adj.entity_index) {
4410 + if (first) {
4411 + vty_out(vty, "/recv%s", VTY_NEWLINE);
4412 + first = 0;
4414 + dst.s_addr = htonl(adj.remote_lsr_address.u.ipv4);
4415 + vty_out(vty, "\t LDP Id: %s:%d%s ", inet_ntoa(dst),
4416 + adj.remote_label_space, VTY_NEWLINE);
4419 + if (first) {
4420 + vty_out(vty, "%s", VTY_NEWLINE);
4423 + if (count == 0) {
4424 + vty_out(vty, "\tNo configured peers%s", VTY_NEWLINE);
4426 + vty_out(vty, "%s", VTY_NEWLINE);
4428 + return CMD_SUCCESS;
4431 +void ldp_print_label(struct vty *vty, mpls_label_struct *l) {
4432 + switch(l->type) {
4433 + case MPLS_LABEL_TYPE_NONE:
4434 + vty_out(vty, "label: unknown");
4435 + break;
4436 + case MPLS_LABEL_TYPE_GENERIC:
4437 + vty_out(vty, "label: gen %d",l->u.gen);
4438 + break;
4439 + case MPLS_LABEL_TYPE_ATM:
4440 + vty_out(vty, "label: atm %d/%d",l->u.atm.vpi,l->u.atm.vci);
4441 + break;
4442 + case MPLS_LABEL_TYPE_FR:
4443 + vty_out(vty, "label: dlci %d",l->u.fr.dlci);
4444 + break;
4448 +DEFUN (mpls_show_ldp_database, mpls_show_ldp_database_cmd,
4449 + "show ldp database [A.B.C.D:E]",
4450 + SHOW_STR
4451 + "LDP related commands\n"
4452 + "Labeling information\n"
4453 + "LDP identifier\n") {
4454 + struct ldp *ldp = ldp_get();
4455 + ldp_session session;
4456 + ldp_outlabel out;
4457 + ldp_inlabel in;
4458 + ldp_attr attr;
4459 + ldp_adj adj;
4460 + int count = 0;
4461 + struct in_addr fec;
4463 + if (!ldp) {
4464 + vty_out (vty, "There isn't an active LDP instance.%s", VTY_NEWLINE);
4465 + return CMD_WARNING;
4468 + attr.index = 0;
4469 + while (ldp_cfg_attr_getnext(ldp->h, &attr, 0xFFFFFFFF) == MPLS_SUCCESS) {
4470 + count++;
4472 + fec.s_addr = htonl(attr.fecTlv.fecElArray[0].addressEl.address);
4474 + vty_out(vty, " %s/%d ", inet_ntoa(fec),
4475 + attr.fecTlv.fecElArray[0].addressEl.preLen);
4477 + session.index = attr.session_index;
4478 + if (ldp_cfg_session_get(ldp->h, &session, 0xFFFFFFFF) != MPLS_SUCCESS) {
4479 + vty_out(vty, "no session%s",VTY_NEWLINE);
4480 + continue;
4483 + adj.index = session.adj_index;
4484 + if (ldp_cfg_adj_get(ldp->h, &adj, 0xFFFFFFFF) != MPLS_SUCCESS) {
4485 + vty_out(vty, "no adj%s",VTY_NEWLINE);
4486 + continue;
4489 + switch(attr.state) {
4490 + case LDP_LSP_STATE_MAP_RECV:
4491 + vty_out(vty, "remote binding: ");
4492 + out.index = attr.outlabel_index;
4493 + if (ldp_cfg_outlabel_get(ldp->h, &out, 0xFFFFFFFF) != MPLS_SUCCESS) {
4494 + vty_out(vty, "no outlabel");
4495 + } else {
4496 + ldp_print_label(vty,&out.info.label);
4498 + fec.s_addr = htonl(adj.remote_lsr_address.u.ipv4);
4499 + vty_out(vty, " lsr: %s:%d ", inet_ntoa(fec), adj.remote_label_space);
4500 + if (attr.ingress == MPLS_BOOL_TRUE) {
4501 + vty_out(vty, "ingress");
4503 + break;
4504 + case LDP_LSP_STATE_MAP_SENT:
4505 + in.index = attr.inlabel_index;
4506 + if (ldp_cfg_inlabel_get(ldp->h, &in, 0xFFFFFFFF) != MPLS_SUCCESS) {
4507 + vty_out(vty, "no inlabel%s", VTY_NEWLINE);
4508 + continue;
4510 + vty_out(vty, "local binding: ");
4511 + ldp_print_label(vty,&in.info.label);
4512 + break;
4513 + case LDP_LSP_STATE_WITH_SENT:
4514 + case LDP_LSP_STATE_WITH_RECV:
4515 + case LDP_LSP_STATE_NO_LABEL_RESOURCE_SENT:
4516 + case LDP_LSP_STATE_NO_LABEL_RESOURCE_RECV:
4517 + case LDP_LSP_STATE_ABORT_SENT:
4518 + case LDP_LSP_STATE_ABORT_RECV:
4519 + case LDP_LSP_STATE_NOTIF_SENT:
4520 + case LDP_LSP_STATE_NOTIF_RECV:
4521 + case LDP_LSP_STATE_REQ_RECV:
4522 + case LDP_LSP_STATE_REQ_SENT:
4523 + vty_out(vty, "%s:\t", attr_state[attr.state]);
4524 + fec.s_addr = htonl(adj.remote_lsr_address.u.ipv4);
4525 + vty_out(vty, "lsr: %s:%d", inet_ntoa(fec), adj.remote_label_space);
4526 + break;
4527 + default:
4528 + break;
4530 + vty_out(vty, "%s", VTY_NEWLINE);
4532 + if (count == 0) {
4533 + vty_out(vty, " no labeling info has been exchanged%s", VTY_NEWLINE);
4536 + return CMD_SUCCESS;
4539 +DEFUN(ldp_intf,
4540 + ldp_intf_cmd,
4541 + "mpls ip",
4542 + "MPLS interface configuration\n"
4543 + "Dynamic label distribution via LDP\n") {
4544 + struct interface *ifp = vty->index;
4545 + struct ldp_interface *li;
4547 + MPLS_ASSERT(ifp->info);
4549 + li = ifp->info;
4550 + if (li->configured == MPLS_BOOL_FALSE) {
4551 + li->labelspace = 0;
4552 + li->configured = MPLS_BOOL_TRUE;
4553 + li->admin_up = MPLS_BOOL_TRUE;
4555 + if (ifp->ifindex > 0) {
4556 + do_mpls_labelspace(li);
4559 + ldp_interface_create(li);
4561 + vty->node = LDP_IF_NODE;
4563 + return CMD_SUCCESS;
4566 +DEFUN(no_ldp_intf,
4567 + no_ldp_intf_cmd,
4568 + "no mpls ip",
4569 + NO_STR
4570 + "MPLS interface configuration\n"
4571 + "remove LDP\n") {
4572 + struct interface *ifp = vty->index;
4573 + struct ldp_interface *li;
4575 + if (!ifp->info) {
4576 + vty_out(vty, "LDP is not enabled on '%s'%s", ifp->name, VTY_NEWLINE);
4577 + return CMD_WARNING;
4580 + li = ifp->info;
4581 + li->configured = MPLS_BOOL_FALSE;
4582 + li->admin_up = MPLS_BOOL_FALSE;
4583 + li->labelspace = -1;
4585 + if (ifp->ifindex > 0) {
4586 + do_mpls_labelspace(li);
4589 + ldp_interface_delete(li);
4590 + return CMD_SUCCESS;
4593 +#if 0
4595 +DEFUN(ldp_l2cc_intf,
4596 + ldp_l2cc_intf_cmd,
4597 + "mpls l2cc peer IPADDR vc-id VCID <group-id GROUPID>",
4598 + "MPLS interface configuration\n"
4599 + "Create a Layer 2 Cross Connect\n"
4600 + "Remote Peer\n"
4601 + "IP Address\n"
4602 + "Virtual Circuit ID\n"
4603 + "<0-255>\n"
4604 + "Optional Group ID\n"
4605 + "<0-255>\n") {
4606 + struct interface *ifp = vty->index;
4607 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4608 + uint32_t peer_addr;
4609 + int vcid = 0;
4610 + int gid = -1;
4612 + if (!li->l2cc) {
4613 + /* user is trying to create a new L2CC interface */
4614 + li->l2cc = l2cc_if_new(li);
4617 + VTY_GET_IPV4_ADDRESS("IPADDR",peer_addr,argv[0]);
4618 + VTY_GET_UINT32_RANGE("VCID",vcid,argv[1],0,255);
4619 + if (argc > 2) {
4620 + VTY_GET_UINT32_RANGE("GROUPID",gid,argv[2],0,255);
4623 + l2cc_interface_create(li);
4624 + return CMD_SUCCESS;
4627 +DEFUN(no_ldp_l2cc_intf,
4628 + no_ldp_l2cc_intf_cmd,
4629 + "no mpls l2cc",
4630 + NO_STR
4631 + "MPLS interface configuration\n"
4632 + "Delete a Layer 2 Cross Connect\n") {
4633 + struct interface *ifp = vty->index;
4634 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4636 + if (li->l2cc) {
4637 + l2cc_interface_delete(li);
4638 + l2cc_if_free(li->l2cc);
4639 + li->l2cc = NULL;
4641 + return CMD_SUCCESS;
4644 +DEFUN(ldp_remote_peer,
4645 + ldp_remote_peer_cmd,
4646 + "peer IPADDR",
4647 + "MPLS peer configuration\n"
4648 + "Peer's IPv4 Address\n") {
4649 + struct ldp *ldp = vty->index;
4650 + struct mpls_dest dest;
4651 + struct ldp_remote_peer *rp;
4653 + dest.addr.type = MPLS_FAMILY_IPV4;
4654 + VTY_GET_IPV4_ADDRESS("IPADDR",dest.addr.u.ipv4,argv[0]);
4655 + dest.port = 646;
4657 + if (ldp_remote_peer_find(ldp,&dest)) {
4658 + return CMD_WARNING;
4661 + rp = ldp_remote_peer_new(ldp);
4662 + listnode_add(ldp->peer_list, rp);
4663 + ldp_remote_peer_create(rp,&dest);
4664 + return CMD_SUCCESS;
4667 +DEFUN(no_ldp_remote_peer,
4668 + no_ldp_remote_peer_cmd,
4669 + "no peer IPADDR",
4670 + NO_STR
4671 + "MPLS peer configuration\n"
4672 + "Peer's IPv4 Address\n") {
4673 + struct ldp *ldp = vty->index;
4674 + struct mpls_dest dest;
4675 + struct ldp_remote_peer *rp;
4677 + dest.addr.type = MPLS_FAMILY_IPV4;
4678 + dest.addr.u.ipv4 = ntohl(inet_addr(argv[0]));
4679 + dest.port = 646;
4681 + if ((rp = ldp_remote_peer_find(ldp,&dest))) {
4682 + listnode_delete(ldp->peer_list, rp);
4683 + ldp_remote_peer_delete(rp);
4684 + ldp_remote_peer_free(rp);
4686 + return CMD_SUCCESS;
4689 +DEFUN(ldp_if_distribution_mode,
4690 + ldp_if_distribution_mode_cmd,
4691 + "distribution-mode (dod|du)",
4692 + "MPLS interface configuration\n"
4693 + "distribution mode\n"
4694 + "Downstream on Demand or Downstream unsolicited\n") {
4695 + struct interface *ifp = vty->index;
4696 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4697 + struct ldp *ldp = li->ldp;
4699 + if (!strncmp(argv[0],"dod",3)) {
4700 + li->entity.label_distribution_mode = LDP_DISTRIBUTION_ONDEMAND;
4701 + } else if (!strncmp(argv[0],"du",2)) {
4702 + li->entity.label_distribution_mode = LDP_DISTRIBUTION_UNSOLICITED;
4703 + } else {
4704 + return CMD_WARNING;
4707 + if (!ldp) {
4708 + li->create_on_hold = MPLS_BOOL_TRUE;
4709 + return CMD_SUCCESS;
4711 + ldp_interface_admin_state_start(li);
4712 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_DISTRIBUTION_MODE);
4713 + ldp_interface_admin_state_finish(li);
4714 + return CMD_SUCCESS;
4717 +DEFUN(no_ldp_if_distribution_mode,
4718 + no_ldp_if_distribution_mode_cmd,
4719 + "no distribution-mode",
4720 + NO_STR
4721 + "MPLS interface configuration\n"
4722 + "distribution mode\n") {
4723 + struct interface *ifp = vty->index;
4724 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4725 + struct ldp *ldp = li->ldp;
4727 + li->entity.label_distribution_mode = LDP_ENTITY_DEF_DISTRIBUTION_MODE;
4728 + if (!ldp) {
4729 + li->create_on_hold = MPLS_BOOL_TRUE;
4730 + return CMD_SUCCESS;
4733 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_DISTRIBUTION_MODE);
4734 + return CMD_SUCCESS;
4737 +DEFUN(ldp_if_remote_tcp_port,
4738 + ldp_if_remote_tcp_port_cmd,
4739 + "remote-tcp-port <1-65535>",
4740 + "MPLS interface configuration\n"
4741 + "remote LDP port\n"
4742 + "port number\n") {
4743 + struct interface *ifp = vty->index;
4744 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4745 + struct ldp *ldp = li->ldp;
4747 + li->entity.remote_tcp_port = atoi(argv[0]);
4748 + if (!ldp) {
4749 + li->create_on_hold = MPLS_BOOL_TRUE;
4750 + return CMD_SUCCESS;
4753 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_REMOTE_TCP);
4754 + return CMD_SUCCESS;
4757 +DEFUN(no_ldp_if_remote_tcp_port,
4758 + no_ldp_if_remote_tcp_port_cmd,
4759 + "no remote-tcp-port",
4760 + NO_STR
4761 + "MPLS interface configuration\n"
4762 + "remote LDP port\n") {
4763 + struct interface *ifp = vty->index;
4764 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4766 + li->entity.remote_tcp_port = LDP_ENTITY_DEF_REMOTE_TCP;
4767 + if (!li->ldp) {
4768 + li->create_on_hold = MPLS_BOOL_TRUE;
4769 + return CMD_SUCCESS;
4772 + ldp_cfg_entity_set(li->ldp->h, &li->entity, LDP_ENTITY_CFG_REMOTE_TCP);
4773 + return CMD_SUCCESS;
4776 +DEFUN(ldp_if_remote_udp_port,
4777 + ldp_if_remote_udp_port_cmd,
4778 + "remote-udp-port <1-65535>",
4779 + "MPLS interface configuration\n"
4780 + "remote LDP port\n"
4781 + "port number\n") {
4782 + struct interface *ifp = vty->index;
4783 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4784 + struct ldp *ldp = li->ldp;
4786 + li->entity.remote_udp_port = atoi(argv[0]);
4787 + if (!ldp) {
4788 + li->create_on_hold = MPLS_BOOL_TRUE;
4789 + return CMD_SUCCESS;
4792 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_REMOTE_UDP);
4793 + return CMD_SUCCESS;
4796 +DEFUN(no_ldp_if_remote_udp_port,
4797 + no_ldp_if_remote_udp_port_cmd,
4798 + "no remote-udp-port",
4799 + NO_STR
4800 + "MPLS interface configuration\n"
4801 + "remote LDP port\n") {
4802 + struct interface *ifp = vty->index;
4803 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4804 + struct ldp *ldp = li->ldp;
4806 + li->entity.remote_udp_port = LDP_ENTITY_DEF_REMOTE_UDP;
4807 + if (!ldp) {
4808 + li->create_on_hold = MPLS_BOOL_TRUE;
4809 + return CMD_SUCCESS;
4812 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_REMOTE_UDP);
4813 + return CMD_SUCCESS;
4816 +DEFUN(ldp_if_max_pdu,
4817 + ldp_if_max_pdu_cmd,
4818 + "max-pdu <64-9182>",
4819 + "MPLS interface configuration\n"
4820 + "maximum LDP PDU size\n"
4821 + "PDU size\n") {
4822 + struct interface *ifp = vty->index;
4823 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4824 + struct ldp *ldp = li->ldp;
4826 + li->entity.max_pdu = atoi(argv[0]);
4827 + if (!ldp) {
4828 + li->create_on_hold = MPLS_BOOL_TRUE;
4829 + return CMD_SUCCESS;
4832 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_MAX_PDU);
4833 + return CMD_SUCCESS;
4836 +DEFUN(no_ldp_if_max_pdu,
4837 + no_ldp_if_max_pdu_cmd,
4838 + "no max-pdu",
4839 + NO_STR
4840 + "MPLS interface configuration\n"
4841 + "maximum LDP pdu size\n") {
4842 + struct interface *ifp = vty->index;
4843 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4844 + struct ldp *ldp = li->ldp;
4846 + li->entity.max_pdu = LDP_ENTITY_DEF_MAX_PDU;
4847 + if (!ldp) {
4848 + li->create_on_hold = MPLS_BOOL_TRUE;
4849 + return CMD_SUCCESS;
4852 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_MAX_PDU);
4853 + return CMD_SUCCESS;
4856 +DEFUN(ldp_if_hello_interval,
4857 + ldp_if_hello_interval_cmd,
4858 + "hello-interval <1-60>",
4859 + "MPLS interface configuration\n"
4860 + "hello interval\n"
4861 + "interval in seconds\n") {
4862 + struct interface *ifp = vty->index;
4863 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4864 + struct ldp *ldp = li->ldp;
4866 + li->entity.hellotime_interval = atoi(argv[0]);
4867 + if (!ldp) {
4868 + li->create_on_hold = MPLS_BOOL_TRUE;
4869 + return CMD_SUCCESS;
4872 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_HELLOTIME_INTERVAL);
4873 + return CMD_SUCCESS;
4876 +DEFUN(no_ldp_if_hello_interval,
4877 + no_ldp_if_hello_interval_cmd,
4878 + "no hello-interval",
4879 + NO_STR
4880 + "MPLS interface configuration\n"
4881 + "hello interval\n") {
4882 + struct interface *ifp = vty->index;
4883 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4884 + struct ldp *ldp = li->ldp;
4886 + li->entity.hellotime_interval = LDP_ENTITY_DEF_HELLOTIME_INTERVAL;
4887 + if (!ldp) {
4888 + li->create_on_hold = MPLS_BOOL_TRUE;
4889 + return CMD_SUCCESS;
4892 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_HELLOTIME_INTERVAL);
4893 + return CMD_SUCCESS;
4896 +DEFUN(ldp_if_keepalive_interval,
4897 + ldp_if_keepalive_interval_cmd,
4898 + "keepalive-interval <1-60>",
4899 + "MPLS interface configuration\n"
4900 + "keepalive interval\n"
4901 + "interval in seconds\n") {
4902 + struct interface *ifp = vty->index;
4903 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4904 + struct ldp *ldp = li->ldp;
4906 + li->entity.keepalive_interval = atoi(argv[0]);
4907 + if (!ldp) {
4908 + li->create_on_hold = MPLS_BOOL_TRUE;
4909 + return CMD_SUCCESS;
4912 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_KEEPALIVE_INTERVAL);
4913 + return CMD_SUCCESS;
4916 +DEFUN(no_ldp_if_keepalive_interval,
4917 + no_ldp_if_keepalive_interval_cmd,
4918 + "no keepalive-interval",
4919 + NO_STR
4920 + "MPLS interface configuration\n"
4921 + "keepalive interval\n") {
4922 + struct interface *ifp = vty->index;
4923 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4924 + struct ldp *ldp = li->ldp;
4926 + li->entity.keepalive_interval = LDP_ENTITY_DEF_KEEPALIVE_INTERVAL;
4927 + if (!ldp) {
4928 + li->create_on_hold = MPLS_BOOL_TRUE;
4929 + return CMD_SUCCESS;
4932 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_KEEPALIVE_INTERVAL);
4933 + return CMD_SUCCESS;
4936 +DEFUN(ldp_if_max_session_attempt,
4937 + ldp_if_max_session_attempt_cmd,
4938 + "max-session-attempt <0-1024>",
4939 + "MPLS interface configuration\n"
4940 + "maximum LDP session setup attempt\n"
4941 + "Number of attempts (0 means keep trying)\n") {
4942 + struct interface *ifp = vty->index;
4943 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4944 + struct ldp *ldp = li->ldp;
4946 + li->entity.session_setup_count = atoi(argv[0]);
4947 + if (!ldp) {
4948 + li->create_on_hold = MPLS_BOOL_TRUE;
4949 + return CMD_SUCCESS;
4952 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_SESSION_SETUP_COUNT);
4953 + return CMD_SUCCESS;
4956 +DEFUN(no_ldp_if_max_session_attempt,
4957 + no_ldp_if_max_session_attempt_cmd,
4958 + "no max-session-attempt\n",
4959 + NO_STR
4960 + "MPLS interface configuration\n"
4961 + "maximum LDP session setup attempt\n") {
4962 + struct interface *ifp = vty->index;
4963 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4964 + struct ldp *ldp = li->ldp;
4966 + li->entity.session_setup_count = LDP_ENTITY_DEF_SESSIONSETUP_COUNT;
4967 + if (!ldp) {
4968 + li->create_on_hold = MPLS_BOOL_TRUE;
4969 + return CMD_SUCCESS;
4972 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_SESSION_SETUP_COUNT);
4973 + return CMD_SUCCESS;
4976 +DEFUN(ldp_if_max_path_vector,
4977 + ldp_if_max_path_vector_cmd,
4978 + "max-path-vector <1-255>",
4979 + "MPLS interface configuration\n"
4980 + "maximum path vector\n"
4981 + "number of entries\n") {
4982 + struct interface *ifp = vty->index;
4983 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
4984 + struct ldp *ldp = li->ldp;
4986 + li->entity.path_vector_limit = atoi(argv[0]);
4987 + if (!ldp) {
4988 + li->create_on_hold = MPLS_BOOL_TRUE;
4989 + return CMD_SUCCESS;
4992 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_PATHVECTOR_LIMIT);
4993 + return CMD_SUCCESS;
4996 +DEFUN(no_ldp_if_max_path_vector,
4997 + no_ldp_if_max_path_vector_cmd,
4998 + "no max-path-vector",
4999 + NO_STR
5000 + "MPLS interface configuration\n"
5001 + "maximum path vector\n") {
5002 + struct interface *ifp = vty->index;
5003 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
5004 + struct ldp *ldp = li->ldp;
5006 + li->entity.path_vector_limit = LDP_ENTITY_DEF_PATHVECTOR_LIMIT;
5007 + if (!ldp) {
5008 + li->create_on_hold = MPLS_BOOL_TRUE;
5009 + return CMD_SUCCESS;
5012 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_PATHVECTOR_LIMIT);
5013 + return CMD_SUCCESS;
5016 +DEFUN(ldp_if_max_hop_count,
5017 + ldp_if_max_hop_count_cmd,
5018 + "max-hop-count <1-1024>",
5019 + "MPLS interface configuration\n"
5020 + "maximum hop count\n"
5021 + "number of hops\n") {
5022 + struct interface *ifp = vty->index;
5023 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
5024 + struct ldp *ldp = li->ldp;
5026 + li->entity.hop_count_limit = atoi(argv[0]);
5027 + if (!ldp) {
5028 + li->create_on_hold = MPLS_BOOL_TRUE;
5029 + return CMD_SUCCESS;
5032 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_HOPCOUNT_LIMIT);
5033 + return CMD_SUCCESS;
5036 +DEFUN(no_ldp_if_max_hop_count,
5037 + no_ldp_if_max_hop_count_cmd,
5038 + "no max-hop-count",
5039 + NO_STR
5040 + "MPLS interface configuration\n"
5041 + "maximum hop count\n") {
5042 + struct interface *ifp = vty->index;
5043 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
5044 + struct ldp *ldp = li->ldp;
5046 + li->entity.hop_count_limit = LDP_ENTITY_DEF_HOPCOUNT_LIMIT;
5047 + if (!ldp) {
5048 + li->create_on_hold = MPLS_BOOL_TRUE;
5049 + return CMD_SUCCESS;
5052 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_HOPCOUNT_LIMIT);
5053 + return CMD_SUCCESS;
5056 +DEFUN(ldp_if_max_label_requests,
5057 + ldp_if_max_label_requests_cmd,
5058 + "max-label-requests <0-1024>",
5059 + "MPLS interface configuration\n"
5060 + "maximum times to make a request for a FEC\n"
5061 + "Number of attempts (0 means keep trying)\n") {
5062 + struct interface *ifp = vty->index;
5063 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
5064 + struct ldp *ldp = li->ldp;
5066 + li->entity.label_request_count = atoi(argv[0]);
5067 + if (!ldp) {
5068 + li->create_on_hold = MPLS_BOOL_TRUE;
5069 + return CMD_SUCCESS;
5072 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_REQUEST_COUNT);
5073 + return CMD_SUCCESS;
5076 +DEFUN(no_ldp_if_max_label_requests,
5077 + no_ldp_if_max_label_requests_cmd,
5078 + "no max-label-requests",
5079 + NO_STR
5080 + "MPLS interface configuration\n"
5081 + "maximum times to make a request for a FEC\n") {
5082 + struct interface *ifp = vty->index;
5083 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
5084 + struct ldp *ldp = li->ldp;
5086 + li->entity.label_request_count = LDP_ENTITY_DEF_REQUEST_COUNT;
5087 + if (!ldp) {
5088 + li->create_on_hold = MPLS_BOOL_TRUE;
5089 + return CMD_SUCCESS;
5092 + ldp_cfg_entity_set(ldp->h, &li->entity, LDP_ENTITY_CFG_REQUEST_COUNT);
5093 + return CMD_SUCCESS;
5096 +#endif
5098 +#if 0
5099 +DEFUN(ldp_if_ttl_less_domain,
5100 + ldp_if_ttl_less_domain_cmd,
5101 + "ttl-less-domain",
5102 + "MPLS interface configuration\n"
5103 + "TTL less domain\n") {
5104 + struct interface *ifp = vty->index;
5105 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
5106 + struct ldp *ldp = li->ldp;
5108 + li->entity.remote_in_ttl_less_domain = MPLS_BOOL_TRUE;
5109 + if (!ldp) {
5110 + li->create_on_hold = MPLS_BOOL_TRUE;
5111 + return CMD_SUCCESS;
5114 + return CMD_SUCCESS;
5117 +DEFUN(no_ldp_if_ttl_less_domain,
5118 + no_ldp_if_ttl_less_domain_cmd,
5119 + "no ttl-less-domain",
5120 + NO_STR
5121 + "MPLS interface configuration\n"
5122 + "TTL less domain\n") {
5123 + struct interface *ifp = vty->index;
5124 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
5125 + struct ldp *ldp = li->ldp;
5127 + li->entity.remote_in_ttl_less_domain = MPLS_BOOL_FALSE;
5128 + if (!ldp) {
5129 + return CMD_SUCCESS;
5132 + return CMD_SUCCESS;
5134 +#endif
5136 +static int ldp_if_config_write (struct vty *vty) {
5137 + return 0;
5140 +static int ldp_config_write (struct vty *vty) {
5141 + struct ldp *ldp = ldp_get();
5142 + ldp_global g;
5143 + int write = 0;
5144 +#if 0
5145 + struct in_addr addr;
5146 + struct ldp_remote_peer *rp;
5147 + struct listnode *ln;
5148 +#endif
5150 + if (ldp) {
5151 + vty_out (vty, "!%s", VTY_NEWLINE);
5152 + vty_out (vty, "mpls ip%s", VTY_NEWLINE);
5153 + write++;
5155 +#if 0
5157 + LIST_LOOP(ldp->peer_list,rp,ln) {
5158 + addr.s_addr = htonl(rp->peer.dest.addr.u.ipv4);
5159 + vty_out (vty, " peer %s%s", inet_ntoa(addr), VTY_NEWLINE);
5162 +#endif
5164 + if (ldp_traceflags & LDP_TRACE_FLAG_ADDRESS)
5165 + vty_out (vty, " trace address%s", VTY_NEWLINE);
5166 + if (ldp_traceflags & LDP_TRACE_FLAG_BINDING)
5167 + vty_out (vty, " trace binding%s", VTY_NEWLINE);
5168 + if (ldp_traceflags & LDP_TRACE_FLAG_DEBUG)
5169 + vty_out (vty, " trace debug%s", VTY_NEWLINE);
5170 + if (ldp_traceflags & LDP_TRACE_FLAG_ERROR)
5171 + vty_out (vty, " trace error%s", VTY_NEWLINE);
5172 + if (ldp_traceflags & LDP_TRACE_FLAG_EVENT)
5173 + vty_out (vty, " trace event%s", VTY_NEWLINE);
5174 + if (ldp_traceflags & LDP_TRACE_FLAG_GENERAL)
5175 + vty_out (vty, " trace general%s", VTY_NEWLINE);
5176 + if (ldp_traceflags & LDP_TRACE_FLAG_INIT)
5177 + vty_out (vty, " trace init%s", VTY_NEWLINE);
5178 + if (ldp_traceflags & LDP_TRACE_FLAG_LABEL)
5179 + vty_out (vty, " trace label%s", VTY_NEWLINE);
5180 + if (ldp_traceflags & LDP_TRACE_FLAG_NORMAL)
5181 + vty_out (vty, " trace normal%s", VTY_NEWLINE);
5182 + if (ldp_traceflags & LDP_TRACE_FLAG_NOTIF)
5183 + vty_out (vty, " trace notification%s", VTY_NEWLINE);
5184 + if (ldp_traceflags & LDP_TRACE_FLAG_PACKET_DUMP)
5185 + vty_out (vty, " trace packet-dump%s", VTY_NEWLINE);
5186 + if (ldp_traceflags & LDP_TRACE_FLAG_PACKET)
5187 + vty_out (vty, " trace packet%s", VTY_NEWLINE);
5188 + if (ldp_traceflags & LDP_TRACE_FLAG_PATH)
5189 + vty_out (vty, " trace path%s", VTY_NEWLINE);
5190 + if (ldp_traceflags & LDP_TRACE_FLAG_PERIODIC)
5191 + vty_out (vty, " trace periodic%s", VTY_NEWLINE);
5192 + if (ldp_traceflags & LDP_TRACE_FLAG_POLICY)
5193 + vty_out (vty, " trace policy%s", VTY_NEWLINE);
5194 + if (ldp_traceflags & LDP_TRACE_FLAG_ROUTE)
5195 + vty_out (vty, " trace route%s", VTY_NEWLINE);
5196 + if (ldp_traceflags & LDP_TRACE_FLAG_STATE)
5197 + vty_out (vty, " trace state%s", VTY_NEWLINE);
5198 + if (ldp_traceflags & LDP_TRACE_FLAG_TASK)
5199 + vty_out (vty, " trace task%s", VTY_NEWLINE);
5200 + if (ldp_traceflags & LDP_TRACE_FLAG_TIMER)
5201 + vty_out (vty, " trace timer%s", VTY_NEWLINE);
5203 + ldp_cfg_global_get(ldp->h,&g, 0xFFFFFFFF);
5205 + if (g.lsp_control_mode != LDP_GLOBAL_DEF_CONTROL_MODE) {
5206 + vty_out (vty, " lsp-control-mode ");
5207 + if (g.lsp_control_mode == LDP_CONTROL_INDEPENDENT) {
5208 + vty_out (vty, "independent%s", VTY_NEWLINE);
5209 + } else {
5210 + vty_out (vty, "ordered%s", VTY_NEWLINE);
5213 + if (g.label_retention_mode != LDP_GLOBAL_DEF_RETENTION_MODE) {
5214 + vty_out (vty, " label-retention-mode ");
5215 + if (g.label_retention_mode == LDP_RETENTION_LIBERAL) {
5216 + vty_out (vty, "liberal%s", VTY_NEWLINE);
5217 + } else {
5218 + vty_out (vty, "conservative%s", VTY_NEWLINE);
5221 + if (g.lsp_repair_mode != LDP_GLOBAL_DEF_REPAIR_MODE) {
5222 + vty_out (vty, " lsp-repair-mode ");
5223 + if (g.lsp_repair_mode == LDP_REPAIR_LOCAL) {
5224 + vty_out (vty, "local%s", VTY_NEWLINE);
5225 + } else {
5226 + vty_out (vty, "global%s", VTY_NEWLINE);
5229 + if (g.propagate_release != LDP_GLOBAL_DEF_PROPOGATE_RELEASE) {
5230 + if (g.propagate_release == MPLS_BOOL_TRUE) {
5231 + vty_out (vty, " propagate-release%s", VTY_NEWLINE);
5232 + } else {
5233 + vty_out (vty, " no propagate-release%s", VTY_NEWLINE);
5236 + if (g.label_merge != LDP_GLOBAL_DEF_LABEL_MERGE) {
5237 + if (g.label_merge == MPLS_BOOL_TRUE) {
5238 + vty_out (vty, " label-merge%s", VTY_NEWLINE);
5239 + } else {
5240 + vty_out (vty, " no label-merge%s", VTY_NEWLINE);
5243 + if (g.loop_detection_mode != LDP_GLOBAL_DEF_LOOP_DETECTION_MODE) {
5244 + if (g.loop_detection_mode == LDP_LOOP_HOPCOUNT) {
5245 + vty_out (vty, " loop-detection-mode hop%s", VTY_NEWLINE);
5246 + } else if (g.loop_detection_mode == LDP_LOOP_PATHVECTOR) {
5247 + vty_out (vty, " loop-detection-mode path%s", VTY_NEWLINE);
5248 + } else if (g.loop_detection_mode == LDP_LOOP_HOPCOUNT_PATHVECTOR) {
5249 + vty_out (vty, " loop-detection-mode both%s", VTY_NEWLINE);
5250 + } else {
5251 + vty_out (vty, " no loop-detection-mode%s", VTY_NEWLINE);
5254 + if (g.ttl_less_domain != MPLS_BOOL_FALSE) {
5255 + vty_out (vty, " ttl-less-domain%s", VTY_NEWLINE);
5257 + if (g.local_tcp_port != LDP_GLOBAL_DEF_LOCAL_TCP_PORT) {
5258 + vty_out (vty, " local-tcp-port %d%s", g.local_tcp_port, VTY_NEWLINE);
5260 + if (g.local_udp_port != LDP_GLOBAL_DEF_LOCAL_UDP_PORT) {
5261 + vty_out (vty, " local-udp-port %d%s", g.local_udp_port, VTY_NEWLINE);
5264 + switch (ldp->egress) {
5265 + case LDP_EGRESS_LSRID:
5266 + vty_out (vty, " egress lsr-id%s", VTY_NEWLINE);
5267 + break;
5268 + case LDP_EGRESS_CONNECTED:
5269 + vty_out (vty, " egress connected%s", VTY_NEWLINE);
5270 + break;
5271 + default:
5272 + break;
5275 + switch (ldp->address) {
5276 + case LDP_ADDRESS_LSRID:
5277 + vty_out (vty, " address-mode lsr-id%s", VTY_NEWLINE);
5278 + break;
5279 + case LDP_ADDRESS_LDP:
5280 + vty_out (vty, " address-mode ldp%s", VTY_NEWLINE);
5281 + break;
5282 + default:
5283 + break;
5286 + return write;
5289 +#if 0
5290 +int ldp_interface_config_write(struct vty *vty) {
5291 + struct ldp *ldp = ldp_get();
5292 + listnode node;
5293 + struct interface *ifp;
5295 + ldp_entity e;
5296 + mpls_fec l;
5297 + int write = 0;
5299 + if (li && li->ldp) {
5300 + ldp = li->ldp;
5302 + if (li->entity.index) {
5303 + e.index = li->entity.index;
5304 + ldp_cfg_entity_get(ldp->h, &e, 0xFFFFFFFF);
5305 + } else {
5306 + memcpy(&e,&li->entity,sizeof(ldp_entity));
5309 + vty_out(vty, " mpls ldp%s", VTY_NEWLINE);
5310 + write++;
5312 + if (e.label_distribution_mode != LDP_ENTITY_DEF_DISTRIBUTION_MODE) {
5313 + vty_out(vty, " distribution-mode ");
5314 + if (e.label_distribution_mode == LDP_DISTRIBUTION_ONDEMAND) {
5315 + vty_out(vty, "dod%s", VTY_NEWLINE);
5316 + } else {
5317 + vty_out(vty, "du%s", VTY_NEWLINE);
5320 + if (e.remote_tcp_port != LDP_ENTITY_DEF_REMOTE_TCP) {
5321 + vty_out(vty, " remote-tcp-port %d%s", e.remote_tcp_port,
5322 + VTY_NEWLINE);
5324 + if (e.remote_udp_port != LDP_ENTITY_DEF_REMOTE_UDP) {
5325 + vty_out(vty, " remote-udp-port %d%s", e.remote_udp_port,
5326 + VTY_NEWLINE);
5328 + if (e.max_pdu != LDP_ENTITY_DEF_MAX_PDU) {
5329 + vty_out(vty, " max-pdu %d%s", e.max_pdu, VTY_NEWLINE);
5331 + if (e.hellotime_interval != LDP_ENTITY_DEF_HELLOTIME_INTERVAL) {
5332 + vty_out(vty, " hello-interval %d%s", e.hellotime_interval,
5333 + VTY_NEWLINE);
5335 + if (e.keepalive_interval != LDP_ENTITY_DEF_KEEPALIVE_INTERVAL) {
5336 + vty_out(vty, " keepalive-interval %d%s",
5337 + e.keepalive_interval, VTY_NEWLINE);
5339 + if (e.session_setup_count != LDP_ENTITY_DEF_SESSIONSETUP_COUNT) {
5340 + vty_out(vty, " max-session-attempt %d%s",
5341 + e.session_setup_count, VTY_NEWLINE);
5343 + if (e.path_vector_limit != LDP_ENTITY_DEF_PATHVECTOR_LIMIT) {
5344 + vty_out(vty, " max-path-vector %d%s",
5345 + e.path_vector_limit, VTY_NEWLINE);
5347 + if (e.hop_count_limit != LDP_ENTITY_DEF_HOPCOUNT_LIMIT) {
5348 + vty_out(vty, " max-hop-count %d%s",
5349 + e.hop_count_limit, VTY_NEWLINE);
5351 + if (e.label_request_count != LDP_ENTITY_DEF_REQUEST_COUNT) {
5352 + vty_out(vty, " max-label-requests %d%s",
5353 + e.label_request_count, VTY_NEWLINE);
5355 + vty_out(vty, " !%s",VTY_NEWLINE);
5356 + } else if (li && li->l2cc) {
5357 +// struct in_addr tmp;
5358 + l2 = li->l2cc;
5359 + ldp = li->ldp;
5361 + write++;
5363 + if (l2->l2cc.index) {
5364 + l.index = l2->l2cc.index;
5365 + ldp_cfg_fec_get(ldp->h, &l, 0xFFFFFFFF);
5366 + } else {
5367 + memcpy(&l,&l2->l2cc,sizeof(ldp_fec));
5369 +#if 0
5370 + tmp.s_addr = htonl(l.info.nh.ip.u.ipv4);
5371 + vty_out(vty, " mpls l2cc peer %s",inet_ntoa(tmp));
5372 + vty_out(vty, " vcid %d",l.info.u.l2cc.connection_id);
5373 + if (l.info.u.l2cc.group_id) {
5374 + vty_out(vty, " groupid %d", l.info.u.l2cc.group_id);
5376 +#endif
5377 + vty_out(vty, "%s", VTY_NEWLINE);
5379 + vty_out(vty, " !%s",VTY_NEWLINE);
5383 + return write;
5385 +#endif
5387 +void ldp_vty_show_init() {
5389 +#if 0
5390 + install_element(VIEW_NODE, &mpls_show_fec_cmd);
5391 + install_element(ENABLE_NODE, &mpls_show_fec_cmd);
5393 + install_element(VIEW_NODE, &mpls_show_interface_cmd);
5394 + install_element(ENABLE_NODE, &mpls_show_interface_cmd);
5396 + install_element(VIEW_NODE, &mpls_show_lsr_id_cmd);
5397 + install_element(ENABLE_NODE, &mpls_show_lsr_id_cmd);
5398 +#endif
5400 + install_element(VIEW_NODE, &mpls_show_ldp_cmd);
5401 + install_element(ENABLE_NODE, &mpls_show_ldp_cmd);
5403 + install_element(VIEW_NODE, &mpls_show_ldp_fec_cmd);
5404 + install_element(ENABLE_NODE, &mpls_show_ldp_fec_cmd);
5406 + install_element(VIEW_NODE, &mpls_show_ldp_attr_cmd);
5407 + install_element(ENABLE_NODE, &mpls_show_ldp_attr_cmd);
5409 + install_element(VIEW_NODE, &mpls_show_ldp_addr_cmd);
5410 + install_element(ENABLE_NODE, &mpls_show_ldp_addr_cmd);
5412 + install_element(VIEW_NODE, &mpls_show_ldp_interface_cmd);
5413 + install_element(ENABLE_NODE, &mpls_show_ldp_interface_cmd);
5415 + install_element(VIEW_NODE, &mpls_show_ldp_neighbor_cmd);
5416 + install_element(ENABLE_NODE, &mpls_show_ldp_neighbor_cmd);
5418 + install_element(VIEW_NODE, &mpls_show_ldp_session_cmd);
5419 + install_element(ENABLE_NODE, &mpls_show_ldp_session_cmd);
5421 + install_element(VIEW_NODE, &mpls_show_ldp_discovery_cmd);
5422 + install_element(ENABLE_NODE, &mpls_show_ldp_discovery_cmd);
5424 + install_element(VIEW_NODE, &mpls_show_ldp_database_cmd);
5425 + install_element(ENABLE_NODE, &mpls_show_ldp_database_cmd);
5429 +extern void dump_mpls_node(struct vty*,struct route_node*);
5431 +#if 0
5432 +DEFUN (mpls_show_fec, mpls_show_fec_cmd,
5433 + "show fec",
5434 + SHOW_STR
5435 + "FEC\n") {
5436 + struct mpls *mpls = mpls_get();
5437 + struct route_node *node;
5439 + for (node = route_top(mpls->table); node != NULL; node = route_next(node))
5441 + dump_mpls_node(vty,node);
5443 + return CMD_SUCCESS;
5446 +DEFUN (mpls_show_interface, mpls_show_interface_cmd,
5447 + "show interface",
5448 + SHOW_STR
5449 + "interfaces\n") {
5450 + struct interface *iff;
5452 + iff = if_getfirst();
5453 + while (iff) {
5454 + struct listnode *ln;
5455 + struct connected *c;
5456 + vty_out(vty, "INTF: %s%s", iff->name, VTY_NEWLINE);
5457 + LIST_LOOP(iff->connected, c, ln) {
5458 + vty_out(vty, "\t%s%s", inet_ntoa(c->address->u.prefix4),
5459 + VTY_NEWLINE);
5461 + iff = if_getnext(iff);
5463 + return CMD_SUCCESS;
5466 +DEFUN (mpls_show_lsr_id, mpls_show_lsr_id_cmd,
5467 + "show lsr-id",
5468 + SHOW_STR
5469 + "LSR identifier\n") {
5471 + struct mpls *mpls = mpls_get();
5473 + vty_out(vty, "lsr-id: %s%s", inet_ntoa(mpls->router_id.u.prefix4),
5474 + VTY_NEWLINE);
5475 + return CMD_SUCCESS;
5478 +#endif
5480 +DEFUN(interface_mpls_labelspace,
5481 + interface_mpls_labelspace_cmd,
5482 + "mpls labelspace <1-255>",
5483 + "MPLS interface configuration\n"
5484 + "labelspace\n"
5485 + "labelspace number\n") {
5486 + struct interface *ifp = vty->index;
5487 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
5488 + struct ldp *ldp = ldp_get();
5489 + struct mpls_range range;
5491 + if (!li) {
5492 + vty_out(vty, "LDP is not enabled on '%s'%s", ifp->name, VTY_NEWLINE);
5493 + return CMD_WARNING;
5496 + if ((range.label_space = atoi(argv[0])) < 0) {
5497 + return CMD_WARNING;
5500 + li->labelspace = range.label_space;
5501 + /* we may be asked to set the labelspace on an interface which hasn't
5502 + * be recongnized, in which case we set the labelspace but don't do
5503 + * the kernel call */
5504 + if (ifp->ifindex > 0) {
5505 + do_mpls_labelspace(li);
5508 + if (li->entity.index) {
5509 + ldp_interface_admin_state_start(li);
5511 + li->iff.label_space = li->labelspace;
5512 + ldp_cfg_if_set(ldp->h, &li->iff, LDP_IF_CFG_LABEL_SPACE);
5513 + if (li->entity.index) {
5514 + ldp_interface_admin_state_finish(li);
5517 + return CMD_SUCCESS;
5520 +DEFUN(no_interface_mpls_labelspace,
5521 + no_interface_mpls_labelspace_cmd,
5522 + "no mpls labelspace",
5523 + NO_STR
5524 + "MPLS interface configuration\n"
5525 + "labelspace\n") {
5526 + struct interface *ifp = vty->index;
5527 + struct ldp_interface *li = (struct ldp_interface*)ifp->info;
5528 + struct ldp *ldp = ldp_get();
5530 + li->labelspace = 0;
5531 + /* we may be asked to set the labelspace on an interface which hasn't
5532 + * be recongnized, in which case we set the labelspace but don't do
5533 + * the kernel call */
5534 + if (ifp->ifindex > 0) {
5535 + do_mpls_labelspace(li);
5538 + if (li->entity.index) {
5539 + ldp_interface_admin_state_start(li);
5541 + li->iff.label_space = li->labelspace;
5542 + if (ldp) {
5543 + ldp_cfg_if_set(ldp->h, &li->iff, LDP_IF_CFG_LABEL_SPACE);
5545 + if (li->entity.index) {
5546 + ldp_interface_admin_state_finish(li);
5548 + return CMD_SUCCESS;
5551 +static int interface_config_write(struct vty *vty) {
5552 + listnode node;
5553 + struct interface *ifp;
5554 + struct ldp_interface *li;
5556 + for (node = listhead(iflist); node; nextnode(node)) {
5557 + ifp = getdata(node);
5559 + vty_out(vty, "interface %s%s", ifp->name, VTY_NEWLINE);
5561 + if (ifp->desc) {
5562 + vty_out(vty, " description %s%s", ifp->desc, VTY_NEWLINE);
5565 + li = ifp->info;
5566 + if (li) {
5567 + if (li->configured == MPLS_BOOL_TRUE) {
5568 + vty_out(vty, " mpls ip%s", VTY_NEWLINE);
5570 + if (li->labelspace > 0) {
5571 + vty_out(vty, " mpls labelspace %d%s", li->labelspace, VTY_NEWLINE);
5574 + vty_out(vty, "!%s", VTY_NEWLINE);
5576 + return 0;
5579 +static struct cmd_node ldp_node = {LDP_NODE,"%s(config-ldp)# ",1};
5580 +static struct cmd_node interface_node = {INTERFACE_NODE,"%s(config-if)# ",1};
5581 +static struct cmd_node ldp_if_node = {LDP_IF_NODE,"%s(config-if-ldp)# ",1};
5583 +void ldp_vty_init () {
5585 + install_node (&ldp_node, ldp_config_write);
5587 + install_default (LDP_NODE);
5589 + install_element (CONFIG_NODE, &ldp_cmd);
5590 + install_element (CONFIG_NODE, &no_ldp_cmd);
5592 +#if 0
5594 + install_element (LDP_NODE, &ldp_remote_peer_cmd);
5595 + install_element (LDP_NODE, &no_ldp_remote_peer_cmd);
5597 +#endif
5599 + install_element (LDP_NODE, &ldp_lsrid_cmd);
5600 + install_element (LDP_NODE, &no_ldp_lsrid_cmd);
5602 + install_element (LDP_NODE, &ldp_disable_cmd);
5603 + install_element (LDP_NODE, &no_ldp_disable_cmd);
5605 +#if 0
5607 + install_element (LDP_NODE, &ldp_lsp_control_mode_cmd);
5608 + install_element (LDP_NODE, &no_ldp_lsp_control_mode_cmd);
5610 + install_element (LDP_NODE, &ldp_label_retention_mode_cmd);
5611 + install_element (LDP_NODE, &no_ldp_label_retention_mode_cmd);
5613 + install_element (LDP_NODE, &ldp_lsp_repair_mode_cmd);
5614 + install_element (LDP_NODE, &no_ldp_lsp_repair_mode_cmd);
5616 + install_element (LDP_NODE, &ldp_propogate_release_cmd);
5617 + install_element (LDP_NODE, &no_ldp_propogate_release_cmd);
5619 + install_element (LDP_NODE, &ldp_label_merge_cmd);
5620 + install_element (LDP_NODE, &no_ldp_label_merge_cmd);
5622 + install_element (LDP_NODE, &ldp_loop_detection_mode_cmd);
5623 + install_element (LDP_NODE, &no_ldp_loop_detection_mode_cmd);
5625 + install_element (LDP_NODE, &ldp_ttl_less_domain_cmd);
5626 + install_element (LDP_NODE, &no_ldp_ttl_less_domain_cmd);
5628 + install_element (LDP_NODE, &ldp_local_tcp_port_cmd);
5629 + install_element (LDP_NODE, &no_ldp_local_tcp_port_cmd);
5631 + install_element (LDP_NODE, &ldp_local_udp_port_cmd);
5632 + install_element (LDP_NODE, &no_ldp_local_udp_port_cmd);
5633 +#endif
5635 + install_element (LDP_NODE, &ldp_trace_address_cmd);
5636 + install_element (LDP_NODE, &ldp_trace_binding_cmd);
5637 + install_element (LDP_NODE, &ldp_trace_debug_cmd);
5638 + install_element (LDP_NODE, &ldp_trace_error_cmd);
5639 + install_element (LDP_NODE, &ldp_trace_event_cmd);
5640 + install_element (LDP_NODE, &ldp_trace_general_cmd);
5641 + install_element (LDP_NODE, &ldp_trace_init_cmd);
5642 + install_element (LDP_NODE, &ldp_trace_label_cmd);
5643 + install_element (LDP_NODE, &ldp_trace_normal_cmd);
5644 + install_element (LDP_NODE, &ldp_trace_notif_cmd);
5645 + install_element (LDP_NODE, &ldp_trace_packet_dump_cmd);
5646 + install_element (LDP_NODE, &ldp_trace_packet_cmd);
5647 + install_element (LDP_NODE, &ldp_trace_path_cmd);
5648 + install_element (LDP_NODE, &ldp_trace_periodic_cmd);
5649 + install_element (LDP_NODE, &ldp_trace_policy_cmd);
5650 + install_element (LDP_NODE, &ldp_trace_route_cmd);
5651 + install_element (LDP_NODE, &ldp_trace_state_cmd);
5652 + install_element (LDP_NODE, &ldp_trace_task_cmd);
5653 + install_element (LDP_NODE, &ldp_trace_timer_cmd);
5654 + install_element (LDP_NODE, &ldp_trace_all_cmd);
5655 + install_element (LDP_NODE, &ldp_trace_none_cmd);
5657 +#if 0
5659 + install_element (LDP_NODE, &ldp_egress_cmd);
5660 + install_element (LDP_NODE, &no_ldp_egress_cmd);
5661 + install_element (LDP_NODE, &ldp_address_cmd);
5662 + install_element (LDP_NODE, &no_ldp_address_cmd);
5663 +#endif
5665 + install_node(&interface_node, interface_config_write);
5667 + install_element(CONFIG_NODE, &interface_cmd);
5668 + install_default(INTERFACE_NODE);
5670 + install_element(INTERFACE_NODE,&interface_desc_cmd);
5671 + install_element(INTERFACE_NODE,&no_interface_desc_cmd);
5673 + install_element(INTERFACE_NODE,&interface_mpls_labelspace_cmd);
5674 + install_element(INTERFACE_NODE,&no_interface_mpls_labelspace_cmd);
5676 + install_node (&ldp_if_node, ldp_if_config_write);
5677 + install_default (LDP_IF_NODE);
5679 + install_element(INTERFACE_NODE,&ldp_intf_cmd);
5680 + install_element(INTERFACE_NODE,&no_ldp_intf_cmd);
5682 +#if 0
5684 + install_element(INTERFACE_NODE,&ldp_l2cc_intf_cmd);
5685 + install_element(INTERFACE_NODE,&no_ldp_l2cc_intf_cmd);
5687 + install_element(LDP_IF_NODE,&ldp_if_remote_tcp_port_cmd);
5688 + install_element(LDP_IF_NODE,&no_ldp_if_remote_tcp_port_cmd);
5690 + install_element(LDP_IF_NODE,&ldp_if_remote_udp_port_cmd);
5691 + install_element(LDP_IF_NODE,&no_ldp_if_remote_udp_port_cmd);
5693 + install_element(LDP_IF_NODE,&ldp_if_max_pdu_cmd);
5694 + install_element(LDP_IF_NODE,&no_ldp_if_max_pdu_cmd);
5696 + install_element(LDP_IF_NODE,&ldp_if_hello_interval_cmd);
5697 + install_element(LDP_IF_NODE,&no_ldp_if_hello_interval_cmd);
5699 + install_element(LDP_IF_NODE,&ldp_if_keepalive_interval_cmd);
5700 + install_element(LDP_IF_NODE,&no_ldp_if_keepalive_interval_cmd);
5702 +#endif
5704 +#if 0
5705 + install_element(LDP_IF_NODE,&ldp_if_loop_detect_mode_cmd);
5706 + install_element(LDP_IF_NODE,&no_ldp_if_loop_detect_mode_cmd);
5707 +#endif
5709 +#if 0
5710 + install_element(LDP_IF_NODE,&ldp_if_max_session_attempt_cmd);
5711 + install_element(LDP_IF_NODE,&no_ldp_if_max_session_attempt_cmd);
5713 + install_element(LDP_IF_NODE,&ldp_if_max_path_vector_cmd);
5714 + install_element(LDP_IF_NODE,&no_ldp_if_max_path_vector_cmd);
5716 + install_element(LDP_IF_NODE,&ldp_if_max_hop_count_cmd);
5717 + install_element(LDP_IF_NODE,&no_ldp_if_max_hop_count_cmd);
5719 + install_element(LDP_IF_NODE,&ldp_if_max_label_requests_cmd);
5720 + install_element(LDP_IF_NODE,&no_ldp_if_max_label_requests_cmd);
5722 + install_element(LDP_IF_NODE,&ldp_if_distribution_mode_cmd);
5723 + install_element(LDP_IF_NODE,&no_ldp_if_distribution_mode_cmd);
5724 +#endif
5726 +#if 0
5727 + install_element(LDP_IF_NODE,&ldp_if_ttl_less_domain_cmd);
5728 + install_element(LDP_IF_NODE,&no_ldp_if_ttl_less_domain_cmd);
5729 +#endif
5731 diff --exclude=rsvpd -uNr quagga/ldpd/ldp_vty.h quagga-mpls/ldpd/ldp_vty.h
5732 --- quagga/ldpd/ldp_vty.h 1969-12-31 18:00:00.000000000 -0600
5733 +++ quagga-mpls/ldpd/ldp_vty.h 2004-05-26 21:52:17.000000000 -0500
5734 @@ -0,0 +1,46 @@
5735 +#ifndef LDP_VTY_H
5736 +#define LDP_VTY_H
5738 +#include "ldp_interface.h"
5740 +int ldp_interface_config_write(struct vty *vty);
5741 +void ldp_vty_show_init();
5742 +void ldp_vty_if_init();
5743 +void ldp_vty_init();
5745 +#define VTY_GET_UINT32(NAME,V,STR) \
5746 +{ \
5747 + char *endptr = NULL; \
5748 + (V) = strtoul ((STR), &endptr, 10); \
5749 + if (*endptr != '\0' || ((V) == ULONG_MAX && errno == ERANGE)) \
5750 + { \
5751 + vty_out (vty, "%% Invalid %s value%s", NAME, VTY_NEWLINE); \
5752 + return CMD_WARNING; \
5753 + } \
5756 +#define VTY_GET_UINT32_RANGE(NAME,V,STR,IMIN,IMAX) \
5757 +{ \
5758 + VTY_GET_UINT32(NAME,V,STR); \
5759 + if (((V) < IMIN) || ((V) > IMAX)) \
5760 + { \
5761 + vty_out (vty, "%% Invalid %s value. Valid range is (%d ... %d)%s", \
5762 + NAME, IMIN, IMAX, VTY_NEWLINE); \
5763 + return CMD_WARNING; \
5764 + } \
5767 +#define VTY_GET_IPV4_ADDRESS(NAME,V,STR) \
5768 +{ \
5769 + struct in_addr addr; \
5770 + int retv; \
5771 + retv = inet_aton ((STR), &addr); \
5772 + if (!retv) \
5773 + { \
5774 + vty_out (vty, "%% Invalid %s value%s", NAME, VTY_NEWLINE); \
5775 + return CMD_WARNING; \
5776 + } \
5777 + (V) = ntohl(addr.s_addr); \
5780 +#endif
5781 diff --exclude=rsvpd -uNr quagga/ldpd/ldp_zebra.c quagga-mpls/ldpd/ldp_zebra.c
5782 --- quagga/ldpd/ldp_zebra.c 1969-12-31 18:00:00.000000000 -0600
5783 +++ quagga-mpls/ldpd/ldp_zebra.c 2004-06-09 22:38:43.000000000 -0500
5784 @@ -0,0 +1,342 @@
5785 +#include <zebra.h>
5787 +#include "command.h"
5788 +#include "prefix.h"
5789 +#include "stream.h"
5790 +#include "table.h"
5791 +#include "memory.h"
5792 +#include "zclient.h"
5793 +#include "log.h"
5795 +#include "ldp_cfg.h"
5796 +#include "mpls_compare.h"
5798 +#include "ldp.h"
5799 +#include "impl_fib.h"
5800 +#include "impl_ifmgr.h"
5801 +#include "impl_mpls.h"
5802 +#include "ldp_interface.h"
5804 +/* All information about zebra. */
5805 +struct zclient *zclient = NULL;
5807 +/* For registering threads. */
5808 +extern struct thread_master *master;
5810 +struct prefix router_id;
5811 +struct route_table *table;
5813 +/* Router-id update message from zebra. */
5814 +static int ldp_router_id_update_zebra(int command, struct zclient *zclient,
5815 + zebra_size_t length) {
5816 + struct ldp *ldp = ldp_get();
5818 + zebra_router_id_update_read(zclient->ibuf,&router_id);
5820 + zlog_info("router-id change %s",
5821 + inet_ntoa(router_id.u.prefix4));
5823 + if (ldp && ldp->lsr_id_is_static != MPLS_BOOL_TRUE)
5824 + ldp_router_id_update(ldp, &router_id);
5825 + return 0;
5828 +/* Inteface addition message from zebra. */
5829 +static int ldp_interface_add(int command, struct zclient *zclient,
5830 + zebra_size_t length) {
5831 + struct interface *ifp;
5833 + if (!(ifp = zebra_interface_add_read(zclient->ibuf))) {
5834 + return 1;
5837 + MPLS_ASSERT (ifp->info);
5839 + /* it must have a valid index now */
5840 + do_mpls_labelspace(ifp->info);
5842 + zlog_info("interface add %s index %d flags %ld metric %d mtu %d",
5843 + ifp->name, ifp->ifindex, ifp->flags, ifp->metric, ifp->mtu);
5845 + return 0;
5848 +/* this is not the same as ldp_interface_delete() which is found in
5849 + * ldp_interface.c
5850 + */
5851 +static int ldp_interface_delete2(int command, struct zclient *zclient,
5852 + zebra_size_t length) {
5853 + struct interface *ifp;
5854 + struct stream *s;
5856 + s = zclient->ibuf;
5857 + /* zebra_interface_state_read() updates interface structure in iflist */
5858 + ifp = zebra_interface_state_read(s);
5860 + if (ifp == NULL) {
5861 + return 0;
5864 + if (if_is_up(ifp)) {
5865 + zlog_warn("got delete of %s, but interface is still up",
5866 + ifp->name);
5869 + zlog_info("interface delete %s index %d flags %ld metric %d mtu %d", ifp->name, ifp->ifindex, ifp->flags, ifp->metric, ifp->mtu);
5871 + if_delete(ifp);
5873 + return 0;
5876 +struct interface * zebra_interface_if_lookup(struct stream *s) {
5877 + struct interface *ifp;
5878 + u_char ifname_tmp[INTERFACE_NAMSIZ];
5880 + /* Read interface name. */
5881 + stream_get(ifname_tmp, s, INTERFACE_NAMSIZ);
5883 + /* Lookup this by interface index. */
5884 + ifp = if_lookup_by_name(ifname_tmp);
5886 + /* If such interface does not exist, indicate an error */
5887 + if (!ifp) {
5888 + return NULL;
5891 + return ifp;
5894 +static int ldp_interface_state_up(int command, struct zclient *zclient,
5895 + zebra_size_t length) {
5896 + struct interface *ifp;
5897 + struct interface if_tmp;
5899 + ifp = zebra_interface_if_lookup(zclient->ibuf);
5900 + if (ifp == NULL) {
5901 + return 0;
5904 + /* Interface is already up. */
5905 + if (if_is_up (ifp)) {
5906 + /* Temporarily keep ifp values. */
5907 + memcpy (&if_tmp, ifp, sizeof (struct interface));
5909 + zebra_interface_if_set_value (zclient->ibuf, ifp);
5911 + zlog_info ("Interface[%s] state update.", ifp->name);
5913 + return 0;
5916 + zebra_interface_if_set_value(zclient->ibuf, ifp);
5918 + zlog_info ("Interface[%s] state change to up.", ifp->name);
5920 + ldp_interface_up(ifp->info);
5922 + return 0;
5925 +static int ldp_interface_state_down(int command, struct zclient *zclient,
5926 + zebra_size_t length) {
5927 + struct interface *ifp;
5929 + ifp = zebra_interface_state_read (zclient->ibuf);
5930 + if (ifp == NULL) {
5931 + return 0;
5934 + zlog_info ("Interface[%s] state change to down.", ifp->name);
5936 + ldp_interface_down(ifp->info);
5938 + return 0;
5941 +void prefix2mpls_inet_addr(struct prefix *p, struct mpls_inet_addr *a)
5943 + a->type = MPLS_FAMILY_IPV4;
5944 + a->u.ipv4 = (uint32_t)ntohl(p->u.prefix4.s_addr);
5947 +void zebra_prefix2mpls_fec(struct prefix *p, mpls_fec *fec)
5949 + fec->u.prefix.length = p->prefixlen;
5950 + fec->type = MPLS_FEC_PREFIX;
5951 + fec->u.prefix.network.type = MPLS_FAMILY_IPV4;
5952 + fec->u.prefix.network.u.ipv4 = ntohl(p->u.prefix4.s_addr);
5955 +void mpls_fec2zebra_prefix(mpls_fec *lp, struct prefix *p)
5957 + switch(lp->type) {
5958 + case MPLS_FEC_PREFIX:
5959 + p->prefixlen = lp->u.prefix.length;
5960 + p->u.prefix4.s_addr = htonl(lp->u.prefix.network.u.ipv4);
5961 + break;
5962 + case MPLS_FEC_HOST:
5963 + p->prefixlen = 32;
5964 + p->u.prefix4.s_addr = htonl(lp->u.host.u.ipv4);
5965 + break;
5966 + default:
5967 + break;
5971 +static int ldp_interface_address_add(int command, struct zclient *zclient,
5972 + zebra_size_t length) {
5973 + struct ldp *ldp = ldp_get();
5974 + struct connected *c;
5975 + struct interface *ifp;
5976 + struct prefix *p;
5977 + struct ldp_addr addr;
5978 + struct ldp_if iff;
5980 + c = zebra_interface_address_add_read(zclient->ibuf);
5981 + if (c == NULL || c->address->family != AF_INET) {
5982 + return 0;
5985 + ifp = c->ifp;
5986 + p = c->address;
5988 + zlog_info("address add %s to interface %s",inet_ntoa(p->u.prefix4),
5989 + ifp->name);
5991 + if (ldp) {
5992 + prefix2mpls_inet_addr(p, &addr.address);
5993 + iff.handle = ifp;
5994 + ldp_cfg_if_addr_set(ldp->h, &iff, &addr, LDP_CFG_ADD);
5997 + return 0;
6000 +static int ldp_interface_address_delete(int command, struct zclient *zclient,
6001 + zebra_size_t length) {
6002 + struct ldp *ldp = ldp_get();
6003 + struct connected *c;
6004 + struct interface *ifp;
6005 + struct prefix *p;
6006 + struct ldp_addr addr;
6007 + struct ldp_if iff;
6009 + c = zebra_interface_address_delete_read(zclient->ibuf);
6010 + if (c == NULL || c->address->family != AF_INET) {
6011 + return 0;
6014 + ifp = c->ifp;
6015 + p = c->address;
6017 + zlog_info("address delete %s from interface %s",
6018 + inet_ntoa(p->u.prefix4), ifp->name);
6020 + if (ldp) {
6021 + prefix2mpls_inet_addr(p, &addr.address);
6022 + iff.handle = ifp;
6023 + ldp_cfg_if_addr_set(ldp->h, &iff, &addr, LDP_CFG_DEL);
6026 + connected_free(c);
6028 + return 0;
6031 +static int ldp_zebra_read_ipv4(int cmd, struct zclient *client,
6032 + zebra_size_t length) {
6033 + struct prefix_ipv4 prefix;
6034 + struct stream *s;
6035 + int ifindex_num;
6036 + int nexthop_num;
6037 + int message;
6038 + int flags;
6039 + int type;
6040 + struct mpls_nexthop nexthop;
6042 + s = client->ibuf;
6043 + memset(&nexthop,0,sizeof(nexthop));
6045 + /* Type, flags, message. */
6046 + type = stream_getc(s);
6047 + flags = stream_getc(s);
6048 + message = stream_getc(s);
6050 + /* IPv4 prefix. */
6051 + memset (&prefix, 0, sizeof(struct prefix_ipv4));
6052 + prefix.family = AF_INET;
6053 + prefix.prefixlen = stream_getc (s);
6054 + stream_get(&prefix.prefix, s, PSIZE(prefix.prefixlen));
6056 + zlog_info("route %s/%d", inet_ntoa(prefix.prefix), prefix.prefixlen);
6057 + if (type == ZEBRA_ROUTE_CONNECT) {
6058 + nexthop.attached = MPLS_BOOL_TRUE;
6059 + zlog_info("\tattached");
6062 + /* Nexthop, ifindex, distance, metric. */
6063 + if (CHECK_FLAG(message, ZAPI_MESSAGE_NEXTHOP)) {
6064 + struct in_addr tmp;
6065 + nexthop_num = stream_getc(s);
6066 + zlog_info("\tnum nexthop %d", nexthop_num);
6067 + if (nexthop_num && (nexthop.ip.u.ipv4 = ntohl(stream_get_ipv4(s)))) {
6068 + nexthop.ip.type = MPLS_FAMILY_IPV4;
6069 + nexthop.type |= MPLS_NH_IP;
6070 + tmp.s_addr = htonl(nexthop.ip.u.ipv4);
6071 + zlog_info("\tnexthop %s", inet_ntoa(tmp));
6075 + if (CHECK_FLAG(message, ZAPI_MESSAGE_IFINDEX)) {
6076 + ifindex_num = stream_getc(s);
6077 + zlog_info("\tnum ifindex %d", ifindex_num);
6078 + if (ifindex_num && (nexthop.if_handle =
6079 + if_lookup_by_index(stream_getl(s)))) {
6080 + nexthop.type |= MPLS_NH_IF;
6081 + zlog_info("\tifindex %d", nexthop.if_handle->ifindex);
6085 + /* Distance. */
6086 + if (CHECK_FLAG(message, ZAPI_MESSAGE_DISTANCE)) {
6087 + nexthop.distance = stream_getc(s);
6090 + /* Metric. */
6091 + if (CHECK_FLAG(message, ZAPI_MESSAGE_METRIC)) {
6092 + nexthop.metric = stream_getl(s);
6095 + if (cmd == ZEBRA_IPV4_ROUTE_ADD) {
6096 + zlog_info("\tadd");
6097 + mpls_fib_ipv4_add(&prefix, &nexthop);
6098 + } else {
6099 + zlog_info("\tdelete");
6100 + mpls_fib_ipv4_delete(&prefix, &nexthop);
6102 + return 0;
6105 +void ldp_zebra_init() {
6106 + int i;
6108 + /* Allocate zebra structure. */
6109 + zclient = zclient_new();
6110 + zclient_init(zclient, ZEBRA_ROUTE_LDP);
6111 + for (i = 0;i < ZEBRA_ROUTE_MAX;i++) {
6112 + zclient->redist[i] = 1;
6114 + zclient->router_id_update = ldp_router_id_update_zebra;
6115 + zclient->interface_add = ldp_interface_add;
6116 + zclient->interface_delete = ldp_interface_delete2;
6117 + zclient->interface_up = ldp_interface_state_up;
6118 + zclient->interface_down = ldp_interface_state_down;
6119 + zclient->interface_address_add = ldp_interface_address_add;
6120 + zclient->interface_address_delete = ldp_interface_address_delete;
6121 + zclient->ipv4_route_add = ldp_zebra_read_ipv4;
6122 + zclient->ipv4_route_delete = ldp_zebra_read_ipv4;
6124 + table = route_table_init();
6125 + memset(&router_id, 0, sizeof(router_id));
6127 diff --exclude=rsvpd -uNr quagga/ldpd/ldp_zebra.h quagga-mpls/ldpd/ldp_zebra.h
6128 --- quagga/ldpd/ldp_zebra.h 1969-12-31 18:00:00.000000000 -0600
6129 +++ quagga-mpls/ldpd/ldp_zebra.h 2004-06-09 22:36:22.000000000 -0500
6130 @@ -0,0 +1,16 @@
6131 +#ifndef _ZEBRA_LDP_ZEBRA_H
6132 +#define _ZEBRA_LDP_ZEBRA_H
6134 +#include "prefix.h"
6136 +#include "ldp_struct.h"
6138 +extern struct prefix router_id;
6139 +extern struct route_table* table;
6141 +void ldp_zebra_init();
6142 +void prefix2mpls_inet_addr(struct prefix *p, struct mpls_inet_addr *a);
6143 +void zebra_prefix2mpls_fec(struct prefix *p, mpls_fec *fec);
6144 +void mpls_fec2zebra_prefix(mpls_fec *fec, struct prefix *p);
6146 +#endif
6147 diff --exclude=rsvpd -uNr quagga/ldpd/Makefile.am quagga-mpls/ldpd/Makefile.am
6148 --- quagga/ldpd/Makefile.am 1969-12-31 18:00:00.000000000 -0600
6149 +++ quagga-mpls/ldpd/Makefile.am 2004-07-14 19:15:14.000000000 -0500
6150 @@ -0,0 +1,60 @@
6151 +# Process this file with automake to produce Makefile.in.
6153 +INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib
6154 +DEFS = @DEFS@ $(LOCAL_OPTS) -DSYSCONFDIR=\"$(sysconfdir)/\"
6155 +INSTALL_SDATA=@INSTALL@ -m 600
6157 +sbin_PROGRAMS = ldpd
6159 +ldpd_SOURCES = \
6160 +impl_fib.c impl_ifmgr.c impl_lock.c impl_mm.c impl_mpls.c \
6161 +impl_policy.c impl_socket.c impl_timer.c impl_tree.c \
6162 +ldp_zebra.c ldp_main.c \
6163 +ldp.c ldp_interface.c ldp_vty.c ldp_remote_peer.c l2cc_interface.c \
6164 +ldp_addr.c ldp_adj.c \
6165 +ldp_attr.c ldp_buf.c ldp_cfg.c ldp_entity.c ldp_fec.c ldp_global.c \
6166 +ldp_hello.c ldp_hop.c ldp_hop_list.c ldp_if.c ldp_inet_addr.c \
6167 +ldp_init.c ldp_inlabel.c ldp_keepalive.c ldp_label_abort.c \
6168 +ldp_label_mapping.c ldp_label_rel_with.c ldp_label_request.c \
6169 +ldp_mesg.c ldp_nortel.c ldp_notif.c ldp_outlabel.c \
6170 +ldp_pdu_setup.c ldp_peer.c \
6171 +ldp_resource.c ldp_session.c ldp_state_funcs.c \
6172 +ldp_state_machine.c ldp_tunnel.c ldp_nexthop.c\
6173 +mpls_compare.c
6176 +noinst_HEADERS = \
6177 +ldp_zebra.h \
6178 +ldp.h ldp_interface.h ldp_vty.h ldp_remote_peer.h l2cc_interface.h \
6179 +ldp_addr.h ldp_adj.h ldp_attr.h ldp_buf.h ldp_cfg.h \
6180 +ldp_defaults.h ldp_entity.h ldp_fec.h \
6181 +ldp_global.h mpls_handle_type.h ldp_hello.h ldp_hop.h \
6182 +ldp_hop_list.h ldp_if.h ldp_inet_addr.h \
6183 +ldp_init.h ldp_inlabel.h ldp_keepalive.h ldp_label_abort.h \
6184 +ldp_label_mapping.h ldp_label_rel_with.h ldp_label_request.h \
6185 +ldp_mesg.h ldp_nortel.h ldp_notif.h ldp_outlabel.h ldp_pdu.h ldp_nexthop.h \
6186 +ldp_pdu_setup.h ldp_peer.h mpls_refcnt.h ldp_resource.h \
6187 +ldp_session.h ldp_state_machine.h ldp_struct.h ldp_tunnel.h \
6188 +mpls_tree_impl.h mpls_mm_impl.h mpls_mpls_impl.h mpls_trace_impl.h \
6189 +mpls_assert.h mpls_fib_impl.h mpls_ifmgr_impl.h mpls_list.h mpls_lock_impl.h \
6190 +mpls_policy_impl.h mpls_socket_impl.h mpls_timer_impl.h mpls_trace.h \
6191 +mpls_struct.h mpls_compare.h mpls_bitfield.h
6193 +ldpd_LDADD = -L../lib -lzebra @LIBCAP@
6195 +sysconf_DATA = ldpd.conf.sample
6197 +EXTRA_DIST = $(sysconf_DATA)
6199 +install-sysconfDATA: $(sysconf_DATA)
6200 + @$(NORMAL_INSTALL)
6201 + $(mkinstalldirs) $(DESTDIR)$(sysconfdir)
6202 + @list='$(sysconf_DATA)'; for p in $$list; do \
6203 + if test -f $(srcdir)/$$p; then \
6204 + echo " $(INSTALL_SDATA) $(srcdir)/$$p $(DESTDIR)$(sysconfdir)/$$p"; \
6205 + $(INSTALL_SDATA) $(srcdir)/$$p $(DESTDIR)$(sysconfdir)/$$p; \
6206 + else if test -f $$p; then \
6207 + echo " $(INSTALL_SDATA) $$p $(DESTDIR)$(sysconfdir)/$$p"; \
6208 + $(INSTALL_SDATA) $$p $(DESTDIR)$(sysconfdir)/$$p; \
6209 + fi; fi; \
6210 + done
6211 diff --exclude=rsvpd -uNr quagga/ldpd/mpls_handle_type.h quagga-mpls/ldpd/mpls_handle_type.h
6212 --- quagga/ldpd/mpls_handle_type.h 1969-12-31 18:00:00.000000000 -0600
6213 +++ quagga-mpls/ldpd/mpls_handle_type.h 2004-05-26 22:03:14.000000000 -0500
6214 @@ -0,0 +1,94 @@
6215 +#ifndef _LDP_HANDLE_TYPE_H_
6216 +#define _LDP_HANDLE_TYPE_H_
6218 +#define MPLS_USE_LSR 0
6220 +#if (__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ == 0))
6221 +#if 0
6222 +typedef unsigned char uint8_t;
6223 +typedef unsigned short uint16_t;
6224 +typedef unsigned int uint32_t;
6225 +#endif
6226 +#else
6227 +#include <stdint.h>
6228 +#endif
6230 +#include <zebra.h>
6231 +#include "if.h"
6233 +struct ldp;
6234 +struct ldp_timer;
6235 +struct ldp_socket;
6237 +#define ptr_verify(x) (x ? MPLS_BOOL_TRUE : MPLS_BOOL_FALSE)
6239 +typedef void *mpls_tree_handle;
6240 +#define mpls_tree_handle_compare(x,y) (x != y)
6241 +#define mpls_tree_handle_verify(x) ptr_verify(x)
6243 +typedef void *mpls_instance_handle;
6244 +#define mpls_instance_handle_compare(x,y) (x != y)
6245 +#define mpls_instance_handle_verify(x) ptr_verify(x)
6247 +typedef struct ldp* mpls_fib_handle;
6248 +#define mpls_fib_handle_compare(x,y) (x == y)
6249 +#define mpls_fib_handle_verify(x) ptr_verify(x)
6251 +typedef int mpls_ifmgr_handle;
6252 +#define mpls_ifmgr_handle_compare(x,y) (x == y)
6253 +#define mpls_ifmgr_handle_verify(x) ptr_verify(x)
6255 +typedef struct interface* mpls_if_handle;
6256 +#define mpls_if_handle_compare(x,y) \
6257 + ((x->ifindex == y->ifindex) ? 0 : (x->ifindex > y->ifindex ? 1 : -1))
6258 +#define mpls_if_handle_verify(m,x) ptr_verify(x)
6260 +typedef int mpls_timer_mgr_handle;
6261 +#define mpls_timer_mgr_handle_compare(x,y) (x != y)
6262 +#define mpls_timer_mgr_handle_verify(x) ptr_verify(x)
6264 +typedef struct mpls_timer* mpls_timer_handle;
6265 +#define mpls_timer_handle_compare(x,y) (x != y)
6266 +#define mpls_timer_handle_verify(m,x) ptr_verify(x)
6268 +typedef int mpls_socket_mgr_handle;
6269 +#define mpls_socket_mgr_handle_compare(x,y) (x != y)
6270 +#define mpls_socket_mgr_handle_verify(x) MPLS_BOOL_TRUE
6272 +typedef struct mpls_socket* mpls_socket_handle;
6273 +#define mpls_socket_handle_compare(x,y) (x->fd != y->fd)
6274 +#define mpls_socket_handle_verify(m,x) ptr_verify(x)
6276 +typedef int mpls_mpls_handle;
6277 +#define mpls_mpls_handle_compare(x,y) (x != y)
6278 +#define mpls_mpls_handle_verify(x) ptr_verify(x)
6280 +typedef int mpls_insegment_handle;
6281 +#define mpls_insegment_handle_compare(x,y) (x != y)
6282 +#define mpls_insegment_handle_verify(m,x) ptr_verify(x)
6284 +typedef int mpls_outsegment_handle;
6285 +#define mpls_outsegment_handle_compare(x,y) (x != y)
6286 +#define mpls_outsegment_handle_verify(m,x) ptr_verify(x)
6288 +typedef int mpls_xconnect_handle;
6289 +#define mpls_xconnect_handle_compare(x,y) (x != y)
6290 +#define mpls_xconnect_handle_verify(m,x) ptr_verify(x)
6292 +typedef int *mpls_lock_handle;
6293 +#define mpls_lock_handle_compare(x,y) (x != y)
6294 +#define mpls_lock_handle_verify(x) ptr_verify(x)
6296 +typedef int mpls_tunnel_handle;
6297 +#define mpls_tunnel_handle_compare(x,y) (x != y)
6299 +typedef int mpls_policy_handle;
6300 +#define mpls_policy_handle_compare(x,y) (x != y)
6302 +typedef int mpls_trace_handle;
6303 +#define mpls_trace_handle_compare(x,y) (x != y)
6305 +typedef char *mpls_lock_key_type;
6306 +typedef int mpls_size_type;
6308 +#endif
6309 diff --exclude=rsvpd -uNr quagga/ldpd/mpls_trace.h quagga-mpls/ldpd/mpls_trace.h
6310 --- quagga/ldpd/mpls_trace.h 1969-12-31 18:00:00.000000000 -0600
6311 +++ quagga-mpls/ldpd/mpls_trace.h 2004-05-19 21:40:47.000000000 -0500
6312 @@ -0,0 +1,60 @@
6313 +#ifndef _LDP_TRACE_H_
6314 +#define _LDP_TRACE_H_
6316 +#include <stdio.h>
6317 +#include "ldp_struct.h"
6319 +extern uint32_t ldp_traceflags;
6320 +extern uint8_t trace_buffer[16834];
6321 +extern int trace_buffer_len;
6323 +#if 0
6324 +1 2 3 4 5 6 7 8
6325 + 12345678901234567890123456789012345678901234567890123456789012345678901234567890
6326 +#endif
6327 +#define LDP_TRACE_OUT(handle,args...) { \
6328 + if(trace_buffer_len == 0) { \
6329 + trace_buffer_len += sprintf(trace_buffer,"OUT: " args);\
6330 + } else { \
6331 + trace_buffer_len += sprintf(trace_buffer+trace_buffer_len,args);\
6332 + } \
6333 + if(trace_buffer[strlen(trace_buffer)-1] == '\n') { \
6334 + fprintf(stderr,"%s",trace_buffer); \
6335 + trace_buffer_len = 0; \
6336 + } \
6338 +#define LDP_TRACE_LOG(handle,class,type,args...) { \
6339 + if(type & ldp_traceflags) { \
6340 + LDP_TRACE_OUT(handle,args); \
6341 + } \
6343 +#define LDP_TRACE_PKT(handle,class,type,header,body) { \
6344 + if(type & ldp_traceflags) { \
6345 + header; \
6346 + body; \
6347 + } \
6349 +#define LDP_DUMP_PKT(handle,class,type,func) { \
6350 + if(type & ldp_traceflags) { \
6351 + func; \
6352 + } \
6354 +#define LDP_PRINT(data,args...) { \
6355 + if(ldp_traceflags & LDP_TRACE_FLAG_DEBUG) { \
6356 + fprintf(stderr, "PRT: " args); \
6357 + } \
6359 +#define LDP_ENTER(data,args...) { \
6360 + if(ldp_traceflags & LDP_TRACE_FLAG_DEBUG) { \
6361 + fprintf(stderr, "ENTER: " args); \
6362 + fprintf(stderr, "\n"); \
6363 + } \
6365 +#define LDP_EXIT(data,args...) { \
6366 + if(ldp_traceflags & LDP_TRACE_FLAG_DEBUG) { \
6367 + fprintf(stderr, "EXIT: " args); \
6368 + fprintf(stderr, "\n"); \
6369 + } \
6372 +#endif
6373 diff --exclude=rsvpd -uNr quagga/lib/command.c quagga-mpls/lib/command.c
6374 --- quagga/lib/command.c 2004-02-25 13:42:53.000000000 -0600
6375 +++ quagga-mpls/lib/command.c 2004-07-14 21:57:20.344563344 -0500
6376 @@ -2318,9 +2318,12 @@
6377 vty->node = ENABLE_NODE;
6378 vty_config_unlock (vty);
6379 break;
6380 + case MPLS_LABELSPACE_NODE:
6381 + case MPLS_TUN_INTERFACE_NODE:
6382 case INTERFACE_NODE:
6383 case ZEBRA_NODE:
6384 case BGP_NODE:
6385 + case LDP_NODE:
6386 case RIP_NODE:
6387 case RIPNG_NODE:
6388 case OSPF_NODE:
6389 @@ -2340,6 +2343,9 @@
6390 case KEYCHAIN_KEY_NODE:
6391 vty->node = KEYCHAIN_NODE;
6392 break;
6393 + case LDP_IF_NODE:
6394 + vty->node = INTERFACE_NODE;
6395 + break;
6396 default:
6397 break;
6399 @@ -2365,10 +2371,14 @@
6400 /* Nothing to do. */
6401 break;
6402 case CONFIG_NODE:
6403 + case MPLS_LABELSPACE_NODE:
6404 + case MPLS_TUN_INTERFACE_NODE:
6405 case INTERFACE_NODE:
6406 case ZEBRA_NODE:
6407 case RIP_NODE:
6408 case RIPNG_NODE:
6409 + case LDP_NODE:
6410 + case LDP_IF_NODE:
6411 case BGP_NODE:
6412 case BGP_VPNV4_NODE:
6413 case BGP_IPV4_NODE:
6414 diff --exclude=rsvpd -uNr quagga/lib/command.h quagga-mpls/lib/command.h
6415 --- quagga/lib/command.h 2004-02-25 13:42:53.000000000 -0600
6416 +++ quagga-mpls/lib/command.h 2004-07-14 21:56:16.600253952 -0500
6417 @@ -75,11 +75,15 @@
6418 AAA_NODE, /* AAA node. */
6419 KEYCHAIN_NODE, /* Key-chain node. */
6420 KEYCHAIN_KEY_NODE, /* Key-chain key node. */
6421 + MPLS_LABELSPACE_NODE, /* MPLS Labelspace node. */
6422 + MPLS_TUN_INTERFACE_NODE, /* MPLS tunnel interface node. */
6423 INTERFACE_NODE, /* Interface mode node. */
6424 ZEBRA_NODE, /* zebra connection node. */
6425 TABLE_NODE, /* rtm_table selection node. */
6426 RIP_NODE, /* RIP protocol mode node. */
6427 RIPNG_NODE, /* RIPng protocol mode node. */
6428 + LDP_NODE, /* LDP protocol mode */
6429 + LDP_IF_NODE, /* LDP interface mode */
6430 BGP_NODE, /* BGP protocol mode which includes BGP4+ */
6431 BGP_VPNV4_NODE, /* BGP MPLS-VPN PE exchange. */
6432 BGP_IPV4_NODE, /* BGP IPv4 unicast address family. */
6433 diff --exclude=rsvpd -uNr quagga/lib/if.c quagga-mpls/lib/if.c
6434 --- quagga/lib/if.c 2004-02-25 13:43:04.000000000 -0600
6435 +++ quagga-mpls/lib/if.c 2004-07-14 22:55:20.490500744 -0500
6436 @@ -123,6 +123,17 @@
6437 listnode_add_sort (iflist, ifp);
6438 ifp->connected = list_new ();
6439 ifp->connected->del = (void (*) (void *)) connected_free;
6440 + ifp->mpls_labelspace = -1;
6442 + if (!strncmp (ifp->name, "mpls", 4))
6444 + ifp->node = MPLS_TUN_INTERFACE_NODE;
6445 + ifp->flags |= IFF_POINTOPOINT;
6447 + else
6449 + ifp->node = INTERFACE_NODE;
6452 if (if_master.if_new_hook)
6453 (*if_master.if_new_hook) (ifp);
6454 @@ -493,7 +504,7 @@
6455 if (ifp == NULL)
6456 ifp = if_create (argv[0], INTERFACE_NAMSIZ);
6457 vty->index = ifp;
6458 - vty->node = INTERFACE_NODE;
6459 + vty->node = ifp->node;
6461 return CMD_SUCCESS;
6463 @@ -725,6 +736,30 @@
6465 #endif
6467 +struct interface *if_getfirst()
6469 + listnode node = listhead(iflist);
6470 + return getdata(node);
6473 +struct interface *if_getnext(struct interface *old)
6475 + struct interface *ifp;
6476 + listnode node;
6477 + int flag = 0;
6479 + for (node = listhead(iflist); node; nextnode(node)) {
6480 + ifp = getdata(node);
6481 + if (flag) {
6482 + return ifp;
6484 + if (ifp->ifindex == old->ifindex) {
6485 + flag = 1;
6488 + return NULL;
6491 #ifndef HAVE_IF_INDEXTONAME
6492 char *
6493 if_indextoname (unsigned int ifindex, char *name)
6494 diff --exclude=rsvpd -uNr quagga/lib/if.h quagga-mpls/lib/if.h
6495 --- quagga/lib/if.h 2004-02-25 13:43:05.000000000 -0600
6496 +++ quagga-mpls/lib/if.h 2004-02-25 21:59:50.000000000 -0600
6497 @@ -81,6 +81,9 @@
6498 /* Interface index. */
6499 unsigned int ifindex;
6501 + /* VTY configuration node for this interface default is INTERFACE_NODE */
6502 + unsigned int node;
6504 /* Zebra internal interface status */
6505 u_char status;
6506 #define ZEBRA_INTERFACE_ACTIVE (1 << 0)
6507 @@ -128,6 +131,7 @@
6508 #ifdef HAVE_NET_RT_IFLIST
6509 struct if_data stats;
6510 #endif /* HAVE_NET_RT_IFLIST */
6511 + int mpls_labelspace;
6514 /* Connected address structure. */
6515 @@ -208,6 +212,9 @@
6516 struct connected *connected_delete_by_prefix (struct interface *, struct prefix *);
6517 struct connected *connected_lookup_address (struct interface *, struct in_addr);
6519 +struct interface *if_getfirst();
6520 +struct interface *if_getnext(struct interface*);
6522 #ifndef HAVE_IF_NAMETOINDEX
6523 unsigned int if_nametoindex (const char *);
6524 #endif
6525 diff --exclude=rsvpd -uNr quagga/lib/linklist.h quagga-mpls/lib/linklist.h
6526 --- quagga/lib/linklist.h 2004-02-25 13:43:08.000000000 -0600
6527 +++ quagga-mpls/lib/linklist.h 2004-02-25 13:57:45.000000000 -0600
6528 @@ -43,6 +43,7 @@
6530 #define nextnode(X) ((X) = (X)->next)
6531 #define listhead(X) ((X)->head)
6532 +#define listtail(X) ((X)->tail)
6533 #define listcount(X) ((X)->count)
6534 #define list_isempty(X) ((X)->head == NULL && (X)->tail == NULL)
6535 #define getdata(X) ((X)->data)
6536 diff --exclude=rsvpd -uNr quagga/lib/log.c quagga-mpls/lib/log.c
6537 --- quagga/lib/log.c 2004-02-25 13:43:09.000000000 -0600
6538 +++ quagga-mpls/lib/log.c 2004-06-02 22:38:00.000000000 -0500
6539 @@ -34,6 +34,7 @@
6540 "ZEBRA",
6541 "RIP",
6542 "BGP",
6543 + "LDP",
6544 "OSPF",
6545 "RIPNG",
6546 "OSPF6",
6547 diff --exclude=rsvpd -uNr quagga/lib/log.h quagga-mpls/lib/log.h
6548 --- quagga/lib/log.h 2004-02-25 13:43:09.000000000 -0600
6549 +++ quagga-mpls/lib/log.h 2004-05-26 21:32:19.000000000 -0500
6550 @@ -44,6 +44,7 @@
6551 ZLOG_ZEBRA,
6552 ZLOG_RIP,
6553 ZLOG_BGP,
6554 + ZLOG_LDP,
6555 ZLOG_OSPF,
6556 ZLOG_RIPNG,
6557 ZLOG_OSPF6,
6558 diff --exclude=rsvpd -uNr quagga/lib/Makefile.am quagga-mpls/lib/Makefile.am
6559 --- quagga/lib/Makefile.am 2004-02-25 13:42:46.000000000 -0600
6560 +++ quagga-mpls/lib/Makefile.am 2004-02-25 18:42:27.000000000 -0600
6561 @@ -10,7 +10,8 @@
6562 print_version.c checksum.c vector.c linklist.c vty.c command.c \
6563 sockunion.c prefix.c thread.c if.c memory.c buffer.c table.c hash.c \
6564 filter.c routemap.c distribute.c stream.c str.c log.c plist.c \
6565 - zclient.c sockopt.c smux.c md5.c if_rmap.c keychain.c privs.c debug.c
6566 + zclient.c sockopt.c smux.c md5.c if_rmap.c keychain.c privs.c debug.c \
6567 + zmpls.c
6569 libzebra_a_DEPENDENCIES = @LIB_REGEX@
6571 @@ -21,7 +22,7 @@
6572 memory.h network.h prefix.h routemap.h distribute.h sockunion.h \
6573 str.h stream.h table.h thread.h vector.h version.h vty.h zebra.h \
6574 plist.h zclient.h sockopt.h smux.h md5-gnu.h if_rmap.h keychain.h \
6575 - privs.h debug.h
6576 + privs.h debug.h zmpls.h
6578 EXTRA_DIST = regex.c regex-gnu.h
6580 diff --exclude=rsvpd -uNr quagga/lib/memory.h quagga-mpls/lib/memory.h
6581 --- quagga/lib/memory.h 2004-02-25 13:43:12.000000000 -0600
6582 +++ quagga-mpls/lib/memory.h 2004-05-24 21:50:22.000000000 -0500
6583 @@ -126,6 +126,8 @@
6584 MTYPE_OSPF6_EXTERNAL_INFO,
6585 MTYPE_OSPF6_OTHER,
6587 + MTYPE_LDP,
6589 MTYPE_BGP,
6590 MTYPE_BGP_PEER,
6591 MTYPE_PEER_GROUP,
6592 diff --exclude=rsvpd -uNr quagga/lib/table.c quagga-mpls/lib/table.c
6593 --- quagga/lib/table.c 2004-02-25 13:43:44.000000000 -0600
6594 +++ quagga-mpls/lib/table.c 2004-06-15 15:15:13.000000000 -0500
6595 @@ -311,6 +311,37 @@
6596 return NULL;
6599 +struct route_node *
6600 +route_node_lookup2 (struct route_table *table, struct prefix *p)
6602 + struct route_node *rn_in, *rn_tmp;
6604 + if (!(rn_in = route_node_lookup(table,p))) {
6605 +fprintf(stderr,"lookup2 is doing work\n");
6606 + /* walk as far down the tree as we can */
6607 + rn_in = table->top;
6608 + while (rn_in && rn_in->p.prefixlen <= p->prefixlen &&
6609 + prefix_match(&rn_in->p, p)) {
6610 + rn_tmp = rn_in->link[check_bit(&p->u.prefix, rn_in->p.prefixlen)];
6611 + if (!rn_tmp) {
6612 + break;
6614 + rn_in = rn_tmp;
6616 + route_lock_node(rn_in);
6618 + /* rn_in is either the actual node of the furthest node in the tree */
6619 + /* so get the 'next' one with 'info' */
6620 + rn_in = route_next2(rn_in);
6623 + if (rn_in && !rn_in->info) {
6624 + route_unlock_node(rn_in);
6625 + rn_in = NULL;
6627 + return rn_in;
6630 /* Add node to routing table. */
6631 struct route_node *
6632 route_node_get (struct route_table *table, struct prefix *p)
6633 @@ -461,6 +492,22 @@
6634 return NULL;
6637 +struct route_node *
6638 +route_next2 (struct route_node *rn_in)
6640 + struct route_node *rn = rn_in;
6641 + struct route_node *rn2;
6642 + do {
6643 + rn2 = route_next(rn);
6644 + rn = rn2;
6645 + } while(rn && !rn->info);
6647 + if (rn && rn->info) {
6648 + return rn;
6650 + return NULL;
6653 /* Unlock current node and lock next node until limit. */
6654 struct route_node *
6655 route_next_until (struct route_node *node, struct route_node *limit)
6656 diff --exclude=rsvpd -uNr quagga/lib/table.h quagga-mpls/lib/table.h
6657 --- quagga/lib/table.h 2004-02-25 13:43:44.000000000 -0600
6658 +++ quagga-mpls/lib/table.h 2004-02-25 13:57:47.000000000 -0600
6659 @@ -59,9 +59,11 @@
6660 void route_node_delete (struct route_node *node);
6661 struct route_node *route_top (struct route_table *);
6662 struct route_node *route_next (struct route_node *);
6663 +struct route_node *route_next2 (struct route_node *);
6664 struct route_node *route_next_until (struct route_node *, struct route_node *);
6665 struct route_node *route_node_get (struct route_table *, struct prefix *);
6666 struct route_node *route_node_lookup (struct route_table *, struct prefix *);
6667 +struct route_node *route_node_lookup2 (struct route_table *, struct prefix *);
6668 struct route_node *route_lock_node (struct route_node *node);
6669 struct route_node *route_node_match (struct route_table *, struct prefix *);
6670 struct route_node *route_node_match_ipv4 (struct route_table *,
6671 diff --exclude=rsvpd -uNr quagga/lib/thread.c quagga-mpls/lib/thread.c
6672 --- quagga/lib/thread.c 2004-02-25 13:43:45.000000000 -0600
6673 +++ quagga-mpls/lib/thread.c 2004-02-25 13:57:47.000000000 -0600
6674 @@ -260,10 +260,26 @@
6675 sizeof (struct thread_master));
6678 +static int thread_in_list(struct thread_list *list, struct thread *thread)
6680 + struct thread *tt;
6682 + for (tt = list->head; tt; tt = tt->next)
6684 + if (tt == thread)
6686 + return 1;
6689 + return 0;
6692 /* Add a new thread to the list. */
6693 static void
6694 thread_list_add (struct thread_list *list, struct thread *thread)
6696 + assert(!thread_in_list(list,thread));
6698 thread->next = NULL;
6699 thread->prev = list->tail;
6700 if (list->tail)
6701 @@ -280,6 +296,8 @@
6702 struct thread *point,
6703 struct thread *thread)
6705 + assert(!thread_in_list(list,thread));
6707 thread->next = point;
6708 thread->prev = point->prev;
6709 if (point->prev)
6710 @@ -294,6 +312,8 @@
6711 static struct thread *
6712 thread_list_delete (struct thread_list *list, struct thread *thread)
6714 + assert(thread_in_list(list,thread));
6716 if (thread->next)
6717 thread->next->prev = thread->prev;
6718 else
6719 diff --exclude=rsvpd -uNr quagga/lib/vty.c quagga-mpls/lib/vty.c
6720 --- quagga/lib/vty.c 2004-02-25 13:43:50.000000000 -0600
6721 +++ quagga-mpls/lib/vty.c 2004-07-14 21:58:55.410111184 -0500
6722 @@ -614,10 +614,14 @@
6723 /* Nothing to do. */
6724 break;
6725 case CONFIG_NODE:
6726 + case MPLS_LABELSPACE_NODE:
6727 + case MPLS_TUN_INTERFACE_NODE:
6728 case INTERFACE_NODE:
6729 case ZEBRA_NODE:
6730 case RIP_NODE:
6731 case RIPNG_NODE:
6732 + case LDP_NODE:
6733 + case LDP_IF_NODE:
6734 case BGP_NODE:
6735 case BGP_VPNV4_NODE:
6736 case BGP_IPV4_NODE:
6737 @@ -1022,10 +1026,14 @@
6738 /* Nothing to do. */
6739 break;
6740 case CONFIG_NODE:
6741 + case MPLS_LABELSPACE_NODE:
6742 + case MPLS_TUN_INTERFACE_NODE:
6743 case INTERFACE_NODE:
6744 case ZEBRA_NODE:
6745 case RIP_NODE:
6746 case RIPNG_NODE:
6747 + case LDP_NODE:
6748 + case LDP_IF_NODE:
6749 case BGP_NODE:
6750 case RMAP_NODE:
6751 case OSPF_NODE:
6752 diff --exclude=rsvpd -uNr quagga/lib/zclient.c quagga-mpls/lib/zclient.c
6753 --- quagga/lib/zclient.c 2004-02-25 13:43:52.000000000 -0600
6754 +++ quagga-mpls/lib/zclient.c 2004-02-27 00:56:18.000000000 -0600
6755 @@ -30,6 +30,7 @@
6756 #include "zclient.h"
6757 #include "memory.h"
6758 #include "table.h"
6759 +#include "zmpls.h"
6761 #include "zebra/rib.h"
6762 #include "zebra/zserv.h"
6763 @@ -260,6 +261,9 @@
6764 /* We need interface information. */
6765 zebra_message_send (zclient, ZEBRA_INTERFACE_ADD);
6767 + /* We need router-id information. */
6768 + zebra_message_send (zclient, ZEBRA_ROUTER_ID_ADD);
6770 /* Flush all redistribute request. */
6771 for (i = 0; i < ZEBRA_ROUTE_MAX; i++)
6772 if (i != zclient->redist_default && zclient->redist[i])
6773 @@ -269,6 +273,10 @@
6774 if (zclient->default_information)
6775 zebra_message_send (zclient, ZEBRA_REDISTRIBUTE_DEFAULT_ADD);
6777 + /* If MPLS information is needed. */
6778 + if (zclient->mplsinfo)
6779 + zebra_message_send (zclient, ZEBRA_MPLS_LABELSPACE_ADD);
6781 return 0;
6784 @@ -519,6 +527,107 @@
6786 #endif /* HAVE_IPV6 */
6788 +static int
6789 +zapi_mpls_xc (struct zclient *zclient, struct zapi_mpls_xc *api, u_char cmd)
6791 + struct stream *s;
6793 + s = zclient->obuf;
6794 + mpls_xc_stream_write(s, api, cmd);
6796 + return writen (zclient->sock, s->data, stream_get_endp (s));
6799 +int
6800 +zapi_mpls_xc_add (struct zclient *zclient, struct zapi_mpls_xc *api)
6802 + return zapi_mpls_xc (zclient, api, ZEBRA_MPLS_XC_ADD);
6805 +int
6806 +zapi_mpls_xc_delete (struct zclient *zclient, struct zapi_mpls_xc *api)
6808 + return zapi_mpls_xc (zclient, api, ZEBRA_MPLS_XC_DELETE);
6811 +static int
6812 +zapi_mpls_in_segment (struct zclient *zclient,
6813 + struct zapi_mpls_in_segment *api, u_char cmd)
6815 + struct stream *s;
6817 + s = zclient->obuf;
6818 + mpls_in_segment_stream_write(s, api, cmd);
6820 + return writen (zclient->sock, s->data, stream_get_endp (s));
6823 +int
6824 +zapi_mpls_in_segment_add (struct zclient *zclient,
6825 + struct zapi_mpls_in_segment *api)
6827 + return zapi_mpls_in_segment (zclient, api, ZEBRA_MPLS_IN_SEGMENT_ADD);
6830 +int
6831 +zapi_mpls_in_segment_delete (struct zclient *zclient,
6832 + struct zapi_mpls_in_segment *api)
6834 + return zapi_mpls_in_segment (zclient, api, ZEBRA_MPLS_IN_SEGMENT_DELETE);
6837 +static int
6838 +zapi_mpls_out_segment (struct zclient *zclient,
6839 + struct zapi_mpls_out_segment *api, u_char cmd)
6841 + struct stream *s;
6843 + s = zclient->obuf;
6844 + mpls_out_segment_stream_write(s, api, cmd);
6846 + return writen (zclient->sock, s->data, stream_get_endp (s));
6849 +int
6850 +zapi_mpls_out_segment_add (struct zclient *zclient,
6851 + struct zapi_mpls_out_segment *api)
6853 + return zapi_mpls_out_segment (zclient, api, ZEBRA_MPLS_OUT_SEGMENT_ADD);
6856 +int
6857 +zapi_mpls_out_segment_delete (struct zclient *zclient,
6858 + struct zapi_mpls_out_segment *api)
6860 + return zapi_mpls_out_segment (zclient, api, ZEBRA_MPLS_OUT_SEGMENT_DELETE);
6863 +static int
6864 +zapi_mpls_labelspace (struct zclient *zclient,
6865 + struct zapi_mpls_labelspace *api, u_char cmd)
6867 + struct stream *s;
6869 + s = zclient->obuf;
6870 + mpls_labelspace_stream_write(s, api, cmd);
6872 + return writen (zclient->sock, s->data, stream_get_endp (s));
6875 +int
6876 +zapi_mpls_labelspace_add (struct zclient *zclient,
6877 + struct zapi_mpls_labelspace *api)
6879 + return zapi_mpls_labelspace (zclient, api, ZEBRA_MPLS_LABELSPACE_ADD);
6882 +int
6883 +zapi_mpls_labelspace_delete (struct zclient *zclient,
6884 + struct zapi_mpls_labelspace *api)
6886 + return zapi_mpls_labelspace (zclient, api, ZEBRA_MPLS_LABELSPACE_DELETE);
6890 zebra_redistribute_send (int command, int sock, int type)
6892 @@ -540,6 +649,20 @@
6893 return ret;
6896 +/* Router-id update from zebra daemon. */
6897 +void
6898 +zebra_router_id_update_read (struct stream *s, struct prefix *rid)
6900 + int plen;
6902 + /* Fetch interface address. */
6903 + rid->family = stream_getc (s);
6905 + plen = prefix_blen (rid);
6906 + stream_get (&rid->u.prefix, s, plen);
6907 + rid->prefixlen = stream_getc (s);
6910 /* Interface addition from zebra daemon. */
6911 struct interface *
6912 zebra_interface_add_read (struct stream *s)
6913 @@ -607,6 +730,19 @@
6914 return ifp;
6917 +void
6918 +zebra_interface_if_set_value (struct stream *s, struct interface *ifp)
6920 + /* Read interface's index. */
6921 + ifp->ifindex = stream_getl (s);
6923 + /* Read interface's value. */
6924 + ifp->flags = stream_getl (s);
6925 + ifp->metric = stream_getl (s);
6926 + ifp->mtu = stream_getl (s);
6927 + ifp->bandwidth = stream_getl (s);
6930 struct connected *
6931 zebra_interface_address_add_read (struct stream *s)
6933 @@ -771,6 +907,10 @@
6935 switch (command)
6937 + case ZEBRA_ROUTER_ID_UPDATE:
6938 + if (zclient->router_id_update)
6939 + ret = (*zclient->router_id_update) (command, zclient, length);
6940 + break;
6941 case ZEBRA_INTERFACE_ADD:
6942 if (zclient->interface_add)
6943 ret = (*zclient->interface_add) (command, zclient, length);
6944 @@ -811,6 +951,38 @@
6945 if (zclient->ipv6_route_delete)
6946 ret = (*zclient->ipv6_route_delete) (command, zclient, length);
6947 break;
6948 + case ZEBRA_MPLS_XC_ADD:
6949 + if (zclient->mpls_xc_add)
6950 + ret = (*zclient->mpls_xc_add) (command, zclient, length);
6951 + break;
6952 + case ZEBRA_MPLS_XC_DELETE:
6953 + if (zclient->mpls_xc_delete)
6954 + ret = (*zclient->mpls_xc_delete) (command, zclient, length);
6955 + break;
6956 + case ZEBRA_MPLS_IN_SEGMENT_ADD:
6957 + if (zclient->mpls_in_segment_add)
6958 + ret = (*zclient->mpls_in_segment_add) (command, zclient, length);
6959 + break;
6960 + case ZEBRA_MPLS_IN_SEGMENT_DELETE:
6961 + if (zclient->mpls_in_segment_delete)
6962 + ret = (*zclient->mpls_in_segment_delete) (command, zclient, length);
6963 + break;
6964 + case ZEBRA_MPLS_OUT_SEGMENT_ADD:
6965 + if (zclient->mpls_out_segment_add)
6966 + ret = (*zclient->mpls_out_segment_add) (command, zclient, length);
6967 + break;
6968 + case ZEBRA_MPLS_OUT_SEGMENT_DELETE:
6969 + if (zclient->mpls_out_segment_delete)
6970 + ret = (*zclient->mpls_out_segment_delete) (command, zclient, length);
6971 + break;
6972 + case ZEBRA_MPLS_LABELSPACE_ADD:
6973 + if (zclient->mpls_labelspace_add)
6974 + ret = (*zclient->mpls_labelspace_add) (command, zclient, length);
6975 + break;
6976 + case ZEBRA_MPLS_LABELSPACE_DELETE:
6977 + if (zclient->mpls_labelspace_delete)
6978 + ret = (*zclient->mpls_labelspace_delete) (command, zclient, length);
6979 + break;
6980 default:
6981 break;
6983 diff --exclude=rsvpd -uNr quagga/lib/zclient.h quagga-mpls/lib/zclient.h
6984 --- quagga/lib/zclient.h 2004-02-25 13:43:53.000000000 -0600
6985 +++ quagga-mpls/lib/zclient.h 2004-02-27 01:03:49.000000000 -0600
6986 @@ -24,6 +24,7 @@
6988 /* For struct interface and struct connected. */
6989 #include "if.h"
6990 +#include "zmpls.h"
6992 /* For input/output buffer to zebra. */
6993 #define ZEBRA_MAX_PACKET_SIZ 4096
6994 @@ -61,7 +62,14 @@
6995 /* Redistribute defauilt. */
6996 u_char default_information;
6998 + /* Router-id information. */
6999 + u_char ridinfo;
7001 + /* MPLS information, XC in/out segment, labelspace */
7002 + u_char mplsinfo;
7004 /* Pointer to the callback functions. */
7005 + int (*router_id_update) (int, struct zclient *, zebra_size_t);
7006 int (*interface_add) (int, struct zclient *, zebra_size_t);
7007 int (*interface_delete) (int, struct zclient *, zebra_size_t);
7008 int (*interface_up) (int, struct zclient *, zebra_size_t);
7009 @@ -72,6 +80,15 @@
7010 int (*ipv4_route_delete) (int, struct zclient *, zebra_size_t);
7011 int (*ipv6_route_add) (int, struct zclient *, zebra_size_t);
7012 int (*ipv6_route_delete) (int, struct zclient *, zebra_size_t);
7013 + int (*mpls_xc_add) (int, struct zclient *, zebra_size_t);
7014 + int (*mpls_xc_delete) (int, struct zclient *, zebra_size_t);
7015 + int (*mpls_in_segment_add) (int, struct zclient *, zebra_size_t);
7016 + int (*mpls_in_segment_delete) (int, struct zclient *, zebra_size_t);
7017 + int (*mpls_out_segment_add) (int, struct zclient *, zebra_size_t);
7018 + int (*mpls_out_segment_delete) (int, struct zclient *, zebra_size_t);
7019 + int (*mpls_labelspace_add) (int, struct zclient *, zebra_size_t);
7020 + int (*mpls_labelspace_delete) (int, struct zclient *, zebra_size_t);
7024 /* Zebra API message flag. */
7025 @@ -127,8 +144,11 @@
7027 struct interface *zebra_interface_add_read (struct stream *);
7028 struct interface *zebra_interface_state_read (struct stream *s);
7029 +void zebra_interface_if_set_value (struct stream *, struct interface *);
7030 struct connected *zebra_interface_address_add_read (struct stream *);
7031 struct connected *zebra_interface_address_delete_read (struct stream *);
7032 +void zebra_router_id_update_read (struct stream *s, struct prefix *rid);
7035 #ifdef HAVE_IPV6
7036 /* IPv6 prefix add and delete function prototype. */
7037 @@ -159,6 +179,37 @@
7038 zapi_ipv6_delete (struct zclient *zclient, struct prefix_ipv6 *p,
7039 struct zapi_ipv6 *api);
7042 #endif /* HAVE_IPV6 */
7044 +int
7045 +zapi_mpls_xc_add (struct zclient *zclient, struct zapi_mpls_xc *api);
7047 +int
7048 +zapi_mpls_xc_delete (struct zclient *zclient, struct zapi_mpls_xc *api);
7050 +int
7051 +zapi_mpls_in_segment_add (struct zclient *zclient,
7052 + struct zapi_mpls_in_segment *api);
7054 +int
7055 +zapi_mpls_in_segment_delete (struct zclient *zclient,
7056 + struct zapi_mpls_in_segment *api);
7058 +int
7059 +zapi_mpls_out_segment_add (struct zclient *zclient,
7060 + struct zapi_mpls_out_segment *api);
7062 +int
7063 +zapi_mpls_out_segment_delete (struct zclient *zclient,
7064 + struct zapi_mpls_out_segment *api);
7066 +int
7067 +zapi_mpls_labelspace_add (struct zclient *zclient,
7068 + struct zapi_mpls_labelspace *api);
7070 +int
7071 +zapi_mpls_labelspace_delete (struct zclient *zclient,
7072 + struct zapi_mpls_labelspace *api);
7074 #endif /* _ZEBRA_ZCLIENT_H */
7075 diff --exclude=rsvpd -uNr quagga/lib/zebra.h quagga-mpls/lib/zebra.h
7076 --- quagga/lib/zebra.h 2004-02-25 13:43:54.000000000 -0600
7077 +++ quagga-mpls/lib/zebra.h 2004-05-26 21:26:45.000000000 -0500
7078 @@ -250,7 +250,18 @@
7079 #define ZEBRA_IPV6_NEXTHOP_LOOKUP 16
7080 #define ZEBRA_IPV4_IMPORT_LOOKUP 17
7081 #define ZEBRA_IPV6_IMPORT_LOOKUP 18
7082 -#define ZEBRA_MESSAGE_MAX 19
7083 +#define ZEBRA_ROUTER_ID_ADD 19
7084 +#define ZEBRA_ROUTER_ID_DELETE 20
7085 +#define ZEBRA_ROUTER_ID_UPDATE 21
7086 +#define ZEBRA_MPLS_XC_ADD 22
7087 +#define ZEBRA_MPLS_XC_DELETE 23
7088 +#define ZEBRA_MPLS_IN_SEGMENT_ADD 24
7089 +#define ZEBRA_MPLS_IN_SEGMENT_DELETE 25
7090 +#define ZEBRA_MPLS_OUT_SEGMENT_ADD 26
7091 +#define ZEBRA_MPLS_OUT_SEGMENT_DELETE 27
7092 +#define ZEBRA_MPLS_LABELSPACE_ADD 28
7093 +#define ZEBRA_MPLS_LABELSPACE_DELETE 29
7094 +#define ZEBRA_MESSAGE_MAX 30
7096 /* Zebra route's types. */
7097 #define ZEBRA_ROUTE_SYSTEM 0
7098 @@ -262,7 +273,8 @@
7099 #define ZEBRA_ROUTE_OSPF 6
7100 #define ZEBRA_ROUTE_OSPF6 7
7101 #define ZEBRA_ROUTE_BGP 8
7102 -#define ZEBRA_ROUTE_MAX 9
7103 +#define ZEBRA_ROUTE_LDP 9
7104 +#define ZEBRA_ROUTE_MAX 10
7106 /* Zebra's family types. */
7107 #define ZEBRA_FAMILY_IPV4 1
7108 @@ -284,6 +296,7 @@
7109 #define ZEBRA_FLAG_CHANGED 0x20
7110 #define ZEBRA_FLAG_STATIC 0x40
7111 #define ZEBRA_FLAG_REJECT 0x80
7112 +#define ZEBRA_FLAG_CHANGED_MPLS 0x100
7114 /* Zebra nexthop flags. */
7115 #define ZEBRA_NEXTHOP_IFINDEX 1
7116 @@ -295,6 +308,7 @@
7117 #define ZEBRA_NEXTHOP_IPV6_IFINDEX 7
7118 #define ZEBRA_NEXTHOP_IPV6_IFNAME 8
7119 #define ZEBRA_NEXTHOP_BLACKHOLE 9
7120 +#define ZEBRA_NEXTHOP_MPLS 10
7122 #ifndef INADDR_LOOPBACK
7123 #define INADDR_LOOPBACK 0x7f000001 /* Internet address 127.0.0.1. */
7124 diff --exclude=rsvpd -uNr quagga/lib/zmpls.c quagga-mpls/lib/zmpls.c
7125 --- quagga/lib/zmpls.c 1969-12-31 18:00:00.000000000 -0600
7126 +++ quagga-mpls/lib/zmpls.c 2004-05-03 18:07:55.000000000 -0500
7127 @@ -0,0 +1,245 @@
7128 +#include "zebra.h"
7130 +#include "stream.h"
7131 +#include "zmpls.h"
7133 +int
7134 +mpls_label_match (struct zmpls_label *a, struct zmpls_label *b)
7136 + if (a->type != b->type)
7137 + return 0;
7139 + switch (a->type)
7141 + case ZEBRA_MPLS_LABEL_GEN:
7142 + if (a->u.gen != b->u.gen)
7143 + return 0;
7144 + break;
7145 + case ZEBRA_MPLS_LABEL_ATM:
7146 + if (a->u.atm.vci != b->u.atm.vci &&
7147 + a->u.atm.vpi != b->u.atm.vpi)
7148 + return 0;
7149 + break;
7150 + case ZEBRA_MPLS_LABEL_FR:
7151 + if (a->u.fr != b->u.fr)
7152 + return 0;
7153 + break;
7154 + default:
7155 + assert(0);
7157 + return 1;
7160 +void
7161 +mpls_label_stream_write (struct stream *s, struct zmpls_label *label)
7163 + /* Put label type. */
7164 + stream_putc (s, label->type);
7166 + /* put the label value */
7167 + switch (label->type)
7169 + case ZEBRA_MPLS_LABEL_GEN:
7170 + stream_putl (s, label->u.gen);
7171 + break;
7172 + case ZEBRA_MPLS_LABEL_ATM:
7173 + stream_putw (s, label->u.atm.vci);
7174 + stream_putw (s, label->u.atm.vpi);
7175 + break;
7176 + case ZEBRA_MPLS_LABEL_FR:
7177 + stream_putl (s, label->u.fr);
7178 + break;
7179 + default:
7180 + assert(0);
7184 +int
7185 +mpls_label_stream_read (struct stream *s, struct zmpls_label *label)
7187 + /* get the label type */
7188 + label->type = stream_getc (s);
7190 + /* get the label value */
7191 + switch (label->type)
7193 + case ZEBRA_MPLS_LABEL_GEN:
7194 + label->u.gen = stream_getl (s);
7195 + break;
7196 + case ZEBRA_MPLS_LABEL_ATM:
7197 + label->u.atm.vci = stream_getw (s);
7198 + label->u.atm.vpi = stream_getw (s);
7199 + break;
7200 + case ZEBRA_MPLS_LABEL_FR:
7201 + label->u.fr = stream_getl (s);
7202 + break;
7203 + default:
7204 + assert(0);
7206 + return 0;
7209 +void
7210 +mpls_xc_stream_write (struct stream *s, struct zapi_mpls_xc *api, u_char cmd)
7212 + /* Reset stream. */
7213 + stream_reset (s);
7215 + /* Length place holder. */
7216 + stream_putw (s, 0);
7218 + /* Put command. */
7219 + stream_putc (s, cmd);
7221 + stream_putc (s, api->in_labelspace);
7222 + mpls_label_stream_write (s, &api->in_label);
7224 + stream_putl (s, api->out_index);
7226 + /* Put length at the first point of the stream. */
7227 + stream_putw_at (s, 0, stream_get_endp (s));
7230 +int
7231 +mpls_xc_stream_read (struct stream *s, struct zapi_mpls_xc *api)
7233 + api->in_labelspace = stream_getc (s);
7234 + mpls_label_stream_read (s, &api->in_label);
7236 + api->out_index = stream_getl (s);
7237 + return 0;
7240 +void
7241 +mpls_in_segment_stream_write (struct stream *s,
7242 + struct zapi_mpls_in_segment *api, u_char cmd)
7244 + /* Reset stream. */
7245 + stream_reset (s);
7247 + /* Length place holder. */
7248 + stream_putw (s, 0);
7250 + /* Put command. */
7251 + stream_putc (s, cmd);
7253 + stream_putc (s, api->owner);
7254 + stream_putc (s, api->labelspace);
7255 + stream_putw (s, api->protocol);
7256 + stream_putl (s, api->fwd);
7257 + stream_putc (s, api->pop);
7259 + mpls_label_stream_write (s, &api->label);
7261 + /* Put length at the first point of the stream. */
7262 + stream_putw_at (s, 0, stream_get_endp (s));
7265 +int
7266 +mpls_in_segment_stream_read (struct stream *s,
7267 + struct zapi_mpls_in_segment *api)
7269 + api->owner = stream_getc (s);
7270 + api->labelspace = stream_getc (s);
7271 + api->protocol = stream_getw (s);
7272 + api->fwd = stream_getl (s);
7273 + api->pop = stream_getc (s);
7275 + mpls_label_stream_read (s, &api->label);
7276 + return 0;
7279 +void
7280 +mpls_out_segment_stream_write (struct stream *s,
7281 + struct zapi_mpls_out_segment *api, u_char cmd)
7283 + /* Reset stream. */
7284 + stream_reset (s);
7286 + /* Length place holder. */
7287 + stream_putw (s, 0);
7289 + /* Put command. */
7290 + stream_putc (s, cmd);
7292 + stream_putc (s, api->owner);
7293 + mpls_label_stream_write (s, &api->push);
7294 + stream_put (s, api->ifname, INTERFACE_NAMSIZ);
7296 + stream_putc (s, api->gate.family);
7297 + switch (api->gate.family)
7299 + case 0:
7300 + break;
7301 + case AF_INET:
7302 + stream_put_in_addr (s, &api->gate.u.prefix4);
7303 + break;
7304 + case AF_INET6:
7305 + stream_put (s, &api->gate.u.prefix6, 16);
7306 + break;
7307 + default:
7308 + assert(0);
7311 + stream_putl (s, api->index);
7313 + /* Put length at the first point of the stream. */
7314 + stream_putw_at (s, 0, stream_get_endp (s));
7317 +int
7318 +mpls_out_segment_stream_read (struct stream *s,
7319 + struct zapi_mpls_out_segment *api)
7321 + api->owner = stream_getc (s);
7322 + mpls_label_stream_read (s, &api->push);
7323 + stream_get (api->ifname, s, INTERFACE_NAMSIZ);
7325 + api->gate.family = stream_getc (s);
7326 + switch (api->gate.family)
7328 + case 0:
7329 + break;
7330 + case AF_INET:
7331 + api->gate.u.prefix4.s_addr = stream_get_ipv4 (s);
7332 + break;
7333 + case AF_INET6:
7334 + stream_get (&api->gate.u.prefix6, s, 16);
7335 + break;
7336 + default:
7337 + assert(0);
7340 + api->index = stream_getl (s);
7341 + return 0;
7344 +void
7345 +mpls_labelspace_stream_write (struct stream *s,
7346 + struct zapi_mpls_labelspace *api, u_char cmd)
7348 + /* Reset stream. */
7349 + stream_reset (s);
7351 + /* Length place holder. */
7352 + stream_putw (s, 0);
7354 + /* Put command. */
7355 + stream_putc (s, cmd);
7357 + stream_putc (s, api->labelspace);
7358 + stream_put (s, api->ifname, INTERFACE_NAMSIZ);
7360 + /* Put length at the first point of the stream. */
7361 + stream_putw_at (s, 0, stream_get_endp (s));
7364 +int
7365 +mpls_labelspace_stream_read (struct stream *s,
7366 + struct zapi_mpls_labelspace *api)
7368 + api->labelspace = stream_getc (s);
7369 + stream_get (api->ifname, s, INTERFACE_NAMSIZ);
7371 + return 0;
7373 diff --exclude=rsvpd -uNr quagga/lib/zmpls.h quagga-mpls/lib/zmpls.h
7374 --- quagga/lib/zmpls.h 1969-12-31 18:00:00.000000000 -0600
7375 +++ quagga-mpls/lib/zmpls.h 2004-04-16 21:43:29.000000000 -0500
7376 @@ -0,0 +1,96 @@
7377 +#ifndef _ZEBRA_MPLS_H
7378 +#define _ZEBRA_MPLS_H
7380 +#include "prefix.h"
7381 +#include "linklist.h"
7382 +#include "if.h"
7384 +#define ZEBRA_MPLS_LABEL_GEN 1
7385 +#define ZEBRA_MPLS_LABEL_ATM 2
7386 +#define ZEBRA_MPLS_LABEL_FR 3
7388 +struct zmpls_label
7390 + u_char type;
7391 + union {
7392 + u_int32_t gen;
7393 + u_int32_t fr;
7394 + struct {
7395 + u_int16_t vpi;
7396 + u_int16_t vci;
7397 + } atm;
7398 + } u;
7401 +#define ZEBRA_MPLS_OWNER_STATIC 1
7402 +#define ZEBRA_MPLS_OWNER_BGP 2
7403 +#define ZEBRA_MPLS_OWNER_LDP 3
7405 +/* structures used by clients */
7407 +struct zapi_mpls_xc
7409 + u_int index;
7410 + u_char owner;
7411 + u_char in_labelspace;
7412 + struct zmpls_label in_label;
7413 + u_int out_index;
7416 +struct zapi_mpls_in_segment
7418 + u_char owner;
7419 + u_char labelspace;
7420 + u_short protocol;
7421 + u_int fwd;
7422 + u_char pop;
7423 + struct zmpls_label label;
7426 +struct zapi_mpls_out_segment
7428 + u_char owner;
7429 + struct zmpls_label push;
7430 + char ifname[INTERFACE_NAMSIZ + 1];
7431 + struct prefix gate;
7432 + u_int index;
7435 +struct zapi_mpls_labelspace
7437 + u_char labelspace;
7438 + char ifname[INTERFACE_NAMSIZ + 1];
7441 +struct stream;
7443 +int
7444 +mpls_label_match (struct zmpls_label *a, struct zmpls_label *b);
7446 +void
7447 +mpls_xc_stream_write (struct stream *s, struct zapi_mpls_xc *api, u_char cmd);
7448 +int
7449 +mpls_xc_stream_read (struct stream *s, struct zapi_mpls_xc *api);
7451 +void
7452 +mpls_in_segment_stream_write (struct stream *s,
7453 + struct zapi_mpls_in_segment *api, u_char cmd);
7454 +int
7455 +mpls_in_segment_stream_read (struct stream *s,
7456 + struct zapi_mpls_in_segment *api);
7458 +void
7459 +mpls_out_segment_stream_write (struct stream *s,
7460 + struct zapi_mpls_out_segment *api, u_char cmd);
7461 +int
7462 +mpls_out_segment_stream_read (struct stream *s,
7463 + struct zapi_mpls_out_segment *api);
7465 +void
7466 +mpls_labelspace_stream_write (struct stream *s,
7467 + struct zapi_mpls_labelspace *api, u_char cmd);
7468 +int
7469 +mpls_labelspace_stream_read (struct stream *s,
7470 + struct zapi_mpls_labelspace *api);
7472 +#endif /* _ZEBRA_MPLS_H */
7473 diff --exclude=rsvpd -uNr quagga/Makefile.am quagga-mpls/Makefile.am
7474 --- quagga/Makefile.am 2004-02-25 13:40:12.000000000 -0600
7475 +++ quagga-mpls/Makefile.am 2004-05-24 21:42:23.000000000 -0500
7476 @@ -1,9 +1,9 @@
7477 ## Process this file with automake to produce Makefile.in.
7479 -SUBDIRS = lib @ZEBRA@ @BGPD@ @RIPD@ @RIPNGD@ @OSPFD@ @OSPF6D@ \
7480 +SUBDIRS = lib @ZEBRA@ @LDPD@ @BGPD@ @RIPD@ @RIPNGD@ @OSPFD@ @OSPF6D@ \
7481 @VTYSH@ @OSPFCLIENT@ doc
7483 -DIST_SUBDIRS = lib zebra bgpd ripd ripngd ospfd ospf6d vtysh \
7484 +DIST_SUBDIRS = lib zebra ldpd bgpd ripd ripngd ospfd ospf6d vtysh \
7485 ospfclient doc
7487 EXTRA_DIST = aclocal.m4 SERVICES TODO REPORTING-BUGS vtysh/Makefile.in \
7488 diff --exclude=rsvpd -uNr quagga/ospfd/ospfd.c quagga-mpls/ospfd/ospfd.c
7489 --- quagga/ospfd/ospfd.c 2004-02-25 13:46:26.000000000 -0600
7490 +++ quagga-mpls/ospfd/ospfd.c 2004-02-25 13:57:52.000000000 -0600
7491 @@ -61,6 +61,7 @@
7492 struct ospf_master *om;
7494 extern struct zclient *zclient;
7495 +extern struct in_addr router_id_zebra;
7498 void ospf_remove_vls_through_area (struct ospf *, struct ospf_area *);
7499 @@ -68,33 +69,6 @@
7500 void ospf_area_free (struct ospf_area *);
7501 void ospf_network_run (struct ospf *, struct prefix *, struct ospf_area *);
7503 -/* Get Router ID from ospf interface list. */
7504 -struct in_addr
7505 -ospf_router_id_get (list if_list)
7507 - listnode node;
7508 - struct in_addr router_id;
7510 - memset (&router_id, 0, sizeof (struct in_addr));
7512 - for (node = listhead (if_list); node; nextnode (node))
7514 - struct ospf_interface *oi = getdata (node);
7516 - if (!if_is_up (oi->ifp) ||
7517 - OSPF_IF_PARAM (oi, passive_interface) == OSPF_IF_PASSIVE)
7518 - continue;
7520 - /* Ignore virtual link interface. */
7521 - if (oi->type != OSPF_IFTYPE_VIRTUALLINK &&
7522 - oi->type != OSPF_IFTYPE_LOOPBACK)
7523 - if (IPV4_ADDR_CMP (&router_id, &oi->address->u.prefix4) < 0)
7524 - router_id = oi->address->u.prefix4;
7527 - return router_id;
7530 #define OSPF_EXTERNAL_LSA_ORIGINATE_DELAY 1
7532 void
7533 @@ -111,7 +85,7 @@
7534 if (ospf->router_id_static.s_addr != 0)
7535 router_id = ospf->router_id_static;
7536 else
7537 - router_id = ospf_router_id_get (ospf->oiflist);
7538 + router_id = router_id_zebra;
7540 ospf->router_id = router_id;
7542 diff --exclude=rsvpd -uNr quagga/ospfd/ospf_lsdb.h quagga-mpls/ospfd/ospf_lsdb.h
7543 --- quagga/ospfd/ospf_lsdb.h 2004-02-25 13:45:34.000000000 -0600
7544 +++ quagga-mpls/ospfd/ospf_lsdb.h 2004-02-25 13:57:51.000000000 -0600
7545 @@ -47,6 +47,10 @@
7546 for ((N) = route_top ((T)); ((N)); ((N)) = route_next ((N))) \
7547 if (((L) = (N)->info))
7549 +#define LSDB_LOOP_SUM(T,N,L,S) \
7550 + for ((N) = route_top ((T)); ((N)); ((N)) = route_next ((N))) \
7551 + if ((L) = (N)->info)
7553 #define ROUTER_LSDB(A) ((A)->lsdb->type[OSPF_ROUTER_LSA].db)
7554 #define NETWORK_LSDB(A) ((A)->lsdb->type[OSPF_NETWORK_LSA].db)
7555 #define SUMMARY_LSDB(A) ((A)->lsdb->type[OSPF_SUMMARY_LSA].db)
7556 diff --exclude=rsvpd -uNr quagga/ospfd/ospf_vty.c quagga-mpls/ospfd/ospf_vty.c
7557 --- quagga/ospfd/ospf_vty.c 2004-02-25 13:46:20.000000000 -0600
7558 +++ quagga-mpls/ospfd/ospf_vty.c 2004-02-25 13:57:52.000000000 -0600
7559 @@ -3084,7 +3084,7 @@
7561 /* Show functions */
7563 -show_lsa_summary (struct vty *vty, struct ospf_lsa *lsa, int self)
7564 +show_lsa_summary (struct vty *vty, struct ospf_lsa *lsa, int self, int *sum)
7566 struct router_lsa *rl;
7567 struct summary_lsa *sl;
7568 @@ -3092,6 +3092,10 @@
7569 struct prefix_ipv4 p;
7571 if (lsa != NULL)
7573 + /* add this LSAs checksum */
7574 + *sum += ntohs(lsa->data->checksum);
7576 /* If self option is set, check LSA self flag. */
7577 if (self == 0 || IS_LSA_SELF (lsa))
7579 @@ -3307,11 +3311,12 @@
7581 /* Show router-LSA detail information. */
7583 -show_router_lsa_detail (struct vty *vty, struct ospf_lsa *lsa)
7584 +show_router_lsa_detail (struct vty *vty, struct ospf_lsa *lsa, int *sum)
7586 if (lsa != NULL)
7588 struct router_lsa *rl = (struct router_lsa *) lsa->data;
7589 + *sum += ntohs(lsa->data->checksum);
7591 show_ip_ospf_database_header (vty, lsa);
7593 @@ -3327,13 +3332,14 @@
7595 /* Show network-LSA detail information. */
7597 -show_network_lsa_detail (struct vty *vty, struct ospf_lsa *lsa)
7598 +show_network_lsa_detail (struct vty *vty, struct ospf_lsa *lsa, int *sum)
7600 int length, i;
7602 if (lsa != NULL)
7604 struct network_lsa *nl = (struct network_lsa *) lsa->data;
7605 + *sum += ntohs(lsa->data->checksum);
7607 show_ip_ospf_database_header (vty, lsa);
7609 @@ -3354,11 +3360,12 @@
7611 /* Show summary-LSA detail information. */
7613 -show_summary_lsa_detail (struct vty *vty, struct ospf_lsa *lsa)
7614 +show_summary_lsa_detail (struct vty *vty, struct ospf_lsa *lsa, int *sum)
7616 if (lsa != NULL)
7618 struct summary_lsa *sl = (struct summary_lsa *) lsa->data;
7619 + *sum += ntohs(lsa->data->checksum);
7621 show_ip_ospf_database_header (vty, lsa);
7623 @@ -3374,11 +3381,12 @@
7625 /* Show summary-ASBR-LSA detail information. */
7627 -show_summary_asbr_lsa_detail (struct vty *vty, struct ospf_lsa *lsa)
7628 +show_summary_asbr_lsa_detail (struct vty *vty, struct ospf_lsa *lsa, int *sum)
7630 if (lsa != NULL)
7632 struct summary_lsa *sl = (struct summary_lsa *) lsa->data;
7633 + *sum += ntohs(lsa->data->checksum);
7635 show_ip_ospf_database_header (vty, lsa);
7637 @@ -3394,11 +3402,12 @@
7639 /* Show AS-external-LSA detail information. */
7641 -show_as_external_lsa_detail (struct vty *vty, struct ospf_lsa *lsa)
7642 +show_as_external_lsa_detail (struct vty *vty, struct ospf_lsa *lsa, int *sum)
7644 if (lsa != NULL)
7646 struct as_external_lsa *al = (struct as_external_lsa *) lsa->data;
7647 + *sum += ntohs(lsa->data->checksum);
7649 show_ip_ospf_database_header (vty, lsa);
7651 @@ -3447,11 +3456,12 @@
7653 /* Show AS-NSSA-LSA detail information. */
7655 -show_as_nssa_lsa_detail (struct vty *vty, struct ospf_lsa *lsa)
7656 +show_as_nssa_lsa_detail (struct vty *vty, struct ospf_lsa *lsa, int *sum)
7658 if (lsa != NULL)
7660 struct as_external_lsa *al = (struct as_external_lsa *) lsa->data;
7661 + *sum += ntohs(lsa->data->checksum);
7663 show_ip_ospf_database_header (vty, lsa);
7665 @@ -3476,17 +3486,18 @@
7666 #endif /* HAVE_NSSA */
7669 -show_func_dummy (struct vty *vty, struct ospf_lsa *lsa)
7670 +show_func_dummy (struct vty *vty, struct ospf_lsa *lsa, int *sum)
7672 return 0;
7675 #ifdef HAVE_OPAQUE_LSA
7677 -show_opaque_lsa_detail (struct vty *vty, struct ospf_lsa *lsa)
7678 +show_opaque_lsa_detail (struct vty *vty, struct ospf_lsa *lsa, int *sum)
7680 if (lsa != NULL)
7682 + *sum += ntohs(lsa->data->checksum);
7683 show_ip_ospf_database_header (vty, lsa);
7684 show_opaque_info_detail (vty, lsa);
7686 @@ -3496,7 +3507,7 @@
7688 #endif /* HAVE_OPAQUE_LSA */
7690 -int (*show_function[])(struct vty *, struct ospf_lsa *) =
7691 +int (*show_function[])(struct vty *, struct ospf_lsa *, int *) =
7693 NULL,
7694 show_router_lsa_detail,
7695 @@ -3543,7 +3554,7 @@
7697 void
7698 show_lsa_detail_proc (struct vty *vty, struct route_table *rt,
7699 - struct in_addr *id, struct in_addr *adv_router)
7700 + struct in_addr *id, struct in_addr *adv_router, int *sum)
7702 struct prefix_ls lp;
7703 struct route_node *rn, *start;
7704 @@ -3558,7 +3569,7 @@
7705 if ((lsa = rn->info))
7707 if (show_function[lsa->data->type] != NULL)
7708 - show_function[lsa->data->type] (vty, lsa);
7709 + show_function[lsa->data->type] (vty, lsa, sum);
7711 route_unlock_node (start);
7713 @@ -3571,6 +3582,7 @@
7714 struct in_addr *id, struct in_addr *adv_router)
7716 listnode node;
7717 + int sum = 0;
7719 switch (type)
7721 @@ -3581,7 +3593,7 @@
7722 vty_out (vty, " %s %s%s",
7723 show_database_desc[type],
7724 VTY_NEWLINE, VTY_NEWLINE);
7725 - show_lsa_detail_proc (vty, AS_LSDB (ospf, type), id, adv_router);
7726 + show_lsa_detail_proc (vty, AS_LSDB (ospf, type), id, adv_router, &sum);
7727 break;
7728 default:
7729 for (node = listhead (ospf->areas); node; nextnode (node))
7730 @@ -3590,15 +3602,18 @@
7731 vty_out (vty, "%s %s (Area %s)%s%s",
7732 VTY_NEWLINE, show_database_desc[type],
7733 ospf_area_desc_string (area), VTY_NEWLINE, VTY_NEWLINE);
7734 - show_lsa_detail_proc (vty, AREA_LSDB (area, type), id, adv_router);
7735 + show_lsa_detail_proc (vty, AREA_LSDB (area, type), id, adv_router,
7736 + &sum);
7738 break;
7740 + vty_out (vty, "%s Sum of CkSum: 0x%08x%s%s",
7741 + VTY_NEWLINE, sum, VTY_NEWLINE, VTY_NEWLINE);
7744 void
7745 show_lsa_detail_adv_router_proc (struct vty *vty, struct route_table *rt,
7746 - struct in_addr *adv_router)
7747 + struct in_addr *adv_router, int *sum)
7749 struct route_node *rn;
7750 struct ospf_lsa *lsa;
7751 @@ -3612,7 +3627,7 @@
7752 continue;
7753 #endif /* HAVE_NSSA */
7754 if (show_function[lsa->data->type] != NULL)
7755 - show_function[lsa->data->type] (vty, lsa);
7756 + show_function[lsa->data->type] (vty, lsa, sum);
7760 @@ -3622,6 +3637,7 @@
7761 struct in_addr *adv_router)
7763 listnode node;
7764 + int sum = 0;
7766 switch (type)
7768 @@ -3633,7 +3649,7 @@
7769 show_database_desc[type],
7770 VTY_NEWLINE, VTY_NEWLINE);
7771 show_lsa_detail_adv_router_proc (vty, AS_LSDB (ospf, type),
7772 - adv_router);
7773 + adv_router, &sum);
7774 break;
7775 default:
7776 for (node = listhead (ospf->areas); node; nextnode (node))
7777 @@ -3643,10 +3659,12 @@
7778 VTY_NEWLINE, show_database_desc[type],
7779 ospf_area_desc_string (area), VTY_NEWLINE, VTY_NEWLINE);
7780 show_lsa_detail_adv_router_proc (vty, AREA_LSDB (area, type),
7781 - adv_router);
7782 + adv_router, &sum);
7784 break;
7786 + vty_out (vty, "%s Sum of CkSum: 0x%08x%s%s",
7787 + VTY_NEWLINE, sum, VTY_NEWLINE, VTY_NEWLINE);
7790 void
7791 @@ -3654,6 +3672,7 @@
7793 struct ospf_lsa *lsa;
7794 struct route_node *rn;
7795 + unsigned int sum;
7796 listnode node;
7797 int type;
7799 @@ -3681,11 +3700,13 @@
7800 VTY_NEWLINE, VTY_NEWLINE);
7801 vty_out (vty, "%s%s", show_database_header[type], VTY_NEWLINE);
7803 + sum = 0;
7804 LSDB_LOOP (AREA_LSDB (area, type), rn, lsa)
7805 - show_lsa_summary (vty, lsa, self);
7806 + show_lsa_summary (vty, lsa, self, &sum);
7808 - vty_out (vty, "%s", VTY_NEWLINE);
7810 + vty_out (vty, "%s Sum of CkSum: 0x%08x%s%s",
7811 + VTY_NEWLINE, sum, VTY_NEWLINE, VTY_NEWLINE);
7816 @@ -3710,10 +3731,12 @@
7817 vty_out (vty, "%s%s", show_database_header[type],
7818 VTY_NEWLINE);
7820 + sum = 0;
7821 LSDB_LOOP (AS_LSDB (ospf, type), rn, lsa)
7822 - show_lsa_summary (vty, lsa, self);
7823 + show_lsa_summary (vty, lsa, self, &sum);
7825 - vty_out (vty, "%s", VTY_NEWLINE);
7826 + vty_out (vty, "%s Sum of CkSum: 0x%08x%s%s",
7827 + VTY_NEWLINE, sum, VTY_NEWLINE, VTY_NEWLINE);
7831 diff --exclude=rsvpd -uNr quagga/ospfd/ospf_zebra.c quagga-mpls/ospfd/ospf_zebra.c
7832 --- quagga/ospfd/ospf_zebra.c 2004-02-25 13:46:23.000000000 -0600
7833 +++ quagga-mpls/ospfd/ospf_zebra.c 2004-02-25 13:57:52.000000000 -0600
7834 @@ -53,6 +53,28 @@
7836 /* For registering threads. */
7837 extern struct thread_master *master;
7838 +struct in_addr router_id_zebra;
7840 +/* Router-id update message from zebra. */
7841 +int
7842 +ospf_router_id_update_zebra (int command, struct zclient *zclient,
7843 + zebra_size_t length)
7845 + struct ospf *ospf;
7846 + struct prefix router_id;
7847 + zebra_router_id_update_read(zclient->ibuf,&router_id);
7849 + router_id_zebra = router_id.u.prefix4;
7851 + ospf = ospf_lookup ();
7852 + if (ospf != NULL) {
7853 + if (ospf->t_router_id_update == NULL) {
7854 + OSPF_TIMER_ON (ospf->t_router_id_update, ospf_router_id_update_timer,
7855 + OSPF_ROUTER_ID_UPDATE_DELAY);
7858 + return 0;
7861 /* Inteface addition message from zebra. */
7863 @@ -153,20 +175,6 @@
7864 return ifp;
7867 -void
7868 -zebra_interface_if_set_value (struct stream *s, struct interface *ifp)
7870 - /* Read interface's index. */
7871 - ifp->ifindex = stream_getl (s);
7873 - /* Read interface's value. */
7874 - ifp->status = stream_getc (s);
7875 - ifp->flags = stream_getl (s);
7876 - ifp->metric = stream_getl (s);
7877 - ifp->mtu = stream_getl (s);
7878 - ifp->bandwidth = stream_getl (s);
7882 ospf_interface_state_up (int command, struct zclient *zclient,
7883 zebra_size_t length)
7884 @@ -1192,6 +1200,7 @@
7885 /* Allocate zebra structure. */
7886 zclient = zclient_new ();
7887 zclient_init (zclient, ZEBRA_ROUTE_OSPF);
7888 + zclient->router_id_update = ospf_router_id_update_zebra;
7889 zclient->interface_add = ospf_interface_add;
7890 zclient->interface_delete = ospf_interface_delete;
7891 zclient->interface_up = ospf_interface_state_up;
7892 diff --exclude=rsvpd -uNr quagga/vtysh/vtysh_cmd.c quagga-mpls/vtysh/vtysh_cmd.c
7893 --- quagga/vtysh/vtysh_cmd.c 1969-12-31 18:00:00.000000000 -0600
7894 +++ quagga-mpls/vtysh/vtysh_cmd.c 2004-02-25 23:58:26.000000000 -0600
7895 @@ -0,0 +1,15415 @@
7896 +#include <zebra.h>
7897 +#include "command.h"
7898 +#include "vtysh.h"
7900 +DEFSH (VTYSH_ZEBRA, no_shutdown_if_cmd_vtysh,
7901 + "no shutdown",
7902 + "Negate a command or set its defaults\n"
7903 + "Shutdown the selected interface\n")
7905 +DEFSH (VTYSH_BGPD, no_bgp_redistribute_ipv6_metric_cmd_vtysh,
7906 + "no redistribute (connected|kernel|ospf6|ripng|static) metric <0-4294967295>",
7907 + "Negate a command or set its defaults\n"
7908 + "Redistribute information from another routing protocol\n"
7909 + "Connected\n"
7910 + "Kernel routes\n"
7911 + "Open Shurtest Path First (OSPFv3)\n"
7912 + "Routing Information Protocol (RIPng)\n"
7913 + "Static routes\n"
7914 + "Metric for redistributed routes\n"
7915 + "Default metric\n")
7917 +DEFSH (VTYSH_RIPD, rip_offset_list_ifname_cmd_vtysh,
7918 + "offset-list WORD (in|out) <0-16> IFNAME",
7919 + "Modify RIP metric\n"
7920 + "Access-list name\n"
7921 + "For incoming updates\n"
7922 + "For outgoing updates\n"
7923 + "Metric value\n"
7924 + "Interface to match\n")
7926 +DEFSH (VTYSH_RIPNGD, ipv6_distribute_list_prefix_cmd_vtysh,
7927 + "distribute-list prefix WORD (in|out) WORD",
7928 + "Filter networks in routing updates\n"
7929 + "Filter prefixes in routing updates\n"
7930 + "Name of an IP prefix-list\n"
7931 + "Filter incoming routing updates\n"
7932 + "Filter outgoing routing updates\n"
7933 + "Interface name\n")
7935 +DEFSH (VTYSH_OSPFD, no_debug_ospf_zebra_cmd_vtysh,
7936 + "no debug ospf zebra",
7937 + "Negate a command or set its defaults\n"
7938 + "Debugging functions (see also 'undebug')\n"
7939 + "OSPF information\n"
7940 + "OSPF Zebra information\n")
7942 +DEFSH (VTYSH_BGPD, clear_bgp_peer_in_prefix_filter_cmd_vtysh,
7943 + "clear bgp (A.B.C.D|X:X::X:X) in prefix-filter",
7944 + "Reset functions\n"
7945 + "BGP information\n"
7946 + "BGP neighbor address to clear\n"
7947 + "BGP IPv6 neighbor to clear\n"
7948 + "Soft reconfig inbound update\n"
7949 + "Push out the existing ORF prefix-list\n")
7951 +DEFSH (VTYSH_BGPD, bgp_deterministic_med_cmd_vtysh,
7952 + "bgp deterministic-med",
7953 + "BGP specific commands\n"
7954 + "Pick the best-MED path among paths advertised from the neighboring AS\n")
7956 +DEFSH (VTYSH_OSPFD, no_ospf_default_information_originate_cmd_vtysh,
7957 + "no default-information originate",
7958 + "Negate a command or set its defaults\n"
7959 + "Control distribution of default information\n"
7960 + "Distribute a default route\n")
7962 +DEFSH (VTYSH_RIPNGD, show_ipv6_ripng_cmd_vtysh,
7963 + "show ipv6 ripng",
7964 + "Show running system information\n"
7965 + "IP information\n"
7966 + "Show RIPng routes\n")
7968 +DEFSH (VTYSH_RIPD, accept_lifetime_day_month_day_month_cmd_vtysh,
7969 + "accept-lifetime HH:MM:SS <1-31> MONTH <1993-2035> HH:MM:SS <1-31> MONTH <1993-2035>",
7970 + "Set accept lifetime of the key\n"
7971 + "Time to start\n"
7972 + "Day of th month to start\n"
7973 + "Month of the year to start\n"
7974 + "Year to start\n"
7975 + "Time to expire\n"
7976 + "Day of th month to expire\n"
7977 + "Month of the year to expire\n"
7978 + "Year to expire\n")
7980 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, show_ip_prefix_list_summary_cmd_vtysh,
7981 + "show ip prefix-list summary",
7982 + "Show running system information\n"
7983 + "IP information\n"
7984 + "Build a prefix list\n"
7985 + "Summary of prefix lists\n")
7987 +DEFSH (VTYSH_BGPD, show_bgp_neighbor_damp_cmd_vtysh,
7988 + "show bgp neighbors (A.B.C.D|X:X::X:X) dampened-routes",
7989 + "Show running system information\n"
7990 + "BGP information\n"
7991 + "Detailed information on TCP and BGP neighbor connections\n"
7992 + "Neighbor to display information about\n"
7993 + "Neighbor to display information about\n"
7994 + "Display the dampened routes received from neighbor\n")
7996 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_community3_exact_cmd_vtysh,
7997 + "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
7998 + "Show running system information\n"
7999 + "IPv6 information\n"
8000 + "MBGP information\n"
8001 + "Display routes matching the communities\n"
8002 + "community number\n"
8003 + "Do not send outside local AS (well-known community)\n"
8004 + "Do not advertise to any peer (well-known community)\n"
8005 + "Do not export to next AS (well-known community)\n"
8006 + "community number\n"
8007 + "Do not send outside local AS (well-known community)\n"
8008 + "Do not advertise to any peer (well-known community)\n"
8009 + "Do not export to next AS (well-known community)\n"
8010 + "community number\n"
8011 + "Do not send outside local AS (well-known community)\n"
8012 + "Do not advertise to any peer (well-known community)\n"
8013 + "Do not export to next AS (well-known community)\n"
8014 + "Exact match of the communities")
8016 +DEFSH (VTYSH_OSPFD, no_router_ospf_id_cmd_vtysh,
8017 + "no router-id",
8018 + "Negate a command or set its defaults\n"
8019 + "router-id for the OSPF process\n")
8021 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, ip_prefix_list_seq_ge_cmd_vtysh,
8022 + "ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M ge <0-32>",
8023 + "IP information\n"
8024 + "Build a prefix list\n"
8025 + "Name of a prefix list\n"
8026 + "sequence number of an entry\n"
8027 + "Sequence number\n"
8028 + "Specify packets to reject\n"
8029 + "Specify packets to forward\n"
8030 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
8031 + "Minimum prefix length to be matched\n"
8032 + "Minimum prefix length\n")
8034 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_seq_le_cmd_vtysh,
8035 + "no ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M le <0-32>",
8036 + "Negate a command or set its defaults\n"
8037 + "IP information\n"
8038 + "Build a prefix list\n"
8039 + "Name of a prefix list\n"
8040 + "sequence number of an entry\n"
8041 + "Sequence number\n"
8042 + "Specify packets to reject\n"
8043 + "Specify packets to forward\n"
8044 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
8045 + "Maximum prefix length to be matched\n"
8046 + "Maximum prefix length\n")
8048 +DEFSH (VTYSH_BGPD, neighbor_transparent_nexthop_cmd_vtysh,
8049 + "neighbor (A.B.C.D|X:X::X:X) " "transparent-nexthop",
8050 + "Specify neighbor router\n"
8051 + "Neighbor address\nIPv6 address\n"
8052 + "Do not change nexthop even peer is EBGP peer\n")
8054 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD, set_metric_cmd_vtysh,
8055 + "set metric <0-4294967295>",
8056 + "Set values in destination routing protocol\n"
8057 + "Metric value for destination routing protocol\n"
8058 + "Metric value\n")
8060 +DEFSH (VTYSH_RIPNGD, no_ripng_default_metric_val_cmd_vtysh,
8061 + "no default-metric <1-16>",
8062 + "Negate a command or set its defaults\n"
8063 + "Set a metric of redistribute routes\n"
8064 + "Default metric\n")
8066 +DEFSH (VTYSH_BGPD, show_ip_bgp_instance_neighbors_peer_cmd_vtysh,
8067 + "show ip bgp view WORD neighbors (A.B.C.D|X:X::X:X)",
8068 + "Show running system information\n"
8069 + "IP information\n"
8070 + "BGP information\n"
8071 + "BGP view\n"
8072 + "View name\n"
8073 + "Detailed information on TCP and BGP neighbor connections\n"
8074 + "Neighbor to display information about\n"
8075 + "Neighbor to display information about\n")
8077 +DEFSH (VTYSH_OSPFD, debug_ospf_zebra_sub_cmd_vtysh,
8078 + "debug ospf zebra (interface|redistribute)",
8079 + "Debugging functions (see also 'undebug')\n"
8080 + "OSPF information\n"
8081 + "OSPF Zebra information\n"
8082 + "Zebra interface\n"
8083 + "Zebra redistribute\n")
8085 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_all_neighbors_cmd_vtysh,
8086 + "show ip bgp vpnv4 all neighbors",
8087 + "Show running system information\n"
8088 + "IP information\n"
8089 + "BGP information\n"
8090 + "Display VPNv4 NLRI specific information\n"
8091 + "Display information about all VPNv4 NLRIs\n"
8092 + "Detailed information on TCP and BGP neighbor connections\n")
8094 +DEFSH (VTYSH_BGPD, ip_community_list_expanded_cmd_vtysh,
8095 + "ip community-list <100-199> (deny|permit) .LINE",
8096 + "IP information\n"
8097 + "Add a community list entry\n"
8098 + "Community list number (expanded)\n"
8099 + "Specify community to reject\n"
8100 + "Specify community to accept\n"
8101 + "An ordered list as a regular-expression\n")
8103 +DEFSH (VTYSH_RIPNGD, ripng_redistribute_type_cmd_vtysh,
8104 + "redistribute (kernel|connected|static|ospf6|bgp)",
8105 + "Redistribute information from another routing protocol\n"
8106 + "Kernel routes\n"
8107 + "Connected\n"
8108 + "Static routes\n"
8109 + "Open Shortest Path First (OSPFv3)\n"
8110 + "Border Gateway Protocol (BGP)\n")
8112 +DEFSH (VTYSH_OSPFD, ip_ospf_hello_interval_addr_cmd_vtysh,
8113 + "ip ospf hello-interval <1-65535> A.B.C.D",
8114 + "IP Information\n"
8115 + "OSPF interface commands\n"
8116 + "Time between HELLO packets\n"
8117 + "Seconds\n"
8118 + "Address of interface")
8120 +DEFSH (VTYSH_OSPFD, ospf_router_id_cmd_vtysh,
8121 + "ospf router-id A.B.C.D",
8122 + "OSPF specific commands\n"
8123 + "router-id for the OSPF process\n"
8124 + "OSPF router-id in IP address format\n")
8126 +DEFSH (VTYSH_BGPD, show_bgp_view_neighbor_damp_cmd_vtysh,
8127 + "show bgp view WORD neighbors (A.B.C.D|X:X::X:X) dampened-routes",
8128 + "Show running system information\n"
8129 + "BGP information\n"
8130 + "BGP view\n"
8131 + "BGP view name\n"
8132 + "Detailed information on TCP and BGP neighbor connections\n"
8133 + "Neighbor to display information about\n"
8134 + "Neighbor to display information about\n"
8135 + "Display the dampened routes received from neighbor\n")
8137 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_community_exact_cmd_vtysh,
8138 + "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) exact-match",
8139 + "Show running system information\n"
8140 + "IP information\n"
8141 + "BGP information\n"
8142 + "Address family\n"
8143 + "Address Family modifier\n"
8144 + "Address Family modifier\n"
8145 + "Display routes matching the communities\n"
8146 + "community number\n"
8147 + "Do not send outside local AS (well-known community)\n"
8148 + "Do not advertise to any peer (well-known community)\n"
8149 + "Do not export to next AS (well-known community)\n"
8150 + "Exact match of the communities")
8152 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_sequence_number_cmd_vtysh,
8153 + "no ipv6 prefix-list sequence-number",
8154 + "Negate a command or set its defaults\n"
8155 + "IPv6 information\n"
8156 + "Build a prefix list\n"
8157 + "Include/exclude sequence numbers in NVGEN\n")
8159 +DEFSH (VTYSH_BGPD, ipv6_aggregate_address_cmd_vtysh,
8160 + "aggregate-address X:X::X:X/M",
8161 + "Configure BGP aggregate entries\n"
8162 + "Aggregate prefix\n")
8164 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_as_soft_in_cmd_vtysh,
8165 + "clear bgp ipv6 <1-65535> soft in",
8166 + "Reset functions\n"
8167 + "BGP information\n"
8168 + "Address family\n"
8169 + "Clear peers with the AS number\n"
8170 + "Soft reconfig\n"
8171 + "Soft reconfig inbound update\n")
8173 +DEFSH (VTYSH_BGPD, no_neighbor_description_cmd_vtysh,
8174 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "description",
8175 + "Negate a command or set its defaults\n"
8176 + "Specify neighbor router\n"
8177 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
8178 + "Neighbor specific description\n")
8180 +DEFSH (VTYSH_BGPD, bgp_redistribute_ipv6_metric_cmd_vtysh,
8181 + "redistribute (connected|kernel|ospf6|ripng|static) metric <0-4294967295>",
8182 + "Redistribute information from another routing protocol\n"
8183 + "Connected\n"
8184 + "Kernel routes\n"
8185 + "Open Shurtest Path First (OSPFv3)\n"
8186 + "Routing Information Protocol (RIPng)\n"
8187 + "Static routes\n"
8188 + "Metric for redistributed routes\n"
8189 + "Default metric\n")
8191 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_match_ip_address_prefix_list_val_cmd_vtysh,
8192 + "no match ip address prefix-list WORD",
8193 + "Negate a command or set its defaults\n"
8194 + "Match values from routing table\n"
8195 + "IP information\n"
8196 + "Match address of route\n"
8197 + "Match entries of prefix-lists\n"
8198 + "IP prefix-list name\n")
8200 +DEFSH (VTYSH_OSPFD, ospf_area_vlink_cmd_vtysh,
8201 + "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D",
8202 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n")
8204 +DEFSH (VTYSH_BGPD, neighbor_send_community_cmd_vtysh,
8205 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "send-community",
8206 + "Specify neighbor router\n"
8207 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
8208 + "Send Community attribute to this neighbor\n")
8210 +DEFSH (VTYSH_BGPD, set_ip_nexthop_peer_cmd_vtysh,
8211 + "set ip next-hop peer-address",
8212 + "Set values in destination routing protocol\n"
8213 + "IP information\n"
8214 + "Next hop address\n"
8215 + "Use peer address (for BGP only)\n")
8217 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_remark_arg_cmd_vtysh,
8218 + "no access-list (<1-99>|<100-199>|<1300-1999>|<2000-2699>|WORD) remark .LINE",
8219 + "Negate a command or set its defaults\n"
8220 + "Add an access list entry\n"
8221 + "IP standard access list\n"
8222 + "IP extended access list\n"
8223 + "IP standard access list (expanded range)\n"
8224 + "IP extended access list (expanded range)\n"
8225 + "IP zebra access-list\n"
8226 + "Access list entry comment\n"
8227 + "Comment up to 100 characters\n")
8229 +DEFSH (VTYSH_BGPD, ip_extcommunity_list_name_standard_cmd_vtysh,
8230 + "ip extcommunity-list standard WORD (deny|permit) .AA:NN",
8231 + "IP information\n"
8232 + "Add a extended community list entry\n"
8233 + "Specify standard extcommunity-list\n"
8234 + "Extended Community list name\n"
8235 + "Specify community to reject\n"
8236 + "Specify community to accept\n"
8237 + "Extended community attribute in 'rt aa:nn_or_IPaddr:nn' OR 'soo aa:nn_or_IPaddr:nn' format\n")
8239 +DEFSH (VTYSH_OSPFD, ospf_area_import_list_cmd_vtysh,
8240 + "area (A.B.C.D|<0-4294967295>) import-list NAME",
8241 + "OSPF area parameters\n"
8242 + "OSPF area ID in IP address format\n"
8243 + "OSPF area ID as a decimal value\n"
8244 + "Set the filter for networks from other areas announced to the specified one\n"
8245 + "Name of the access-list\n")
8247 +DEFSH (VTYSH_BGPD, no_set_local_pref_val_cmd_vtysh,
8248 + "no set local-preference <0-4294967295>",
8249 + "Negate a command or set its defaults\n"
8250 + "Set values in destination routing protocol\n"
8251 + "BGP local preference path attribute\n"
8252 + "Preference value\n")
8254 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, show_ipv6_prefix_list_summary_name_cmd_vtysh,
8255 + "show ipv6 prefix-list summary WORD",
8256 + "Show running system information\n"
8257 + "IPv6 information\n"
8258 + "Build a prefix list\n"
8259 + "Summary of prefix lists\n"
8260 + "Name of a prefix list\n")
8262 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_vpnv4_soft_out_cmd_vtysh,
8263 + "clear ip bgp A.B.C.D vpnv4 unicast soft out",
8264 + "Reset functions\n"
8265 + "IP information\n"
8266 + "BGP information\n"
8267 + "BGP neighbor address to clear\n"
8268 + "Address family\n"
8269 + "Address Family Modifier\n"
8270 + "Soft reconfig\n"
8271 + "Soft reconfig outbound update\n")
8273 +DEFSH (VTYSH_ZEBRA, ipv6_route_flags_pref_cmd_vtysh,
8274 + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) <1-255>",
8275 + "IP information\n"
8276 + "Establish static routes\n"
8277 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
8278 + "IPv6 gateway address\n"
8279 + "IPv6 gateway interface name\n"
8280 + "Emit an ICMP unreachable when matched\n"
8281 + "Silently discard pkts when matched\n"
8282 + "Distance value for this prefix\n")
8284 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_external_in_prefix_filter_cmd_vtysh,
8285 + "clear bgp ipv6 external in prefix-filter",
8286 + "Reset functions\n"
8287 + "BGP information\n"
8288 + "Address family\n"
8289 + "Clear all external peers\n"
8290 + "Soft reconfig inbound update\n"
8291 + "Push out prefix-list ORF and do inbound soft reconfig\n")
8293 +DEFSH (VTYSH_RIPD, no_rip_passive_interface_cmd_vtysh,
8294 + "no passive-interface (IFNAME|default)",
8295 + "Negate a command or set its defaults\n"
8296 + "Suppress routing updates on an interface\n"
8297 + "Interface name\n"
8298 + "default for all interfaces\n")
8300 +DEFSH (VTYSH_BGPD, no_bgp_network_mask_natural_cmd_vtysh,
8301 + "no network A.B.C.D",
8302 + "Negate a command or set its defaults\n"
8303 + "Specify a network to announce via BGP\n"
8304 + "Network number\n")
8306 +DEFSH (VTYSH_BGPD, show_bgp_instance_neighbors_cmd_vtysh,
8307 + "show bgp view WORD neighbors",
8308 + "Show running system information\n"
8309 + "BGP information\n"
8310 + "BGP view\n"
8311 + "View name\n"
8312 + "Detailed information on TCP and BGP neighbor connections\n")
8314 +DEFSH (VTYSH_BGPD, no_aggregate_address_mask_as_set_cmd_vtysh,
8315 + "no aggregate-address A.B.C.D A.B.C.D as-set",
8316 + "Negate a command or set its defaults\n"
8317 + "Configure BGP aggregate entries\n"
8318 + "Aggregate address\n"
8319 + "Aggregate mask\n"
8320 + "Generate AS set path information\n")
8322 +DEFSH (VTYSH_BGPD, show_ip_bgp_community2_exact_cmd_vtysh,
8323 + "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
8324 + "Show running system information\n"
8325 + "IP information\n"
8326 + "BGP information\n"
8327 + "Display routes matching the communities\n"
8328 + "community number\n"
8329 + "Do not send outside local AS (well-known community)\n"
8330 + "Do not advertise to any peer (well-known community)\n"
8331 + "Do not export to next AS (well-known community)\n"
8332 + "community number\n"
8333 + "Do not send outside local AS (well-known community)\n"
8334 + "Do not advertise to any peer (well-known community)\n"
8335 + "Do not export to next AS (well-known community)\n"
8336 + "Exact match of the communities")
8338 +DEFSH (VTYSH_BGPD, neighbor_capability_orf_prefix_cmd_vtysh,
8339 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "capability orf prefix-list (both|send|receive)",
8340 + "Specify neighbor router\n"
8341 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
8342 + "Advertise capability to the peer\n"
8343 + "Advertise ORF capability to the peer\n"
8344 + "Advertise prefixlist ORF capability to this neighbor\n"
8345 + "Capability to SEND and RECEIVE the ORF to/from this neighbor\n"
8346 + "Capability to RECEIVE the ORF from this neighbor\n"
8347 + "Capability to SEND the ORF to this neighbor\n")
8349 +DEFSH (VTYSH_ZEBRA, debug_zebra_packet_direct_cmd_vtysh,
8350 + "debug zebra packet (recv|send)",
8351 + "Debugging functions (see also 'undebug')\n"
8352 + "Zebra configuration\n"
8353 + "Debug option set for zebra packet\n"
8354 + "Debug option set for receive packet\n"
8355 + "Debug option set for send packet\n")
8357 +DEFSH (VTYSH_RIPD, rip_route_cmd_vtysh,
8358 + "route A.B.C.D/M",
8359 + "RIP static route configuration\n"
8360 + "IP prefix <network>/<length>\n")
8362 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, clear_ip_prefix_list_name_prefix_cmd_vtysh,
8363 + "clear ip prefix-list WORD A.B.C.D/M",
8364 + "Reset functions\n"
8365 + "IP information\n"
8366 + "Build a prefix list\n"
8367 + "Name of a prefix list\n"
8368 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
8370 +DEFSH (VTYSH_RIPD, show_ip_rip_cmd_vtysh,
8371 + "show ip rip",
8372 + "Show running system information\n"
8373 + "IP information\n"
8374 + "Show RIP routes\n")
8376 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_routemap_cmd_vtysh,
8377 + "default-information originate route-map WORD",
8378 + "Control distribution of default information\n"
8379 + "Distribute a default route\n"
8380 + "Route map reference\n"
8381 + "Pointer to route-map entries\n")
8383 +DEFSH (VTYSH_OSPFD, ospf_refresh_timer_cmd_vtysh,
8384 + "refresh timer <10-1800>",
8385 + "Adjust refresh parameters\n"
8386 + "Set refresh timer\n"
8387 + "Timer value in seconds\n")
8389 +DEFSH (VTYSH_ZEBRA, no_ip_route_cmd_vtysh,
8390 + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0)",
8391 + "Negate a command or set its defaults\n"
8392 + "IP information\n"
8393 + "Establish static routes\n"
8394 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
8395 + "IP gateway address\n"
8396 + "IP gateway interface name\n"
8397 + "Null interface\n")
8399 +DEFSH (VTYSH_BGPD, no_set_ipv6_nexthop_global_val_cmd_vtysh,
8400 + "no set ipv6 next-hop global X:X::X:X",
8401 + "Negate a command or set its defaults\n"
8402 + "Set values in destination routing protocol\n"
8403 + "IPv6 information\n"
8404 + "IPv6 next-hop address\n"
8405 + "IPv6 global address\n"
8406 + "IPv6 address of next hop\n")
8408 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_inter_intra_external_cmd_vtysh,
8409 + "distance ospf inter-area <1-255> intra-area <1-255> external <1-255>",
8410 + "Define an administrative distance\n"
8411 + "OSPF Administrative distance\n"
8412 + "Inter-area routes\n"
8413 + "Distance for inter-area routes\n"
8414 + "Intra-area routes\n"
8415 + "Distance for intra-area routes\n"
8416 + "External routes\n"
8417 + "Distance for external routes\n")
8419 +DEFSH (VTYSH_RIPD, no_ip_rip_authentication_key_chain2_cmd_vtysh,
8420 + "no ip rip authentication key-chain LINE",
8421 + "Negate a command or set its defaults\n"
8422 + "IP information\n"
8423 + "Routing Information Protocol\n"
8424 + "Authentication control\n"
8425 + "Authentication key-chain\n"
8426 + "name of key-chain\n")
8428 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_all_soft_out_cmd_vtysh,
8429 + "clear bgp ipv6 * soft out",
8430 + "Reset functions\n"
8431 + "BGP information\n"
8432 + "Address family\n"
8433 + "Clear all peers\n"
8434 + "Soft reconfig\n"
8435 + "Soft reconfig outbound update\n")
8437 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_cmd_vtysh,
8438 + "no access-list WORD (deny|permit) A.B.C.D/M",
8439 + "Negate a command or set its defaults\n"
8440 + "Add an access list entry\n"
8441 + "IP zebra access-list name\n"
8442 + "Specify packets to reject\n"
8443 + "Specify packets to forward\n"
8444 + "Prefix to match. e.g. 10.0.0.0/8\n")
8446 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_le_ge_cmd_vtysh,
8447 + "no ipv6 prefix-list WORD (deny|permit) X:X::X:X/M le <0-128> ge <0-128>",
8448 + "Negate a command or set its defaults\n"
8449 + "IPv6 information\n"
8450 + "Build a prefix list\n"
8451 + "Name of a prefix list\n"
8452 + "Specify packets to reject\n"
8453 + "Specify packets to forward\n"
8454 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
8455 + "Maximum prefix length to be matched\n"
8456 + "Maximum prefix length\n"
8457 + "Minimum prefix length to be matched\n"
8458 + "Minimum prefix length\n")
8460 +DEFSH (VTYSH_RIPD, no_rip_timers_cmd_vtysh,
8461 + "no timers basic",
8462 + "Negate a command or set its defaults\n"
8463 + "Adjust routing timers\n"
8464 + "Basic routing protocol update timers\n")
8466 +DEFSH (VTYSH_BGPD, no_neighbor_attr_unchanged1_cmd_vtysh,
8467 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged (as-path|next-hop|med)",
8468 + "Negate a command or set its defaults\n"
8469 + "Specify neighbor router\n"
8470 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
8471 + "BGP attribute is propagated unchanged to this neighbor\n"
8472 + "As-path attribute\n"
8473 + "Nexthop attribute\n"
8474 + "Med attribute\n")
8476 +DEFSH (VTYSH_ZEBRA, debug_zebra_packet_detail_cmd_vtysh,
8477 + "debug zebra packet (recv|send) detail",
8478 + "Debugging functions (see also 'undebug')\n"
8479 + "Zebra configuration\n"
8480 + "Debug option set for zebra packet\n"
8481 + "Debug option set for receive packet\n"
8482 + "Debug option set for send packet\n"
8483 + "Debug option set detaied information\n")
8485 +DEFSH (VTYSH_BGPD, clear_bgp_as_in_prefix_filter_cmd_vtysh,
8486 + "clear bgp <1-65535> in prefix-filter",
8487 + "Reset functions\n"
8488 + "BGP information\n"
8489 + "Clear peers with the AS number\n"
8490 + "Soft reconfig inbound update\n"
8491 + "Push out prefix-list ORF and do inbound soft reconfig\n")
8493 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_ge_le_cmd_vtysh,
8494 + "no ip prefix-list WORD (deny|permit) A.B.C.D/M ge <0-32> le <0-32>",
8495 + "Negate a command or set its defaults\n"
8496 + "IP information\n"
8497 + "Build a prefix list\n"
8498 + "Name of a prefix list\n"
8499 + "Specify packets to reject\n"
8500 + "Specify packets to forward\n"
8501 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
8502 + "Minimum prefix length to be matched\n"
8503 + "Minimum prefix length\n"
8504 + "Maximum prefix length to be matched\n"
8505 + "Maximum prefix length\n")
8507 +DEFSH (VTYSH_RIPD, show_ip_rip_status_cmd_vtysh,
8508 + "show ip rip status",
8509 + "Show running system information\n"
8510 + "IP information\n"
8511 + "Show RIP routes\n"
8512 + "IP routing protocol process parameters and statistics\n")
8514 +DEFSH (VTYSH_BGPD, no_ip_as_path_cmd_vtysh,
8515 + "no ip as-path access-list WORD (deny|permit) .LINE",
8516 + "Negate a command or set its defaults\n"
8517 + "IP information\n"
8518 + "BGP autonomous system path filter\n"
8519 + "Specify an access list name\n"
8520 + "Regular expression access list name\n"
8521 + "Specify packets to reject\n"
8522 + "Specify packets to forward\n"
8523 + "A regular-expression to match the BGP AS paths\n")
8525 +DEFSH (VTYSH_RIPNGD|VTYSH_BGPD, set_ipv6_nexthop_local_cmd_vtysh,
8526 + "set ipv6 next-hop local X:X::X:X",
8527 + "Set values in destination routing protocol\n"
8528 + "IPv6 information\n"
8529 + "IPv6 next-hop address\n"
8530 + "IPv6 local address\n"
8531 + "IPv6 address of next hop\n")
8533 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_any_cmd_vtysh,
8534 + "access-list WORD (deny|permit) any",
8535 + "Add an access list entry\n"
8536 + "IP zebra access-list name\n"
8537 + "Specify packets to reject\n"
8538 + "Specify packets to forward\n"
8539 + "Prefix to match. e.g. 10.0.0.0/8\n")
8541 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_all_soft_cmd_vtysh,
8542 + "clear bgp ipv6 * soft",
8543 + "Reset functions\n"
8544 + "BGP information\n"
8545 + "Address family\n"
8546 + "Clear all peers\n"
8547 + "Soft reconfig\n")
8549 +DEFSH (VTYSH_ZEBRA, ip_route_mask_distance_cmd_vtysh,
8550 + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) <1-255>",
8551 + "IP information\n"
8552 + "Establish static routes\n"
8553 + "IP destination prefix\n"
8554 + "IP destination prefix mask\n"
8555 + "IP gateway address\n"
8556 + "IP gateway interface name\n"
8557 + "Null interface\n"
8558 + "Distance value for this route\n")
8560 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_ipv4_soft_cmd_vtysh,
8561 + "clear ip bgp * ipv4 (unicast|multicast) soft",
8562 + "Reset functions\n"
8563 + "IP information\n"
8564 + "BGP information\n"
8565 + "Clear all peers\n"
8566 + "Address family\n"
8567 + "Address Family Modifier\n"
8568 + "Address Family Modifier\n"
8569 + "Soft reconfig\n")
8571 +DEFSH (VTYSH_BGPD, no_neighbor_attr_unchanged9_cmd_vtysh,
8572 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged med next-hop as-path",
8573 + "Negate a command or set its defaults\n"
8574 + "Specify neighbor router\n"
8575 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
8576 + "BGP attribute is propagated unchanged to this neighbor\n"
8577 + "Med attribute\n"
8578 + "Nexthop attribute\n"
8579 + "As-path attribute\n")
8581 +DEFSH (VTYSH_BGPD, set_community_none_cmd_vtysh,
8582 + "set community none",
8583 + "Set values in destination routing protocol\n"
8584 + "BGP community attribute\n"
8585 + "No community attribute\n")
8587 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_as_soft_cmd_vtysh,
8588 + "clear bgp ipv6 <1-65535> soft",
8589 + "Reset functions\n"
8590 + "BGP information\n"
8591 + "Address family\n"
8592 + "Clear peers with the AS number\n"
8593 + "Soft reconfig\n")
8595 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_group_in_cmd_vtysh,
8596 + "clear bgp ipv6 peer-group WORD in",
8597 + "Reset functions\n"
8598 + "BGP information\n"
8599 + "Address family\n"
8600 + "Clear all members of peer-group\n"
8601 + "BGP peer-group name\n"
8602 + "Soft reconfig inbound update\n")
8604 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_extended_any_host_cmd_vtysh,
8605 + "access-list (<100-199>|<2000-2699>) (deny|permit) ip any host A.B.C.D",
8606 + "Add an access list entry\n"
8607 + "IP extended access list\n"
8608 + "IP extended access list (expanded range)\n"
8609 + "Specify packets to reject\n"
8610 + "Specify packets to forward\n"
8611 + "Any Internet Protocol\n"
8612 + "Any source host\n"
8613 + "A single destination host\n"
8614 + "Destination address\n")
8616 +DEFSH (VTYSH_OSPFD, no_ospf_area_vlink_authkey_cmd_vtysh,
8617 + "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
8618 + "(authentication-key|)",
8619 + "Negate a command or set its defaults\n"
8620 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
8621 + "Authentication password (key)\n" "The OSPF password (key)")
8623 +DEFSH (VTYSH_OSPF6D, ospf6_redistribute_cmd_vtysh,
8624 + "redistribute (static|kernel|connected|ripng|bgp)",
8625 + "Redistribute\n"
8626 + "Static route\n"
8627 + "Kernel route\n"
8628 + "Connected route\n"
8629 + "RIPng route\n"
8630 + "BGP route\n"
8633 +DEFSH (VTYSH_BGPD, show_ip_extcommunity_list_arg_cmd_vtysh,
8634 + "show ip extcommunity-list (<1-199>|WORD)",
8635 + "Show running system information\n"
8636 + "IP information\n"
8637 + "List extended-community list\n"
8638 + "Extcommunity-list number\n"
8639 + "Extcommunity-list name\n")
8641 +DEFSH (VTYSH_OSPFD, show_ip_ospf_route_cmd_vtysh,
8642 + "show ip ospf route",
8643 + "Show running system information\n"
8644 + "IP information\n"
8645 + "OSPF information\n"
8646 + "OSPF routing table\n")
8648 +DEFSH (VTYSH_BGPD, old_no_ipv6_bgp_network_cmd_vtysh,
8649 + "no ipv6 bgp network X:X::X:X/M",
8650 + "Negate a command or set its defaults\n"
8651 + "IPv6 information\n"
8652 + "BGP information\n"
8653 + "Specify a network to announce via BGP\n"
8654 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n")
8656 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_ge_cmd_vtysh,
8657 + "no ip prefix-list WORD (deny|permit) A.B.C.D/M ge <0-32>",
8658 + "Negate a command or set its defaults\n"
8659 + "IP information\n"
8660 + "Build a prefix list\n"
8661 + "Name of a prefix list\n"
8662 + "Specify packets to reject\n"
8663 + "Specify packets to forward\n"
8664 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
8665 + "Minimum prefix length to be matched\n"
8666 + "Minimum prefix length\n")
8668 +DEFSH (VTYSH_ZEBRA, ip_route_mask_flags_cmd_vtysh,
8669 + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole)",
8670 + "IP information\n"
8671 + "Establish static routes\n"
8672 + "IP destination prefix\n"
8673 + "IP destination prefix mask\n"
8674 + "IP gateway address\n"
8675 + "IP gateway interface name\n"
8676 + "Emit an ICMP unreachable when matched\n"
8677 + "Silently discard pkts when matched\n")
8679 +DEFSH (VTYSH_RIPD, rip_distance_source_access_list_cmd_vtysh,
8680 + "distance <1-255> A.B.C.D/M WORD",
8681 + "Administrative distance\n"
8682 + "Distance value\n"
8683 + "IP source prefix\n"
8684 + "Access list name\n")
8686 +DEFSH (VTYSH_ZEBRA, ip_route_flags_distance2_cmd_vtysh,
8687 + "ip route A.B.C.D/M (reject|blackhole) <1-255>",
8688 + "IP information\n"
8689 + "Establish static routes\n"
8690 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
8691 + "Emit an ICMP unreachable when matched\n"
8692 + "Silently discard pkts when matched\n"
8693 + "Distance value for this route\n")
8695 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_cmd_vtysh,
8696 + "clear ip bgp *",
8697 + "Reset functions\n"
8698 + "IP information\n"
8699 + "BGP information\n"
8700 + "Clear all peers\n")
8702 +DEFSH (VTYSH_BGPD, show_ip_bgp_community3_cmd_vtysh,
8703 + "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
8704 + "Show running system information\n"
8705 + "IP information\n"
8706 + "BGP information\n"
8707 + "Display routes matching the communities\n"
8708 + "community number\n"
8709 + "Do not send outside local AS (well-known community)\n"
8710 + "Do not advertise to any peer (well-known community)\n"
8711 + "Do not export to next AS (well-known community)\n"
8712 + "community number\n"
8713 + "Do not send outside local AS (well-known community)\n"
8714 + "Do not advertise to any peer (well-known community)\n"
8715 + "Do not export to next AS (well-known community)\n"
8716 + "community number\n"
8717 + "Do not send outside local AS (well-known community)\n"
8718 + "Do not advertise to any peer (well-known community)\n"
8719 + "Do not export to next AS (well-known community)\n")
8721 +DEFSH (VTYSH_ZEBRA, label_map_fwd_cmd_vtysh,
8722 + "label-map <TYPE> <VALUE> FWD <INDEX>",
8723 + "Create a static incoming label-map (ILM)\n"
8724 + "Type of label <gen|atm|fr>\n"
8725 + "Value of the label gen = >16, atm = vpi/vci, fr = DLCI\n"
8726 + "Forward\n"
8727 + "NHLFE index\n")
8729 +DEFSH (VTYSH_RIPD, no_router_rip_cmd_vtysh,
8730 + "no router rip",
8731 + "Negate a command or set its defaults\n"
8732 + "Enable a routing process\n"
8733 + "Routing Information Protocol (RIP)\n")
8735 +DEFSH (VTYSH_ZEBRA, no_ip_address_cmd_vtysh,
8736 + "no ip address A.B.C.D/M",
8737 + "Negate a command or set its defaults\n"
8738 + "Interface Internet Protocol config commands\n"
8739 + "Set the IP address of an interface\n"
8740 + "IP Address (e.g. 10.0.0.1/8)")
8742 +DEFSH (VTYSH_BGPD, no_bgp_client_to_client_reflection_cmd_vtysh,
8743 + "no bgp client-to-client reflection",
8744 + "Negate a command or set its defaults\n"
8745 + "BGP specific commands\n"
8746 + "Configure client to client route reflection\n"
8747 + "reflection of routes allowed\n")
8749 +DEFSH (VTYSH_BGPD, clear_bgp_external_out_cmd_vtysh,
8750 + "clear bgp external out",
8751 + "Reset functions\n"
8752 + "BGP information\n"
8753 + "Clear all external peers\n"
8754 + "Soft reconfig outbound update\n")
8756 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_external_inter_cmd_vtysh,
8757 + "distance ospf external <1-255> inter-area <1-255>",
8758 + "Define an administrative distance\n"
8759 + "OSPF Administrative distance\n"
8760 + "External routes\n"
8761 + "Distance for external routes\n"
8762 + "Inter-area routes\n"
8763 + "Distance for inter-area routes\n")
8765 +DEFSH (VTYSH_BGPD, no_ip_extcommunity_list_name_all_cmd_vtysh,
8766 + "no ip extcommunity-list (standard|expanded) WORD",
8767 + "Negate a command or set its defaults\n"
8768 + "IP information\n"
8769 + "Add a extended community list entry\n"
8770 + "Specify standard extcommunity-list\n"
8771 + "Specify expanded extcommunity-list\n"
8772 + "Extended Community list name\n")
8774 +DEFSH (VTYSH_BGPD, show_bgp_neighbor_advertised_route_cmd_vtysh,
8775 + "show bgp neighbors (A.B.C.D|X:X::X:X) advertised-routes",
8776 + "Show running system information\n"
8777 + "BGP information\n"
8778 + "Detailed information on TCP and BGP neighbor connections\n"
8779 + "Neighbor to display information about\n"
8780 + "Neighbor to display information about\n"
8781 + "Display the routes advertised to a BGP neighbor\n")
8783 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_ipv4_soft_out_cmd_vtysh,
8784 + "clear ip bgp * ipv4 (unicast|multicast) soft out",
8785 + "Reset functions\n"
8786 + "IP information\n"
8787 + "BGP information\n"
8788 + "Clear all peers\n"
8789 + "Address family\n"
8790 + "Address Family modifier\n"
8791 + "Address Family modifier\n"
8792 + "Soft reconfig\n"
8793 + "Soft reconfig outbound update\n")
8795 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_group_out_cmd_vtysh,
8796 + "clear bgp ipv6 peer-group WORD out",
8797 + "Reset functions\n"
8798 + "BGP information\n"
8799 + "Address family\n"
8800 + "Clear all members of peer-group\n"
8801 + "BGP peer-group name\n"
8802 + "Soft reconfig outbound update\n")
8804 +DEFSH (VTYSH_BGPD, no_aggregate_address_mask_cmd_vtysh,
8805 + "no aggregate-address A.B.C.D A.B.C.D",
8806 + "Negate a command or set its defaults\n"
8807 + "Configure BGP aggregate entries\n"
8808 + "Aggregate address\n"
8809 + "Aggregate mask\n")
8811 +DEFSH (VTYSH_BGPD, show_ip_bgp_scan_cmd_vtysh,
8812 + "show ip bgp scan",
8813 + "Show running system information\n"
8814 + "IP information\n"
8815 + "BGP information\n"
8816 + "BGP scan status\n")
8818 +DEFSH (VTYSH_ZEBRA, ipv6_route_ifname_flags_pref_cmd_vtysh,
8819 + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) <1-255>",
8820 + "IP information\n"
8821 + "Establish static routes\n"
8822 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
8823 + "IPv6 gateway address\n"
8824 + "IPv6 gateway interface name\n"
8825 + "Emit an ICMP unreachable when matched\n"
8826 + "Silently discard pkts when matched\n"
8827 + "Distance value for this prefix\n")
8829 +DEFSH (VTYSH_BGPD, no_neighbor_send_community_type_cmd_vtysh,
8830 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "send-community (both|extended|standard)",
8831 + "Negate a command or set its defaults\n"
8832 + "Specify neighbor router\n"
8833 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
8834 + "Send Community attribute to this neighbor\n"
8835 + "Send Standard and Extended Community attributes\n"
8836 + "Send Extended Community attributes\n"
8837 + "Send Standard Community attributes\n")
8839 +DEFSH (VTYSH_BGPD, set_originator_id_cmd_vtysh,
8840 + "set originator-id A.B.C.D",
8841 + "Set values in destination routing protocol\n"
8842 + "BGP originator ID attribute\n"
8843 + "IP address of originator\n")
8845 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_community_all_cmd_vtysh,
8846 + "show ip bgp ipv4 (unicast|multicast) community",
8847 + "Show running system information\n"
8848 + "IP information\n"
8849 + "BGP information\n"
8850 + "Address family\n"
8851 + "Address Family modifier\n"
8852 + "Address Family modifier\n"
8853 + "Display routes matching the communities\n")
8855 +DEFSH (VTYSH_RIPD, accept_lifetime_month_day_month_day_cmd_vtysh,
8856 + "accept-lifetime HH:MM:SS MONTH <1-31> <1993-2035> HH:MM:SS MONTH <1-31> <1993-2035>",
8857 + "Set accept lifetime of the key\n"
8858 + "Time to start\n"
8859 + "Month of the year to start\n"
8860 + "Day of th month to start\n"
8861 + "Year to start\n"
8862 + "Time to expire\n"
8863 + "Month of the year to expire\n"
8864 + "Day of th month to expire\n"
8865 + "Year to expire\n")
8867 +DEFSH (VTYSH_OSPFD, ospf_network_area_cmd_vtysh,
8868 + "network A.B.C.D/M area (A.B.C.D|<0-4294967295>)",
8869 + "Enable routing on an IP network\n"
8870 + "OSPF network prefix\n"
8871 + "Set the OSPF area ID\n"
8872 + "OSPF area ID in IP address format\n"
8873 + "OSPF area ID as a decimal value\n")
8875 +DEFSH (VTYSH_BGPD, debug_bgp_keepalive_cmd_vtysh,
8876 + "debug bgp keepalives",
8877 + "Debugging functions (see also 'undebug')\n"
8878 + "BGP information\n"
8879 + "BGP keepalives\n")
8881 +DEFSH (VTYSH_OSPFD, no_debug_ospf_ism_sub_cmd_vtysh,
8882 + "no debug ospf ism (status|events|timers)",
8883 + "Negate a command or set its defaults\n"
8884 + "Debugging functions\n"
8885 + "OSPF information\n"
8886 + "OSPF Interface State Machine\n"
8887 + "ISM Status Information\n"
8888 + "ISM Event Information\n"
8889 + "ISM Timer Information\n")
8891 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_description_cmd_vtysh,
8892 + "no ip prefix-list WORD description",
8893 + "Negate a command or set its defaults\n"
8894 + "IP information\n"
8895 + "Build a prefix list\n"
8896 + "Name of a prefix list\n"
8897 + "Prefix-list specific description\n")
8899 +DEFSH (VTYSH_OSPFD|VTYSH_OSPFD, show_ip_ospf_neighbor_id_cmd_vtysh,
8900 + "show ip ospf neighbor A.B.C.D",
8901 + "Show running system information\n"
8902 + "IP information\n"
8903 + "OSPF information\n"
8904 + "Neighbor list\n"
8905 + "Neighbor ID\n")
8907 +DEFSH (VTYSH_BGPD, clear_ip_bgp_external_soft_cmd_vtysh,
8908 + "clear ip bgp external soft",
8909 + "Reset functions\n"
8910 + "IP information\n"
8911 + "BGP information\n"
8912 + "Clear all external peers\n"
8913 + "Soft reconfig\n")
8915 +DEFSH (VTYSH_OSPFD, show_ip_ospf_database_type_self_cmd_vtysh,
8916 + "show ip ospf database (" "asbr-summary|external|network|router|summary" "" "" ") (self-originate|)",
8917 + "Show running system information\n"
8918 + "IP information\n"
8919 + "OSPF information\n"
8920 + "Database summary\n"
8921 + "ASBR summary link states\n" "External link states\n" "Network link states\n" "Router link states\n" "Network summary link states\n" "" "" "" ""
8922 + "Self-originated link states\n")
8924 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_prefix_list_cmd_vtysh,
8925 + "show bgp ipv6 prefix-list WORD",
8926 + "Show running system information\n"
8927 + "BGP information\n"
8928 + "Address family\n"
8929 + "Display routes conforming to the prefix-list\n"
8930 + "IPv6 prefix-list name\n")
8932 +DEFSH (VTYSH_ZEBRA, show_table_cmd_vtysh,
8933 + "show table",
8934 + "Show running system information\n"
8935 + "default routing table to use for all clients\n")
8937 +DEFSH (VTYSH_OSPFD, ip_ospf_retransmit_interval_cmd_vtysh,
8938 + "ip ospf retransmit-interval <3-65535>",
8939 + "IP Information\n"
8940 + "OSPF interface commands\n"
8941 + "Time between retransmitting lost link state advertisements\n"
8942 + "Seconds\n")
8944 +DEFSH (VTYSH_BGPD, no_bgp_multiple_instance_cmd_vtysh,
8945 + "no bgp multiple-instance",
8946 + "Negate a command or set its defaults\n"
8947 + "BGP information\n"
8948 + "BGP multiple instance\n")
8950 +DEFSH (VTYSH_OSPFD, ip_ospf_cost_cmd_vtysh,
8951 + "ip ospf cost <1-65535>",
8952 + "IP Information\n"
8953 + "OSPF interface commands\n"
8954 + "Interface cost\n"
8955 + "Cost")
8957 +DEFSH (VTYSH_OSPF6D, ospf6_interface_area_plist_passive_cmd_vtysh,
8958 + "interface IFNAME area A.B.C.D prefix-list WORD passive",
8959 + "Enable routing on an IPv6 interface\n"
8960 + "Interface name(e.g. ep0)\n"
8961 + "Set the OSPF6 area ID\n"
8962 + "OSPF6 area ID in IPv4 address notation\n"
8963 + "Advertise I/F Address only match entries of prefix-list\n"
8964 + "IPv6 prefix-list name\n"
8965 + "IPv6 prefix-list name\n"
8966 + "Suppress routing updates on an interface\n"
8969 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_interface_ifname_cmd_vtysh,
8970 + "show ipv6 ospf6 interface IFNAME",
8971 + "Show running system information\n"
8972 + "IPv6 Information\n"
8973 + "Open Shortest Path First (OSPF) for IPv6\n"
8974 + "Interface infomation\n"
8975 + "Interface name(e.g. ep0)\n"
8978 +DEFSH (VTYSH_BGPD, no_bgp_router_id_cmd_vtysh,
8979 + "no bgp router-id",
8980 + "Negate a command or set its defaults\n"
8981 + "BGP information\n"
8982 + "Override configured router identifier\n")
8984 +DEFSH (VTYSH_RIPNGD, ripng_default_metric_cmd_vtysh,
8985 + "default-metric <1-16>",
8986 + "Set a metric of redistribute routes\n"
8987 + "Default metric\n")
8989 +DEFSH (VTYSH_OSPFD, no_ospf_area_import_list_cmd_vtysh,
8990 + "no area (A.B.C.D|<0-4294967295>) import-list NAME",
8991 + "Negate a command or set its defaults\n"
8992 + "OSPF area parameters\n"
8993 + "OSPF area ID in IP address format\n"
8994 + "OSPF area ID as a decimal value\n"
8995 + "Unset the filter for networks announced to other areas\n"
8996 + "Name of the access-list\n")
8998 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD, no_route_map_all_cmd_vtysh,
8999 + "no route-map WORD",
9000 + "Negate a command or set its defaults\n"
9001 + "Create route-map or enter route-map command mode\n"
9002 + "Route map tag\n")
9004 +DEFSH (VTYSH_BGPD, ip_extcommunity_list_standard2_cmd_vtysh,
9005 + "ip extcommunity-list <1-99> (deny|permit)",
9006 + "IP information\n"
9007 + "Add a extended community list entry\n"
9008 + "Extended Community list number (standard)\n"
9009 + "Specify community to reject\n"
9010 + "Specify community to accept\n")
9012 +DEFSH (VTYSH_BGPD, neighbor_attr_unchanged9_cmd_vtysh,
9013 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged med next-hop as-path",
9014 + "Specify neighbor router\n"
9015 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
9016 + "BGP attribute is propagated unchanged to this neighbor\n"
9017 + "Med attribute\n"
9018 + "Nexthop attribute\n"
9019 + "As-path attribute\n")
9021 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_out_cmd_vtysh,
9022 + "clear bgp ipv6 (A.B.C.D|X:X::X:X) out",
9023 + "Reset functions\n"
9024 + "BGP information\n"
9025 + "Address family\n"
9026 + "BGP neighbor address to clear\n"
9027 + "BGP IPv6 neighbor to clear\n"
9028 + "Soft reconfig outbound update\n")
9030 +DEFSH (VTYSH_BGPD, no_set_community_delete_cmd_vtysh,
9031 + "no set comm-list",
9032 + "Negate a command or set its defaults\n"
9033 + "Set values in destination routing protocol\n"
9034 + "set BGP community list (for deletion)\n")
9036 +DEFSH (VTYSH_OSPFD, no_ospf_router_id_cmd_vtysh,
9037 + "no ospf router-id",
9038 + "Negate a command or set its defaults\n"
9039 + "OSPF specific commands\n"
9040 + "router-id for the OSPF process\n")
9042 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_extended_any_host_cmd_vtysh,
9043 + "no access-list (<100-199>|<2000-2699>) (deny|permit) ip any host A.B.C.D",
9044 + "Negate a command or set its defaults\n"
9045 + "Add an access list entry\n"
9046 + "IP extended access list\n"
9047 + "IP extended access list (expanded range)\n"
9048 + "Specify packets to reject\n"
9049 + "Specify packets to forward\n"
9050 + "Any Internet Protocol\n"
9051 + "Any source host\n"
9052 + "A single destination host\n"
9053 + "Destination address\n")
9055 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, show_ip_prefix_list_prefix_longer_cmd_vtysh,
9056 + "show ip prefix-list WORD A.B.C.D/M longer",
9057 + "Show running system information\n"
9058 + "IP information\n"
9059 + "Build a prefix list\n"
9060 + "Name of a prefix list\n"
9061 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
9062 + "Lookup longer prefix\n")
9064 +DEFSH (VTYSH_OSPF6D, ipv6_ospf6_deadinterval_cmd_vtysh,
9065 + "ipv6 ospf6 dead-interval ROUTER_DEAD_INTERVAL",
9066 + "IPv6 Information\n"
9067 + "Open Shortest Path First (OSPF) for IPv6\n"
9068 + "Interval after which a neighbor is declared dead\n"
9069 + "<1-65535> Seconds\n"
9072 +DEFSH (VTYSH_ZEBRA, show_ipv6_forwarding_cmd_vtysh,
9073 + "show ipv6 forwarding",
9074 + "Show running system information\n"
9075 + "IPv6 information\n"
9076 + "Forwarding status\n")
9078 +DEFSH (VTYSH_BGPD, debug_bgp_events_cmd_vtysh,
9079 + "debug bgp events",
9080 + "Debugging functions (see also 'undebug')\n"
9081 + "BGP information\n"
9082 + "BGP events\n")
9084 +DEFSH (VTYSH_BGPD, clear_ip_bgp_external_out_cmd_vtysh,
9085 + "clear ip bgp external out",
9086 + "Reset functions\n"
9087 + "IP information\n"
9088 + "BGP information\n"
9089 + "Clear all external peers\n"
9090 + "Soft reconfig outbound update\n")
9092 +DEFSH (VTYSH_BGPD, neighbor_attr_unchanged5_cmd_vtysh,
9093 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged as-path next-hop med",
9094 + "Specify neighbor router\n"
9095 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
9096 + "BGP attribute is propagated unchanged to this neighbor\n"
9097 + "As-path attribute\n"
9098 + "Nexthop attribute\n"
9099 + "Med attribute\n")
9101 +DEFSH (VTYSH_BGPD, no_bgp_network_route_map_cmd_vtysh,
9102 + "no network A.B.C.D/M route-map WORD",
9103 + "Negate a command or set its defaults\n"
9104 + "Specify a network to announce via BGP\n"
9105 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
9106 + "Route-map to modify the attributes\n"
9107 + "Name of the route map\n")
9109 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_ipv4_soft_out_cmd_vtysh,
9110 + "clear ip bgp <1-65535> ipv4 (unicast|multicast) soft out",
9111 + "Reset functions\n"
9112 + "IP information\n"
9113 + "BGP information\n"
9114 + "Clear peers with the AS number\n"
9115 + "Address family\n"
9116 + "Address Family modifier\n"
9117 + "Address Family modifier\n"
9118 + "Soft reconfig\n"
9119 + "Soft reconfig outbound update\n")
9121 +DEFSH (VTYSH_BGPD, ip_community_list_name_expanded_cmd_vtysh,
9122 + "ip community-list expanded WORD (deny|permit) .LINE",
9123 + "IP information\n"
9124 + "Add a community list entry\n"
9125 + "Add an expanded community-list entry\n"
9126 + "Community list name\n"
9127 + "Specify community to reject\n"
9128 + "Specify community to accept\n"
9129 + "An ordered list as a regular-expression\n")
9131 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_extended_mask_any_cmd_vtysh,
9132 + "no access-list (<100-199>|<2000-2699>) (deny|permit) ip A.B.C.D A.B.C.D any",
9133 + "Negate a command or set its defaults\n"
9134 + "Add an access list entry\n"
9135 + "IP extended access list\n"
9136 + "IP extended access list (expanded range)\n"
9137 + "Specify packets to reject\n"
9138 + "Specify packets to forward\n"
9139 + "Any Internet Protocol\n"
9140 + "Source address\n"
9141 + "Source wildcard bits\n"
9142 + "Any destination host\n")
9144 +DEFSH (VTYSH_BGPD, bgp_config_type_cmd_vtysh,
9145 + "bgp config-type (cisco|zebra)",
9146 + "BGP information\n"
9147 + "Configuration type\n"
9148 + "cisco\n"
9149 + "zebra\n")
9151 +DEFSH (VTYSH_BGPD, no_match_community_val_cmd_vtysh,
9152 + "no match community (<1-99>|<100-199>|WORD)",
9153 + "Negate a command or set its defaults\n"
9154 + "Match values from routing table\n"
9155 + "Match BGP community list\n"
9156 + "Community-list number (standard)\n"
9157 + "Community-list number (expanded)\n"
9158 + "Community-list name\n")
9160 +DEFSH (VTYSH_BGPD, debug_bgp_update_direct_cmd_vtysh,
9161 + "debug bgp updates (in|out)",
9162 + "Debugging functions (see also 'undebug')\n"
9163 + "BGP information\n"
9164 + "BGP updates\n"
9165 + "Inbound updates\n"
9166 + "Outbound updates\n")
9168 +DEFSH (VTYSH_BGPD, show_ip_bgp_attr_info_cmd_vtysh,
9169 + "show ip bgp attribute-info",
9170 + "Show running system information\n"
9171 + "IP information\n"
9172 + "BGP information\n"
9173 + "List all bgp attribute information\n")
9175 +DEFSH (VTYSH_BGPD, show_bgp_neighbor_routes_cmd_vtysh,
9176 + "show bgp neighbors (A.B.C.D|X:X::X:X) routes",
9177 + "Show running system information\n"
9178 + "BGP information\n"
9179 + "Detailed information on TCP and BGP neighbor connections\n"
9180 + "Neighbor to display information about\n"
9181 + "Neighbor to display information about\n"
9182 + "Display routes learned from neighbor\n")
9184 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_vpnv4_in_cmd_vtysh,
9185 + "clear ip bgp <1-65535> vpnv4 unicast in",
9186 + "Reset functions\n"
9187 + "IP information\n"
9188 + "BGP information\n"
9189 + "Clear peers with the AS number\n"
9190 + "Address family\n"
9191 + "Address Family modifier\n"
9192 + "Soft reconfig inbound update\n")
9194 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_group_out_cmd_vtysh,
9195 + "clear ip bgp peer-group WORD out",
9196 + "Reset functions\n"
9197 + "IP information\n"
9198 + "BGP information\n"
9199 + "Clear all members of peer-group\n"
9200 + "BGP peer-group name\n"
9201 + "Soft reconfig outbound update\n")
9203 +DEFSH (VTYSH_BGPD, aggregate_address_as_set_cmd_vtysh,
9204 + "aggregate-address A.B.C.D/M as-set",
9205 + "Configure BGP aggregate entries\n"
9206 + "Aggregate prefix\n"
9207 + "Generate AS set path information\n")
9209 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_as_in_prefix_filter_cmd_vtysh,
9210 + "clear bgp ipv6 <1-65535> in prefix-filter",
9211 + "Reset functions\n"
9212 + "BGP information\n"
9213 + "Address family\n"
9214 + "Clear peers with the AS number\n"
9215 + "Soft reconfig inbound update\n"
9216 + "Push out prefix-list ORF and do inbound soft reconfig\n")
9218 +DEFSH (VTYSH_BGPD, show_ip_bgp_route_map_cmd_vtysh,
9219 + "show ip bgp route-map WORD",
9220 + "Show running system information\n"
9221 + "IP information\n"
9222 + "BGP information\n"
9223 + "Display routes matching the route-map\n"
9224 + "A route-map to match on\n")
9226 +DEFSH (VTYSH_BGPD, bgp_network_cmd_vtysh,
9227 + "network A.B.C.D/M",
9228 + "Specify a network to announce via BGP\n"
9229 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
9231 +DEFSH (VTYSH_BGPD, no_dump_bgp_all_cmd_vtysh,
9232 + "no dump bgp all [PATH] [INTERVAL]",
9233 + "Negate a command or set its defaults\n"
9234 + "Dump packet\n"
9235 + "BGP packet dump\n"
9236 + "Dump all BGP packets\n")
9238 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_standard_cmd_vtysh,
9239 + "no access-list (<1-99>|<1300-1999>) (deny|permit) A.B.C.D A.B.C.D",
9240 + "Negate a command or set its defaults\n"
9241 + "Add an access list entry\n"
9242 + "IP standard access list\n"
9243 + "IP standard access list (expanded range)\n"
9244 + "Specify packets to reject\n"
9245 + "Specify packets to forward\n"
9246 + "Address to match\n"
9247 + "Wildcard bits\n")
9249 +DEFSH (VTYSH_BGPD, show_ip_bgp_summary_cmd_vtysh,
9250 + "show ip bgp summary",
9251 + "Show running system information\n"
9252 + "IP information\n"
9253 + "BGP information\n"
9254 + "Summary of BGP neighbor status\n")
9256 +DEFSH (VTYSH_BGPD, clear_ip_bgp_external_ipv4_soft_cmd_vtysh,
9257 + "clear ip bgp external ipv4 (unicast|multicast) soft",
9258 + "Reset functions\n"
9259 + "IP information\n"
9260 + "BGP information\n"
9261 + "Clear all external peers\n"
9262 + "Address family\n"
9263 + "Address Family modifier\n"
9264 + "Address Family modifier\n"
9265 + "Soft reconfig\n")
9267 +DEFSH (VTYSH_OSPFD, ospf_transmit_delay_cmd_vtysh,
9268 + "ospf transmit-delay <1-65535>",
9269 + "OSPF interface commands\n"
9270 + "Link state transmit delay\n"
9271 + "Seconds\n")
9273 +DEFSH (VTYSH_OSPFD, no_debug_ospf_nsm_sub_cmd_vtysh,
9274 + "no debug ospf nsm (status|events|timers)",
9275 + "Negate a command or set its defaults\n"
9276 + "Debugging functions\n"
9277 + "OSPF information\n"
9278 + "OSPF Interface State Machine\n"
9279 + "NSM Status Information\n"
9280 + "NSM Event Information\n"
9281 + "NSM Timer Information\n")
9283 +DEFSH (VTYSH_BGPD, old_ipv6_aggregate_address_summary_only_cmd_vtysh,
9284 + "ipv6 bgp aggregate-address X:X::X:X/M summary-only",
9285 + "IPv6 information\n"
9286 + "BGP information\n"
9287 + "Configure BGP aggregate entries\n"
9288 + "Aggregate prefix\n"
9289 + "Filter more specific routes from updates\n")
9291 +DEFSH (VTYSH_BGPD, ip_extcommunity_list_expanded_cmd_vtysh,
9292 + "ip extcommunity-list <100-199> (deny|permit) .LINE",
9293 + "IP information\n"
9294 + "Add a extended community list entry\n"
9295 + "Extended Community list number (expanded)\n"
9296 + "Specify community to reject\n"
9297 + "Specify community to accept\n"
9298 + "An ordered list as a regular-expression\n")
9300 +DEFSH (VTYSH_BGPD, match_community_exact_cmd_vtysh,
9301 + "match community (<1-99>|<100-199>|WORD) exact-match",
9302 + "Match values from routing table\n"
9303 + "Match BGP community list\n"
9304 + "Community-list number (standard)\n"
9305 + "Community-list number (expanded)\n"
9306 + "Community-list name\n"
9307 + "Do exact matching of communities\n")
9309 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_community_list_cmd_vtysh,
9310 + "show ipv6 bgp community-list WORD",
9311 + "Show running system information\n"
9312 + "IPv6 information\n"
9313 + "BGP information\n"
9314 + "Display routes matching the community-list\n"
9315 + "community-list name\n")
9317 +DEFSH (VTYSH_RIPD, no_ip_rip_authentication_mode_cmd_vtysh,
9318 + "no ip rip authentication mode",
9319 + "Negate a command or set its defaults\n"
9320 + "IP information\n"
9321 + "Routing Information Protocol\n"
9322 + "Authentication control\n"
9323 + "Authentication mode\n")
9325 +DEFSH (VTYSH_BGPD, neighbor_dont_capability_negotiate_cmd_vtysh,
9326 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "dont-capability-negotiate",
9327 + "Specify neighbor router\n"
9328 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
9329 + "Do not perform capability negotiation\n")
9331 +DEFSH (VTYSH_ZEBRA, ip_route_flags_cmd_vtysh,
9332 + "ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole)",
9333 + "IP information\n"
9334 + "Establish static routes\n"
9335 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
9336 + "IP gateway address\n"
9337 + "IP gateway interface name\n"
9338 + "Emit an ICMP unreachable when matched\n"
9339 + "Silently discard pkts when matched\n")
9341 +DEFSH (VTYSH_OSPFD, ip_ospf_priority_cmd_vtysh,
9342 + "ip ospf priority <0-255>",
9343 + "IP Information\n"
9344 + "OSPF interface commands\n"
9345 + "Router priority\n"
9346 + "Priority\n")
9348 +DEFSH (VTYSH_BGPD, show_ip_bgp_regexp_cmd_vtysh,
9349 + "show ip bgp regexp .LINE",
9350 + "Show running system information\n"
9351 + "IP information\n"
9352 + "BGP information\n"
9353 + "Display routes matching the AS path regular expression\n"
9354 + "A regular-expression to match the BGP AS paths\n")
9356 +DEFSH (VTYSH_BGPD, show_debugging_bgp_cmd_vtysh,
9357 + "show debugging bgp",
9358 + "Show running system information\n"
9359 + "Debugging functions (see also 'undebug')\n"
9360 + "BGP information\n")
9362 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_inter_external_cmd_vtysh,
9363 + "distance ospf inter-area <1-255> external <1-255>",
9364 + "Define an administrative distance\n"
9365 + "OSPF Administrative distance\n"
9366 + "Inter-area routes\n"
9367 + "Distance for inter-area routes\n"
9368 + "External routes\n"
9369 + "Distance for external routes\n")
9371 +DEFSH (VTYSH_OSPFD, no_ospf_neighbor_cmd_vtysh,
9372 + "no neighbor A.B.C.D",
9373 + "Negate a command or set its defaults\n"
9374 + "Specify neighbor router\n"
9375 + "Neighbor IP address\n")
9377 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_prefix_list_seq_le_ge_cmd_vtysh,
9378 + "ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M le <0-128> ge <0-128>",
9379 + "IPv6 information\n"
9380 + "Build a prefix list\n"
9381 + "Name of a prefix list\n"
9382 + "sequence number of an entry\n"
9383 + "Sequence number\n"
9384 + "Specify packets to reject\n"
9385 + "Specify packets to forward\n"
9386 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
9387 + "Maximum prefix length to be matched\n"
9388 + "Maximum prefix length\n"
9389 + "Minimum prefix length to be matched\n"
9390 + "Minimum prefix length\n")
9392 +DEFSH (VTYSH_OSPFD, ospf_area_vlink_authtype_args_md5_cmd_vtysh,
9393 + "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
9394 + "(authentication|) (message-digest|null) "
9395 + "(message-digest-key|) <1-255> md5 KEY",
9396 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
9397 + "Enable authentication on this virtual link\n" "dummy string \n" "Use null authentication\n" "Use message-digest authentication\n"
9398 + "Message digest authentication password (key)\n" "dummy string \n" "Key ID\n" "Use MD5 algorithm\n" "The OSPF password (key)")
9400 +DEFSH (VTYSH_RIPD, rip_timers_cmd_vtysh,
9401 + "timers basic <5-2147483647> <5-2147483647> <5-2147483647>",
9402 + "Adjust routing timers\n"
9403 + "Basic routing protocol update timers\n"
9404 + "Routing table update timer value in second. Default is 30.\n"
9405 + "Routing information timeout timer. Default is 180.\n"
9406 + "Garbage collection timer. Default is 120.\n")
9408 +DEFSH (VTYSH_BGPD, bgp_redistribute_ipv6_metric_rmap_cmd_vtysh,
9409 + "redistribute (connected|kernel|ospf6|ripng|static) metric <0-4294967295> route-map WORD",
9410 + "Redistribute information from another routing protocol\n"
9411 + "Connected\n"
9412 + "Kernel routes\n"
9413 + "Open Shurtest Path First (OSPFv3)\n"
9414 + "Routing Information Protocol (RIPng)\n"
9415 + "Static routes\n"
9416 + "Metric for redistributed routes\n"
9417 + "Default metric\n"
9418 + "Route map reference\n"
9419 + "Pointer to route-map entries\n")
9421 +DEFSH (VTYSH_ZEBRA, no_ipv6_route_cmd_vtysh,
9422 + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE)",
9423 + "Negate a command or set its defaults\n"
9424 + "IP information\n"
9425 + "Establish static routes\n"
9426 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
9427 + "IPv6 gateway address\n"
9428 + "IPv6 gateway interface name\n")
9430 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, ip_prefix_list_seq_cmd_vtysh,
9431 + "ip prefix-list WORD seq <1-4294967295> (deny|permit) (A.B.C.D/M|any)",
9432 + "IP information\n"
9433 + "Build a prefix list\n"
9434 + "Name of a prefix list\n"
9435 + "sequence number of an entry\n"
9436 + "Sequence number\n"
9437 + "Specify packets to reject\n"
9438 + "Specify packets to forward\n"
9439 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
9440 + "Any prefix match. Same as \"0.0.0.0/0 le 32\"\n")
9442 +DEFSH (VTYSH_BGPD, show_bgp_community_list_cmd_vtysh,
9443 + "show bgp community-list WORD",
9444 + "Show running system information\n"
9445 + "BGP information\n"
9446 + "Display routes matching the community-list\n"
9447 + "community-list name\n")
9449 +DEFSH (VTYSH_OSPF6D, show_zebra_cmd_vtysh,
9450 + "show zebra",
9451 + "Show running system information\n"
9452 + "Zebra information\n")
9454 +DEFSH (VTYSH_BGPD, clear_bgp_peer_group_in_prefix_filter_cmd_vtysh,
9455 + "clear bgp peer-group WORD in prefix-filter",
9456 + "Reset functions\n"
9457 + "BGP information\n"
9458 + "Clear all members of peer-group\n"
9459 + "BGP peer-group name\n"
9460 + "Soft reconfig inbound update\n"
9461 + "Push out prefix-list ORF and do inbound soft reconfig\n")
9463 +DEFSH (VTYSH_BGPD, bgp_network_backdoor_cmd_vtysh,
9464 + "network A.B.C.D/M backdoor",
9465 + "Specify a network to announce via BGP\n"
9466 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
9467 + "Specify a BGP backdoor route\n")
9469 +DEFSH (VTYSH_RIPNGD, no_ripng_timers_val_cmd_vtysh,
9470 + "no timers basic <0-65535> <0-65535> <0-65535>",
9471 + "Negate a command or set its defaults\n"
9472 + "RIPng timers setup\n"
9473 + "Basic timer\n"
9474 + "Routing table update timer value in second. Default is 30.\n"
9475 + "Routing information timeout timer. Default is 180.\n"
9476 + "Garbage collection timer. Default is 120.\n")
9478 +DEFSH (VTYSH_BGPD, no_bgp_redistribute_ipv4_metric_cmd_vtysh,
9479 + "no redistribute (connected|kernel|ospf|rip|static) metric <0-4294967295>",
9480 + "Negate a command or set its defaults\n"
9481 + "Redistribute information from another routing protocol\n"
9482 + "Connected\n"
9483 + "Kernel routes\n"
9484 + "Open Shurtest Path First (OSPF)\n"
9485 + "Routing Information Protocol (RIP)\n"
9486 + "Static routes\n"
9487 + "Metric for redistributed routes\n"
9488 + "Default metric\n")
9490 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_summary_cmd_vtysh,
9491 + "show ipv6 mbgp summary",
9492 + "Show running system information\n"
9493 + "IPv6 information\n"
9494 + "MBGP information\n"
9495 + "Summary of BGP neighbor status\n")
9497 +DEFSH (VTYSH_RIPD, ip_rip_receive_version_1_cmd_vtysh,
9498 + "ip rip receive version 1 2",
9499 + "IP information\n"
9500 + "Routing Information Protocol\n"
9501 + "Advertisement reception\n"
9502 + "Version control\n"
9503 + "RIP version 1\n"
9504 + "RIP version 2\n")
9506 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, match_ip_address_cmd_vtysh,
9507 + "match ip address (<1-199>|<1300-2699>|WORD)",
9508 + "Match values from routing table\n"
9509 + "IP information\n"
9510 + "Match address of route\n"
9511 + "IP access-list number\n"
9512 + "IP access-list number (expanded range)\n"
9513 + "IP Access-list name\n")
9515 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_soft_out_cmd_vtysh,
9516 + "clear ip bgp A.B.C.D soft out",
9517 + "Reset functions\n"
9518 + "IP information\n"
9519 + "BGP information\n"
9520 + "BGP neighbor address to clear\n"
9521 + "Soft reconfig\n"
9522 + "Soft reconfig outbound update\n")
9524 +DEFSH (VTYSH_BGPD, no_neighbor_weight_val_cmd_vtysh,
9525 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "weight <0-65535>",
9526 + "Negate a command or set its defaults\n"
9527 + "Specify neighbor router\n"
9528 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
9529 + "Set default weight for routes from this neighbor\n"
9530 + "default weight\n")
9532 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_access_list_all_cmd_vtysh,
9533 + "no ipv6 access-list WORD",
9534 + "Negate a command or set its defaults\n"
9535 + "IPv6 information\n"
9536 + "Add an access list entry\n"
9537 + "IPv6 zebra access-list\n")
9539 +DEFSH (VTYSH_OSPFD, ip_ospf_authentication_addr_cmd_vtysh,
9540 + "ip ospf authentication A.B.C.D",
9541 + "IP Information\n"
9542 + "OSPF interface commands\n"
9543 + "Enable authentication on this interface\n"
9544 + "Address of interface")
9546 +DEFSH (VTYSH_BGPD, no_bgp_timers_arg_cmd_vtysh,
9547 + "no timers bgp <0-65535> <0-65535>",
9548 + "Negate a command or set its defaults\n"
9549 + "Adjust routing timers\n"
9550 + "BGP timers\n"
9551 + "Keepalive interval\n"
9552 + "Holdtime\n")
9554 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_always_type_routemap_cmd_vtysh,
9555 + "default-information originate always metric-type (1|2) route-map WORD",
9556 + "Control distribution of default information\n"
9557 + "Distribute a default route\n"
9558 + "Always advertise default route\n"
9559 + "OSPF metric type for default routes\n"
9560 + "Set OSPF External Type 1 metrics\n"
9561 + "Set OSPF External Type 2 metrics\n"
9562 + "Route map reference\n"
9563 + "Pointer to route-map entries\n")
9565 +DEFSH (VTYSH_RIPD, no_debug_rip_events_cmd_vtysh,
9566 + "no debug rip events",
9567 + "Negate a command or set its defaults\n"
9568 + "Debugging functions (see also 'undebug')\n"
9569 + "RIP information\n"
9570 + "RIP events\n")
9572 +DEFSH (VTYSH_OSPF6D, ospf6_interface_area_plist_cmd_vtysh,
9573 + "interface IFNAME area A.B.C.D prefix-list WORD",
9574 + "Enable routing on an IPv6 interface\n"
9575 + "Interface name(e.g. ep0)\n"
9576 + "Set the OSPF6 area ID\n"
9577 + "OSPF6 area ID in IPv4 address notation\n"
9578 + "Advertise I/F Address only match entries of prefix-list\n"
9579 + "IPv6 prefix-list name\n"
9582 +DEFSH (VTYSH_RIPD, no_rip_distance_source_access_list_cmd_vtysh,
9583 + "no distance <1-255> A.B.C.D/M WORD",
9584 + "Negate a command or set its defaults\n"
9585 + "Administrative distance\n"
9586 + "Distance value\n"
9587 + "IP source prefix\n"
9588 + "Access list name\n")
9590 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_filter_list_cmd_vtysh,
9591 + "show ipv6 bgp filter-list WORD",
9592 + "Show running system information\n"
9593 + "IPv6 information\n"
9594 + "BGP information\n"
9595 + "Display routes conforming to the filter-list\n"
9596 + "Regular expression access list name\n")
9598 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_all_tags_cmd_vtysh,
9599 + "show ip bgp vpnv4 all tags",
9600 + "Show running system information\n"
9601 + "IP information\n"
9602 + "BGP information\n"
9603 + "Display VPNv4 NLRI specific information\n"
9604 + "Display information about all VPNv4 NLRIs\n"
9605 + "Display BGP tags for prefixes\n")
9607 +DEFSH (VTYSH_OSPFD, no_ospf_passive_interface_cmd_vtysh,
9608 + "no passive-interface IFNAME",
9609 + "Negate a command or set its defaults\n"
9610 + "Allow routing updates on an interface\n"
9611 + "Interface's name\n")
9613 +DEFSH (VTYSH_RIPNGD, debug_ripng_packet_detail_cmd_vtysh,
9614 + "debug ripng packet (recv|send) detail",
9615 + "Debugging functions (see also 'undebug')\n"
9616 + "RIPng configuration\n"
9617 + "Debug option set for ripng packet\n"
9618 + "Debug option set for receive packet\n"
9619 + "Debug option set for send packet\n"
9620 + "Debug option set detaied information\n")
9622 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_prefix_cmd_vtysh,
9623 + "show bgp ipv6 X:X::X:X/M",
9624 + "Show running system information\n"
9625 + "BGP information\n"
9626 + "Address family\n"
9627 + "IPv6 prefix <network>/<length>\n")
9629 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_le_cmd_vtysh,
9630 + "no ip prefix-list WORD (deny|permit) A.B.C.D/M le <0-32>",
9631 + "Negate a command or set its defaults\n"
9632 + "IP information\n"
9633 + "Build a prefix list\n"
9634 + "Name of a prefix list\n"
9635 + "Specify packets to reject\n"
9636 + "Specify packets to forward\n"
9637 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
9638 + "Maximum prefix length to be matched\n"
9639 + "Maximum prefix length\n")
9641 +DEFSH (VTYSH_RIPNGD, debug_ripng_packet_direct_cmd_vtysh,
9642 + "debug ripng packet (recv|send)",
9643 + "Debugging functions (see also 'undebug')\n"
9644 + "RIPng configuration\n"
9645 + "Debug option set for ripng packet\n"
9646 + "Debug option set for receive packet\n"
9647 + "Debug option set for send packet\n")
9649 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_external_in_cmd_vtysh,
9650 + "clear bgp ipv6 external WORD in",
9651 + "Reset functions\n"
9652 + "BGP information\n"
9653 + "Address family\n"
9654 + "Clear all external peers\n"
9655 + "Soft reconfig inbound update\n")
9657 +DEFSH (VTYSH_BGPD, show_bgp_community3_cmd_vtysh,
9658 + "show bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
9659 + "Show running system information\n"
9660 + "BGP information\n"
9661 + "Display routes matching the communities\n"
9662 + "community number\n"
9663 + "Do not send outside local AS (well-known community)\n"
9664 + "Do not advertise to any peer (well-known community)\n"
9665 + "Do not export to next AS (well-known community)\n"
9666 + "community number\n"
9667 + "Do not send outside local AS (well-known community)\n"
9668 + "Do not advertise to any peer (well-known community)\n"
9669 + "Do not export to next AS (well-known community)\n"
9670 + "community number\n"
9671 + "Do not send outside local AS (well-known community)\n"
9672 + "Do not advertise to any peer (well-known community)\n"
9673 + "Do not export to next AS (well-known community)\n")
9675 +DEFSH (VTYSH_BGPD, clear_ip_bgp_external_ipv4_out_cmd_vtysh,
9676 + "clear ip bgp external ipv4 (unicast|multicast) out",
9677 + "Reset functions\n"
9678 + "IP information\n"
9679 + "BGP information\n"
9680 + "Clear all external peers\n"
9681 + "Address family\n"
9682 + "Address Family modifier\n"
9683 + "Address Family modifier\n"
9684 + "Soft reconfig outbound update\n")
9686 +DEFSH (VTYSH_BGPD, no_aggregate_address_cmd_vtysh,
9687 + "no aggregate-address A.B.C.D/M",
9688 + "Negate a command or set its defaults\n"
9689 + "Configure BGP aggregate entries\n"
9690 + "Aggregate prefix\n")
9692 +DEFSH (VTYSH_BGPD, no_neighbor_default_originate_rmap_cmd_vtysh,
9693 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "default-originate route-map WORD",
9694 + "Negate a command or set its defaults\n"
9695 + "Specify neighbor router\n"
9696 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
9697 + "Originate default route to this neighbor\n"
9698 + "Route-map to specify criteria to originate default\n"
9699 + "route-map name\n")
9701 +DEFSH (VTYSH_OSPFD, ospf_rfc1583_flag_cmd_vtysh,
9702 + "ospf rfc1583compatibility",
9703 + "OSPF specific commands\n"
9704 + "Enable the RFC1583Compatibility flag\n")
9706 +DEFSH (VTYSH_OSPF6D, ospf6_interface_area_cmd_vtysh,
9707 + "interface IFNAME area A.B.C.D",
9708 + "Enable routing on an IPv6 interface\n"
9709 + "Interface name(e.g. ep0)\n"
9710 + "Set the OSPF6 area ID\n"
9711 + "OSPF6 area ID in IPv4 address notation\n"
9714 +DEFSH (VTYSH_OSPF6D, ospf6_flap_damping_route_cmd_vtysh,
9715 + "flap-damping route <0-4294967295> <0-4294967295> "
9716 + "<0-4294967295> <0-4294967295>",
9717 + "enable flap dampening\n"
9718 + "enable route flap dampening\n"
9719 + "half-life in second\n"
9720 + "reuse value\n"
9721 + "suppress value\n"
9722 + "t-hold in second (maximum time that the target can be damped)\n"
9725 +DEFSH (VTYSH_BGPD, set_ecommunity_rt_cmd_vtysh,
9726 + "set extcommunity rt .ASN:nn_or_IP-address:nn",
9727 + "Set values in destination routing protocol\n"
9728 + "BGP extended community attribute\n"
9729 + "Route Target extened communityt\n"
9730 + "VPN extended community\n")
9732 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, show_ipv6_prefix_list_name_cmd_vtysh,
9733 + "show ipv6 prefix-list WORD",
9734 + "Show running system information\n"
9735 + "IPv6 information\n"
9736 + "Build a prefix list\n"
9737 + "Name of a prefix list\n")
9739 +DEFSH (VTYSH_BGPD, no_neighbor_soft_reconfiguration_cmd_vtysh,
9740 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "soft-reconfiguration inbound",
9741 + "Negate a command or set its defaults\n"
9742 + "Specify neighbor router\n"
9743 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
9744 + "Per neighbor soft reconfiguration\n"
9745 + "Allow inbound soft reconfiguration for this neighbor\n")
9747 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_camp_config_cmd_vtysh,
9748 + "show ipv6 ospf6 damp config",
9749 + "Show running system information\n"
9750 + "IPv6 Information\n"
9751 + "Open Shortest Path First (OSPF) for IPv6\n"
9752 + "Flap-dampening information\n"
9753 + "shows dampening configuration\n"
9756 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_group_soft_in_cmd_vtysh,
9757 + "clear bgp ipv6 peer-group WORD soft in",
9758 + "Reset functions\n"
9759 + "BGP information\n"
9760 + "Address family\n"
9761 + "Clear all members of peer-group\n"
9762 + "BGP peer-group name\n"
9763 + "Soft reconfig\n"
9764 + "Soft reconfig inbound update\n")
9766 +DEFSH (VTYSH_BGPD, show_bgp_route_map_cmd_vtysh,
9767 + "show bgp route-map WORD",
9768 + "Show running system information\n"
9769 + "BGP information\n"
9770 + "Display routes matching the route-map\n"
9771 + "A route-map to match on\n")
9773 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_inter_cmd_vtysh,
9774 + "distance ospf inter-area <1-255>",
9775 + "Define an administrative distance\n"
9776 + "OSPF Administrative distance\n"
9777 + "Inter-area routes\n"
9778 + "Distance for inter-area routes\n")
9780 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_as_out_cmd_vtysh,
9781 + "clear bgp ipv6 <1-65535> out",
9782 + "Reset functions\n"
9783 + "BGP information\n"
9784 + "Address family\n"
9785 + "Clear peers with the AS number\n"
9786 + "Soft reconfig outbound update\n")
9788 +DEFSH (VTYSH_RIPD, no_rip_offset_list_ifname_cmd_vtysh,
9789 + "no offset-list WORD (in|out) <0-16> IFNAME",
9790 + "Negate a command or set its defaults\n"
9791 + "Modify RIP metric\n"
9792 + "Access-list name\n"
9793 + "For incoming updates\n"
9794 + "For outgoing updates\n"
9795 + "Metric value\n"
9796 + "Interface to match\n")
9798 +DEFSH (VTYSH_BGPD, no_bgp_network_import_check_cmd_vtysh,
9799 + "no bgp network import-check",
9800 + "Negate a command or set its defaults\n"
9801 + "BGP specific commands\n"
9802 + "BGP network command\n"
9803 + "Check BGP network route exists in IGP\n")
9805 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_cmd_vtysh,
9806 + "no ipv6 prefix-list WORD",
9807 + "Negate a command or set its defaults\n"
9808 + "IPv6 information\n"
9809 + "Build a prefix list\n"
9810 + "Name of a prefix list\n")
9812 +DEFSH (VTYSH_RIPD, no_rip_route_cmd_vtysh,
9813 + "no route A.B.C.D/M",
9814 + "Negate a command or set its defaults\n"
9815 + "RIP static route configuration\n"
9816 + "IP prefix <network>/<length>\n")
9818 +DEFSH (VTYSH_BGPD, match_origin_cmd_vtysh,
9819 + "match origin (egp|igp|incomplete)",
9820 + "Match values from routing table\n"
9821 + "BGP origin code\n"
9822 + "remote EGP\n"
9823 + "local IGP\n"
9824 + "unknown heritage\n")
9826 +DEFSH (VTYSH_BGPD, clear_ip_bgp_dampening_prefix_cmd_vtysh,
9827 + "clear ip bgp dampening A.B.C.D/M",
9828 + "Reset functions\n"
9829 + "IP information\n"
9830 + "BGP information\n"
9831 + "Clear route flap dampening information\n"
9832 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
9834 +DEFSH (VTYSH_BGPD, no_bgp_default_local_preference_cmd_vtysh,
9835 + "no bgp default local-preference",
9836 + "Negate a command or set its defaults\n"
9837 + "BGP specific commands\n"
9838 + "Configure BGP defaults\n"
9839 + "local preference (higher=more preferred)\n")
9841 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_soft_out_cmd_vtysh,
9842 + "clear ip bgp <1-65535> soft out",
9843 + "Reset functions\n"
9844 + "IP information\n"
9845 + "BGP information\n"
9846 + "Clear peers with the AS number\n"
9847 + "Soft reconfig\n"
9848 + "Soft reconfig outbound update\n")
9850 +DEFSH (VTYSH_BGPD, no_ipv6_aggregate_address_summary_only_cmd_vtysh,
9851 + "no aggregate-address X:X::X:X/M summary-only",
9852 + "Negate a command or set its defaults\n"
9853 + "Configure BGP aggregate entries\n"
9854 + "Aggregate prefix\n"
9855 + "Filter more specific routes from updates\n")
9857 +DEFSH (VTYSH_BGPD, set_atomic_aggregate_cmd_vtysh,
9858 + "set atomic-aggregate",
9859 + "Set values in destination routing protocol\n"
9860 + "BGP atomic aggregate attribute\n" )
9862 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, show_ip_prefix_list_name_seq_cmd_vtysh,
9863 + "show ip prefix-list WORD seq <1-4294967295>",
9864 + "Show running system information\n"
9865 + "IP information\n"
9866 + "Build a prefix list\n"
9867 + "Name of a prefix list\n"
9868 + "sequence number of an entry\n"
9869 + "Sequence number\n")
9871 +DEFSH (VTYSH_BGPD, ip_extcommunity_list_name_standard2_cmd_vtysh,
9872 + "ip extcommunity-list standard WORD (deny|permit)",
9873 + "IP information\n"
9874 + "Add a extended community list entry\n"
9875 + "Specify standard extcommunity-list\n"
9876 + "Extended Community list name\n"
9877 + "Specify community to reject\n"
9878 + "Specify community to accept\n")
9880 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_metric_type_routemap_cmd_vtysh,
9881 + "default-information originate metric <0-16777214> metric-type (1|2) route-map WORD",
9882 + "Control distribution of default information\n"
9883 + "Distribute a default route\n"
9884 + "OSPF default metric\n"
9885 + "OSPF metric\n"
9886 + "OSPF metric type for default routes\n"
9887 + "Set OSPF External Type 1 metrics\n"
9888 + "Set OSPF External Type 2 metrics\n"
9889 + "Route map reference\n"
9890 + "Pointer to route-map entries\n")
9892 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, ip_prefix_list_ge_le_cmd_vtysh,
9893 + "ip prefix-list WORD (deny|permit) A.B.C.D/M ge <0-32> le <0-32>",
9894 + "IP information\n"
9895 + "Build a prefix list\n"
9896 + "Name of a prefix list\n"
9897 + "Specify packets to reject\n"
9898 + "Specify packets to forward\n"
9899 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
9900 + "Minimum prefix length to be matched\n"
9901 + "Minimum prefix length\n"
9902 + "Maximum prefix length to be matched\n"
9903 + "Maximum prefix length\n")
9905 +DEFSH (VTYSH_OSPFD, ospf_network_cmd_vtysh,
9906 + "ospf network (broadcast|non-broadcast|point-to-multipoint|point-to-point)",
9907 + "OSPF interface commands\n"
9908 + "Network type\n"
9909 + "Specify OSPF broadcast multi-access network\n"
9910 + "Specify OSPF NBMA network\n"
9911 + "Specify OSPF point-to-multipoint network\n"
9912 + "Specify OSPF point-to-point network\n")
9914 +DEFSH (VTYSH_RIPNGD, no_ripng_passive_interface_cmd_vtysh,
9915 + "no passive-interface IFNAME",
9916 + "Negate a command or set its defaults\n"
9917 + "Suppress routing updates on an interface\n"
9918 + "Interface name\n")
9920 +DEFSH (VTYSH_RIPD, no_if_rmap_cmd_vtysh,
9921 + "no route-map ROUTEMAP_NAME (in|out) IFNAME",
9922 + "Negate a command or set its defaults\n"
9923 + "Route map unset\n"
9924 + "Route map name\n"
9925 + "Route map for input filtering\n"
9926 + "Route map for output filtering\n"
9927 + "Route map interface name\n")
9929 +DEFSH (VTYSH_RIPNGD, no_debug_ripng_events_cmd_vtysh,
9930 + "no debug ripng events",
9931 + "Negate a command or set its defaults\n"
9932 + "Debugging functions (see also 'undebug')\n"
9933 + "RIPng configuration\n"
9934 + "Debug option set for ripng events\n")
9936 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_regexp_cmd_vtysh,
9937 + "show ipv6 bgp regexp .LINE",
9938 + "Show running system information\n"
9939 + "IP information\n"
9940 + "BGP information\n"
9941 + "Display routes matching the AS path regular expression\n"
9942 + "A regular-expression to match the BGP AS paths\n")
9944 +DEFSH (VTYSH_RIPD, no_ip_rip_split_horizon_cmd_vtysh,
9945 + "no ip rip split-horizon",
9946 + "Negate a command or set its defaults\n"
9947 + "IP information\n"
9948 + "Routing Information Protocol\n"
9949 + "Perform split horizon\n")
9951 +DEFSH (VTYSH_ZEBRA, debug_zebra_packet_cmd_vtysh,
9952 + "debug zebra packet",
9953 + "Debugging functions (see also 'undebug')\n"
9954 + "Zebra configuration\n"
9955 + "Debug option set for zebra packet\n")
9957 +DEFSH (VTYSH_OSPFD, show_ip_ospf_neighbor_detail_all_cmd_vtysh,
9958 + "show ip ospf neighbor detail all",
9959 + "Show running system information\n"
9960 + "IP information\n"
9961 + "OSPF information\n"
9962 + "Neighbor list\n"
9963 + "detail of all neighbors\n"
9964 + "include down status neighbor\n")
9966 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_vpnv4_out_cmd_vtysh,
9967 + "clear ip bgp A.B.C.D vpnv4 unicast out",
9968 + "Reset functions\n"
9969 + "IP information\n"
9970 + "BGP information\n"
9971 + "BGP neighbor address to clear\n"
9972 + "Address family\n"
9973 + "Address Family Modifier\n"
9974 + "Soft reconfig outbound update\n")
9976 +DEFSH (VTYSH_RIPD, no_rip_neighbor_cmd_vtysh,
9977 + "no neighbor A.B.C.D",
9978 + "Negate a command or set its defaults\n"
9979 + "Specify a neighbor router\n"
9980 + "Neighbor address\n")
9982 +DEFSH (VTYSH_BGPD, old_no_ipv6_aggregate_address_summary_only_cmd_vtysh,
9983 + "no ipv6 bgp aggregate-address X:X::X:X/M summary-only",
9984 + "Negate a command or set its defaults\n"
9985 + "IPv6 information\n"
9986 + "BGP information\n"
9987 + "Configure BGP aggregate entries\n"
9988 + "Aggregate prefix\n"
9989 + "Filter more specific routes from updates\n")
9991 +DEFSH (VTYSH_OSPFD, ip_ospf_authentication_args_cmd_vtysh,
9992 + "ip ospf authentication (null|message-digest)",
9993 + "IP Information\n"
9994 + "OSPF interface commands\n"
9995 + "Enable authentication on this interface\n"
9996 + "Use null authentication\n"
9997 + "Use message-digest authentication\n")
9999 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_BGPD, no_match_metric_cmd_vtysh,
10000 + "no match metric",
10001 + "Negate a command or set its defaults\n"
10002 + "Match values from routing table\n"
10003 + "Match metric of route\n")
10005 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_prefix_longer_cmd_vtysh,
10006 + "show ip bgp ipv4 (unicast|multicast) A.B.C.D/M longer-prefixes",
10007 + "Show running system information\n"
10008 + "IP information\n"
10009 + "BGP information\n"
10010 + "Address family\n"
10011 + "Address Family modifier\n"
10012 + "Address Family modifier\n"
10013 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
10014 + "Display route and more specific routes\n")
10016 +DEFSH (VTYSH_OSPFD, ospf_redistribute_source_metric_cmd_vtysh,
10017 + "redistribute (kernel|connected|static|rip|bgp) metric <0-16777214>",
10018 + "Redistribute information from another routing protocol\n"
10019 + "Kernel routes\n"
10020 + "Connected\n"
10021 + "Static routes\n"
10022 + "Routing Information Protocol (RIP)\n"
10023 + "Border Gateway Protocol (BGP)\n"
10024 + "Metric for redistributed routes\n"
10025 + "OSPF default metric\n")
10027 +DEFSH (VTYSH_BGPD, bgp_distance_source_access_list_cmd_vtysh,
10028 + "distance <1-255> A.B.C.D/M WORD",
10029 + "Define an administrative distance\n"
10030 + "Administrative distance\n"
10031 + "IP source prefix\n"
10032 + "Access list name\n")
10034 +DEFSH (VTYSH_RIPD, no_rip_version_cmd_vtysh,
10035 + "no version",
10036 + "Negate a command or set its defaults\n"
10037 + "Set routing protocol version\n")
10039 +DEFSH (VTYSH_OSPFD, no_ospf_passive_interface_addr_cmd_vtysh,
10040 + "no passive-interface IFNAME A.B.C.D",
10041 + "Negate a command or set its defaults\n"
10042 + "Allow routing updates on an interface\n"
10043 + "Interface's name\n")
10045 +DEFSH (VTYSH_BGPD, show_bgp_prefix_longer_cmd_vtysh,
10046 + "show bgp X:X::X:X/M longer-prefixes",
10047 + "Show running system information\n"
10048 + "BGP information\n"
10049 + "IPv6 prefix <network>/<length>\n"
10050 + "Display route and more specific routes\n")
10052 +DEFSH (VTYSH_BGPD, no_aggregate_address_summary_as_set_cmd_vtysh,
10053 + "no aggregate-address A.B.C.D/M summary-only as-set",
10054 + "Negate a command or set its defaults\n"
10055 + "Configure BGP aggregate entries\n"
10056 + "Aggregate prefix\n"
10057 + "Filter more specific routes from updates\n"
10058 + "Generate AS set path information\n")
10060 +DEFSH (VTYSH_BGPD, show_bgp_community_all_cmd_vtysh,
10061 + "show bgp community",
10062 + "Show running system information\n"
10063 + "BGP information\n"
10064 + "Display routes matching the communities\n")
10066 +DEFSH (VTYSH_BGPD, no_bgp_enforce_first_as_cmd_vtysh,
10067 + "no bgp enforce-first-as",
10068 + "Negate a command or set its defaults\n"
10069 + "BGP information\n"
10070 + "Enforce the first AS for EBGP routes\n")
10072 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_prefix_list_seq_ge_cmd_vtysh,
10073 + "ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M ge <0-128>",
10074 + "IPv6 information\n"
10075 + "Build a prefix list\n"
10076 + "Name of a prefix list\n"
10077 + "sequence number of an entry\n"
10078 + "Sequence number\n"
10079 + "Specify packets to reject\n"
10080 + "Specify packets to forward\n"
10081 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
10082 + "Minimum prefix length to be matched\n"
10083 + "Minimum prefix length\n")
10085 +DEFSH (VTYSH_ZEBRA, no_ipv6_forwarding_cmd_vtysh,
10086 + "no ipv6 forwarding",
10087 + "Negate a command or set its defaults\n"
10088 + "IP information\n"
10089 + "Doesn't forward IPv6 protocol packet")
10091 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_prefix_list_seq_ge_le_cmd_vtysh,
10092 + "ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M ge <0-128> le <0-128>",
10093 + "IPv6 information\n"
10094 + "Build a prefix list\n"
10095 + "Name of a prefix list\n"
10096 + "sequence number of an entry\n"
10097 + "Sequence number\n"
10098 + "Specify packets to reject\n"
10099 + "Specify packets to forward\n"
10100 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
10101 + "Minimum prefix length to be matched\n"
10102 + "Minimum prefix length\n"
10103 + "Maximum prefix length to be matched\n"
10104 + "Maximum prefix length\n")
10106 +DEFSH (VTYSH_OSPFD, no_ospf_refresh_timer_cmd_vtysh,
10107 + "no refresh timer",
10108 + "Adjust refresh parameters\n"
10109 + "Unset refresh timer\n")
10111 +DEFSH (VTYSH_RIPD, no_rip_default_metric_cmd_vtysh,
10112 + "no default-metric",
10113 + "Negate a command or set its defaults\n"
10114 + "Set a metric of redistribute routes\n"
10115 + "Default metric\n")
10117 +DEFSH (VTYSH_BGPD, clear_bgp_peer_soft_in_cmd_vtysh,
10118 + "clear bgp (A.B.C.D|X:X::X:X) soft in",
10119 + "Reset functions\n"
10120 + "BGP information\n"
10121 + "BGP neighbor address to clear\n"
10122 + "BGP IPv6 neighbor to clear\n"
10123 + "Soft reconfig\n"
10124 + "Soft reconfig inbound update\n")
10126 +DEFSH (VTYSH_BGPD, show_ip_bgp_flap_prefix_longer_cmd_vtysh,
10127 + "show ip bgp flap-statistics A.B.C.D/M longer-prefixes",
10128 + "Show running system information\n"
10129 + "IP information\n"
10130 + "BGP information\n"
10131 + "Display flap statistics of routes\n"
10132 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
10133 + "Display route and more specific routes\n")
10135 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_prefix_longer_cmd_vtysh,
10136 + "show bgp ipv6 X:X::X:X/M longer-prefixes",
10137 + "Show running system information\n"
10138 + "BGP information\n"
10139 + "Address family\n"
10140 + "IPv6 prefix <network>/<length>\n"
10141 + "Display route and more specific routes\n")
10143 +DEFSH (VTYSH_RIPNGD, ipv6_distribute_list_prefix_all_cmd_vtysh,
10144 + "distribute-list prefix WORD (in|out)",
10145 + "Filter networks in routing updates\n"
10146 + "Filter prefixes in routing updates\n"
10147 + "Name of an IP prefix-list\n"
10148 + "Filter incoming routing updates\n"
10149 + "Filter outgoing routing updates\n")
10151 +DEFSH (VTYSH_BGPD, ipv6_bgp_neighbor_received_routes_cmd_vtysh,
10152 + "show ipv6 bgp neighbors (A.B.C.D|X:X::X:X) received-routes",
10153 + "Show running system information\n"
10154 + "IPv6 information\n"
10155 + "BGP information\n"
10156 + "Detailed information on TCP and BGP neighbor connections\n"
10157 + "Neighbor to display information about\n"
10158 + "Neighbor to display information about\n"
10159 + "Display the received routes from neighbor\n")
10161 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_all_neighbor_routes_cmd_vtysh,
10162 + "show ip bgp vpnv4 all neighbors A.B.C.D routes",
10163 + "Show running system information\n"
10164 + "IP information\n"
10165 + "BGP information\n"
10166 + "Display VPNv4 NLRI specific information\n"
10167 + "Display information about all VPNv4 NLRIs\n"
10168 + "Detailed information on TCP and BGP neighbor connections\n"
10169 + "Neighbor to display information about\n"
10170 + "Display routes learned from neighbor\n")
10172 +DEFSH (VTYSH_BGPD, match_ecommunity_cmd_vtysh,
10173 + "match extcommunity (<1-99>|<100-199>|WORD)",
10174 + "Match values from routing table\n"
10175 + "Match BGP/VPN extended community list\n"
10176 + "Extended community-list number (standard)\n"
10177 + "Extended community-list number (expanded)\n"
10178 + "Extended community-list name\n")
10180 +DEFSH (VTYSH_BGPD, ipv6_bgp_neighbor_routes_cmd_vtysh,
10181 + "show ipv6 bgp neighbors (A.B.C.D|X:X::X:X) routes",
10182 + "Show running system information\n"
10183 + "IPv6 information\n"
10184 + "BGP information\n"
10185 + "Detailed information on TCP and BGP neighbor connections\n"
10186 + "Neighbor to display information about\n"
10187 + "Neighbor to display information about\n"
10188 + "Display routes learned from neighbor\n")
10190 +DEFSH (VTYSH_BGPD, no_bgp_distance_source_cmd_vtysh,
10191 + "no distance <1-255> A.B.C.D/M",
10192 + "Negate a command or set its defaults\n"
10193 + "Define an administrative distance\n"
10194 + "Administrative distance\n"
10195 + "IP source prefix\n")
10197 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_standard_host_cmd_vtysh,
10198 + "access-list (<1-99>|<1300-1999>) (deny|permit) host A.B.C.D",
10199 + "Add an access list entry\n"
10200 + "IP standard access list\n"
10201 + "IP standard access list (expanded range)\n"
10202 + "Specify packets to reject\n"
10203 + "Specify packets to forward\n"
10204 + "A single host address\n"
10205 + "Address to match\n")
10207 +DEFSH (VTYSH_OSPF6D, no_debug_ospf6_damp_cmd_vtysh,
10208 + "no debug ospf6 damp",
10209 + "Negate a command or set its defaults\n"
10210 + "Debugging functions (see also 'undebug')\n"
10211 + "Open Shortest Path First (OSPF) for IPv6\n"
10212 + "Flap-dampening information\n"
10215 +DEFSH (VTYSH_OSPFD, no_ospf_rfc1583_flag_cmd_vtysh,
10216 + "no ospf rfc1583compatibility",
10217 + "Negate a command or set its defaults\n"
10218 + "OSPF specific commands\n"
10219 + "Disable the RFC1583Compatibility flag\n")
10221 +DEFSH (VTYSH_OSPF6D, ospf6_interface_area_passive_cmd_vtysh,
10222 + "interface IFNAME area A.B.C.D passive",
10223 + "Enable routing on an IPv6 interface\n"
10224 + "Interface name(e.g. ep0)\n"
10225 + "Set the OSPF6 area ID\n"
10226 + "OSPF6 area ID in IPv4 address notation\n"
10227 + "Suppress routing updates on an interface\n"
10230 +DEFSH (VTYSH_BGPD, no_set_weight_cmd_vtysh,
10231 + "no set weight",
10232 + "Negate a command or set its defaults\n"
10233 + "Set values in destination routing protocol\n"
10234 + "BGP weight for routing table\n")
10236 +DEFSH (VTYSH_RIPD, ip_rip_authentication_mode_cmd_vtysh,
10237 + "ip rip authentication mode (md5|text)",
10238 + "IP information\n"
10239 + "Routing Information Protocol\n"
10240 + "Authentication control\n"
10241 + "Authentication mode\n"
10242 + "Keyed message digest\n"
10243 + "Clear text authentication\n")
10245 +DEFSH (VTYSH_OSPFD, show_ip_ospf_neighbor_int_detail_cmd_vtysh,
10246 + "show ip ospf neighbor A.B.C.D detail",
10247 + "Show running system information\n"
10248 + "IP information\n"
10249 + "OSPF information\n"
10250 + "Neighbor list\n"
10251 + "Interface address\n"
10252 + "detail of all neighbors")
10254 +DEFSH (VTYSH_BGPD, show_bgp_view_ipv6_prefix_cmd_vtysh,
10255 + "show bgp view WORD ipv6 X:X::X:X/M",
10256 + "Show running system information\n"
10257 + "BGP information\n"
10258 + "BGP view\n"
10259 + "View name\n"
10260 + "Address family\n"
10261 + "IPv6 prefix <network>/<length>\n")
10263 +DEFSH (VTYSH_ZEBRA, no_ipv6_route_flags_cmd_vtysh,
10264 + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole)",
10265 + "Negate a command or set its defaults\n"
10266 + "IP information\n"
10267 + "Establish static routes\n"
10268 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
10269 + "IPv6 gateway address\n"
10270 + "IPv6 gateway interface name\n"
10271 + "Emit an ICMP unreachable when matched\n"
10272 + "Silently discard pkts when matched\n")
10274 +DEFSH (VTYSH_ZEBRA, show_ipv6_route_protocol_cmd_vtysh,
10275 + "show ipv6 route (bgp|connected|kernel|ospf6|ripng|static)",
10276 + "Show running system information\n"
10277 + "IP information\n"
10278 + "IP routing table\n"
10279 + "Border Gateway Protocol (BGP)\n"
10280 + "Connected\n"
10281 + "Kernel\n"
10282 + "Open Shortest Path First (OSPFv3)\n"
10283 + "Routing Information Protocol (RIPng)\n"
10284 + "Static routes\n")
10286 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_community2_cmd_vtysh,
10287 + "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
10288 + "Show running system information\n"
10289 + "IPv6 information\n"
10290 + "MBGP information\n"
10291 + "Display routes matching the communities\n"
10292 + "community number\n"
10293 + "Do not send outside local AS (well-known community)\n"
10294 + "Do not advertise to any peer (well-known community)\n"
10295 + "Do not export to next AS (well-known community)\n"
10296 + "community number\n"
10297 + "Do not send outside local AS (well-known community)\n"
10298 + "Do not advertise to any peer (well-known community)\n"
10299 + "Do not export to next AS (well-known community)\n")
10301 +DEFSH (VTYSH_BGPD, no_bgp_cluster_id_arg_cmd_vtysh,
10302 + "no bgp cluster-id A.B.C.D",
10303 + "Negate a command or set its defaults\n"
10304 + "BGP information\n"
10305 + "Configure Route-Reflector Cluster-id\n"
10306 + "Route-Reflector Cluster-id in IP address format\n")
10308 +DEFSH (VTYSH_BGPD, no_debug_bgp_all_cmd_vtysh,
10309 + "no debug all bgp",
10310 + "Negate a command or set its defaults\n"
10311 + "Debugging functions (see also 'undebug')\n"
10312 + "Enable all debugging\n"
10313 + "BGP information\n")
10315 +DEFSH (VTYSH_BGPD, no_neighbor_timers_connect_cmd_vtysh,
10316 + "no neighbor (A.B.C.D|X:X::X:X) " "timers connect",
10317 + "Negate a command or set its defaults\n"
10318 + "Specify neighbor router\n"
10319 + "Neighbor address\nIPv6 address\n"
10320 + "BGP per neighbor timers\n"
10321 + "BGP connect timer\n")
10323 +DEFSH (VTYSH_BGPD, no_bgp_distance2_cmd_vtysh,
10324 + "no distance bgp",
10325 + "Negate a command or set its defaults\n"
10326 + "Define an administrative distance\n"
10327 + "BGP distance\n")
10329 +DEFSH (VTYSH_BGPD, show_ip_bgp_community2_cmd_vtysh,
10330 + "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
10331 + "Show running system information\n"
10332 + "IP information\n"
10333 + "BGP information\n"
10334 + "Display routes matching the communities\n"
10335 + "community number\n"
10336 + "Do not send outside local AS (well-known community)\n"
10337 + "Do not advertise to any peer (well-known community)\n"
10338 + "Do not export to next AS (well-known community)\n"
10339 + "community number\n"
10340 + "Do not send outside local AS (well-known community)\n"
10341 + "Do not advertise to any peer (well-known community)\n"
10342 + "Do not export to next AS (well-known community)\n")
10344 +DEFSH (VTYSH_OSPFD, no_ospf_area_range_cost_cmd_vtysh,
10345 + "no area (A.B.C.D|<0-4294967295>) range A.B.C.D/M cost <0-16777215>",
10346 + "Negate a command or set its defaults\n"
10347 + "OSPF area parameters\n"
10348 + "OSPF area ID in IP address format\n"
10349 + "OSPF area ID as a decimal value\n"
10350 + "Summarize routes matching address/mask (border routers only)\n"
10351 + "Area range prefix\n"
10352 + "User specified metric for this range\n"
10353 + "Advertised metric for this range\n")
10355 +DEFSH (VTYSH_BGPD, no_bgp_always_compare_med_cmd_vtysh,
10356 + "no bgp always-compare-med",
10357 + "Negate a command or set its defaults\n"
10358 + "BGP specific commands\n"
10359 + "Allow comparing MED from different neighbors\n")
10361 +DEFSH (VTYSH_RIPNGD, debug_ripng_packet_cmd_vtysh,
10362 + "debug ripng packet",
10363 + "Debugging functions (see also 'undebug')\n"
10364 + "RIPng configuration\n"
10365 + "Debug option set for ripng packet\n")
10367 +DEFSH (VTYSH_BGPD, no_bgp_redistribute_ipv4_metric_rmap_cmd_vtysh,
10368 + "no redistribute (connected|kernel|ospf|rip|static) metric <0-4294967295> route-map WORD",
10369 + "Negate a command or set its defaults\n"
10370 + "Redistribute information from another routing protocol\n"
10371 + "Connected\n"
10372 + "Kernel routes\n"
10373 + "Open Shurtest Path First (OSPF)\n"
10374 + "Routing Information Protocol (RIP)\n"
10375 + "Static routes\n"
10376 + "Metric for redistributed routes\n"
10377 + "Default metric\n"
10378 + "Route map reference\n"
10379 + "Pointer to route-map entries\n")
10381 +DEFSH (VTYSH_RIPNGD, no_ripng_aggregate_address_cmd_vtysh,
10382 + "no aggregate-address X:X::X:X/M",
10383 + "Negate a command or set its defaults\n"
10384 + "Delete aggregate RIPng route announcement\n"
10385 + "Aggregate network")
10387 +DEFSH (VTYSH_ZEBRA, no_ip_route_mask_flags_distance_cmd_vtysh,
10388 + "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) <1-255>",
10389 + "Negate a command or set its defaults\n"
10390 + "IP information\n"
10391 + "Establish static routes\n"
10392 + "IP destination prefix\n"
10393 + "IP destination prefix mask\n"
10394 + "IP gateway address\n"
10395 + "IP gateway interface name\n"
10396 + "Emit an ICMP unreachable when matched\n"
10397 + "Silently discard pkts when matched\n"
10398 + "Distance value for this route\n")
10400 +DEFSH (VTYSH_BGPD, show_ip_extcommunity_list_cmd_vtysh,
10401 + "show ip extcommunity-list",
10402 + "Show running system information\n"
10403 + "IP information\n"
10404 + "List extended-community list\n")
10406 +DEFSH (VTYSH_BGPD, clear_bgp_external_soft_cmd_vtysh,
10407 + "clear bgp external soft",
10408 + "Reset functions\n"
10409 + "BGP information\n"
10410 + "Clear all external peers\n"
10411 + "Soft reconfig\n")
10413 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_community3_exact_cmd_vtysh,
10414 + "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
10415 + "Show running system information\n"
10416 + "BGP information\n"
10417 + "Address family\n"
10418 + "Display routes matching the communities\n"
10419 + "community number\n"
10420 + "Do not send outside local AS (well-known community)\n"
10421 + "Do not advertise to any peer (well-known community)\n"
10422 + "Do not export to next AS (well-known community)\n"
10423 + "community number\n"
10424 + "Do not send outside local AS (well-known community)\n"
10425 + "Do not advertise to any peer (well-known community)\n"
10426 + "Do not export to next AS (well-known community)\n"
10427 + "community number\n"
10428 + "Do not send outside local AS (well-known community)\n"
10429 + "Do not advertise to any peer (well-known community)\n"
10430 + "Do not export to next AS (well-known community)\n"
10431 + "Exact match of the communities")
10433 +DEFSH (VTYSH_ZEBRA, debug_zebra_kernel_cmd_vtysh,
10434 + "debug zebra kernel",
10435 + "Debugging functions (see also 'undebug')\n"
10436 + "Zebra configuration\n"
10437 + "Debug option set for zebra between kernel interface\n")
10439 +DEFSH (VTYSH_BGPD, no_bgp_bestpath_med_cmd_vtysh,
10440 + "no bgp bestpath med (confed|missing-as-worst)",
10441 + "Negate a command or set its defaults\n"
10442 + "BGP specific commands\n"
10443 + "Change the default bestpath selection\n"
10444 + "MED attribute\n"
10445 + "Compare MED among confederation paths\n"
10446 + "Treat missing MED as the least preferred one\n")
10448 +DEFSH (VTYSH_OSPF6D, ipv6_ospf6_instance_cmd_vtysh,
10449 + "ipv6 ospf6 instance-id INSTANCE",
10450 + "IPv6 Information\n"
10451 + "Open Shortest Path First (OSPF) for IPv6\n"
10452 + "Instance ID\n"
10453 + "<0-255> Instance ID\n"
10456 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_metric_type_cmd_vtysh,
10457 + "default-information originate metric <0-16777214> metric-type (1|2)",
10458 + "Control distribution of default information\n"
10459 + "Distribute a default route\n"
10460 + "OSPF default metric\n"
10461 + "OSPF metric\n"
10462 + "OSPF metric type for default routes\n"
10463 + "Set OSPF External Type 1 metrics\n"
10464 + "Set OSPF External Type 2 metrics\n")
10466 +DEFSH (VTYSH_OSPFD, no_ospf_area_vlink_authtype_md5_cmd_vtysh,
10467 + "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
10468 + "(authentication|) "
10469 + "(message-digest-key|)",
10470 + "Negate a command or set its defaults\n"
10471 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
10472 + "Enable authentication on this virtual link\n" "dummy string \n"
10473 + "Message digest authentication password (key)\n" "dummy string \n" "Key ID\n" "Use MD5 algorithm\n" "The OSPF password (key)")
10475 +DEFSH (VTYSH_BGPD, clear_bgp_peer_group_soft_cmd_vtysh,
10476 + "clear bgp peer-group WORD soft",
10477 + "Reset functions\n"
10478 + "BGP information\n"
10479 + "Clear all members of peer-group\n"
10480 + "BGP peer-group name\n"
10481 + "Soft reconfig\n")
10483 +DEFSH (VTYSH_BGPD, clear_bgp_all_out_cmd_vtysh,
10484 + "clear bgp * out",
10485 + "Reset functions\n"
10486 + "BGP information\n"
10487 + "Clear all peers\n"
10488 + "Soft reconfig outbound update\n")
10490 +DEFSH (VTYSH_ZEBRA, no_ip_route_mask_flags_cmd_vtysh,
10491 + "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole)",
10492 + "Negate a command or set its defaults\n"
10493 + "IP information\n"
10494 + "Establish static routes\n"
10495 + "IP destination prefix\n"
10496 + "IP destination prefix mask\n"
10497 + "IP gateway address\n"
10498 + "IP gateway interface name\n"
10499 + "Emit an ICMP unreachable when matched\n"
10500 + "Silently discard pkts when matched\n")
10502 +DEFSH (VTYSH_BGPD, neighbor_attr_unchanged7_cmd_vtysh,
10503 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged next-hop med as-path",
10504 + "Specify neighbor router\n"
10505 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
10506 + "BGP attribute is propagated unchanged to this neighbor\n"
10507 + "Nexthop attribute\n"
10508 + "Med attribute\n"
10509 + "As-path attribute\n")
10511 +DEFSH (VTYSH_ZEBRA, show_ip_route_protocol_cmd_vtysh,
10512 + "show ip route (bgp|connected|kernel|ospf|rip|static)",
10513 + "Show running system information\n"
10514 + "IP information\n"
10515 + "IP routing table\n"
10516 + "Border Gateway Protocol (BGP)\n"
10517 + "Connected\n"
10518 + "Kernel\n"
10519 + "Open Shortest Path First (OSPF)\n"
10520 + "Routing Information Protocol (RIP)\n"
10521 + "Static routes\n")
10523 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_neighbors_cmd_vtysh,
10524 + "show bgp ipv6 neighbors",
10525 + "Show running system information\n"
10526 + "BGP information\n"
10527 + "Address family\n"
10528 + "Detailed information on TCP and BGP neighbor connections\n")
10530 +DEFSH (VTYSH_RIPD, ip_rip_send_version_cmd_vtysh,
10531 + "ip rip send version (1|2)",
10532 + "IP information\n"
10533 + "Routing Information Protocol\n"
10534 + "Advertisement transmission\n"
10535 + "Version control\n"
10536 + "RIP version 1\n"
10537 + "RIP version 2\n")
10539 +DEFSH (VTYSH_OSPF6D, ipv6_ospf6_priority_cmd_vtysh,
10540 + "ipv6 ospf6 priority PRIORITY",
10541 + "IPv6 Information\n"
10542 + "Open Shortest Path First (OSPF) for IPv6\n"
10543 + "Router priority\n"
10544 + "<0-255> Priority\n"
10547 +DEFSH (VTYSH_BGPD, clear_bgp_peer_out_cmd_vtysh,
10548 + "clear bgp (A.B.C.D|X:X::X:X) out",
10549 + "Reset functions\n"
10550 + "BGP information\n"
10551 + "BGP neighbor address to clear\n"
10552 + "BGP IPv6 neighbor to clear\n"
10553 + "Soft reconfig outbound update\n")
10555 +DEFSH (VTYSH_BGPD, no_debug_bgp_fsm_cmd_vtysh,
10556 + "no debug bgp fsm",
10557 + "Negate a command or set its defaults\n"
10558 + "Debugging functions (see also 'undebug')\n"
10559 + "BGP information\n"
10560 + "Finite State Machine\n")
10562 +DEFSH (VTYSH_BGPD, old_no_ipv6_aggregate_address_cmd_vtysh,
10563 + "no ipv6 bgp aggregate-address X:X::X:X/M",
10564 + "Negate a command or set its defaults\n"
10565 + "IPv6 information\n"
10566 + "BGP information\n"
10567 + "Configure BGP aggregate entries\n"
10568 + "Aggregate prefix\n")
10570 +DEFSH (VTYSH_BGPD, show_bgp_community2_cmd_vtysh,
10571 + "show bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
10572 + "Show running system information\n"
10573 + "BGP information\n"
10574 + "Display routes matching the communities\n"
10575 + "community number\n"
10576 + "Do not send outside local AS (well-known community)\n"
10577 + "Do not advertise to any peer (well-known community)\n"
10578 + "Do not export to next AS (well-known community)\n"
10579 + "community number\n"
10580 + "Do not send outside local AS (well-known community)\n"
10581 + "Do not advertise to any peer (well-known community)\n"
10582 + "Do not export to next AS (well-known community)\n")
10584 +DEFSH (VTYSH_OSPFD, ospf_auto_cost_reference_bandwidth_cmd_vtysh,
10585 + "auto-cost reference-bandwidth <1-4294967>",
10586 + "Calculate OSPF interface cost according to bandwidth\n"
10587 + "Use reference bandwidth method to assign OSPF cost\n"
10588 + "The reference bandwidth in terms of Mbits per second\n")
10590 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_community3_cmd_vtysh,
10591 + "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
10592 + "Show running system information\n"
10593 + "BGP information\n"
10594 + "Address family\n"
10595 + "Display routes matching the communities\n"
10596 + "community number\n"
10597 + "Do not send outside local AS (well-known community)\n"
10598 + "Do not advertise to any peer (well-known community)\n"
10599 + "Do not export to next AS (well-known community)\n"
10600 + "community number\n"
10601 + "Do not send outside local AS (well-known community)\n"
10602 + "Do not advertise to any peer (well-known community)\n"
10603 + "Do not export to next AS (well-known community)\n"
10604 + "community number\n"
10605 + "Do not send outside local AS (well-known community)\n"
10606 + "Do not advertise to any peer (well-known community)\n"
10607 + "Do not export to next AS (well-known community)\n")
10609 +DEFSH (VTYSH_BGPD, show_bgp_instance_ipv6_neighbors_cmd_vtysh,
10610 + "show bgp view WORD ipv6 neighbors",
10611 + "Show running system information\n"
10612 + "BGP information\n"
10613 + "BGP view\n"
10614 + "View name\n"
10615 + "Address family\n"
10616 + "Detailed information on TCP and BGP neighbor connections\n")
10618 +DEFSH (VTYSH_BGPD, clear_ip_bgp_external_ipv4_soft_in_cmd_vtysh,
10619 + "clear ip bgp external ipv4 (unicast|multicast) soft in",
10620 + "Reset functions\n"
10621 + "IP information\n"
10622 + "BGP information\n"
10623 + "Clear all external peers\n"
10624 + "Address family\n"
10625 + "Address Family modifier\n"
10626 + "Address Family modifier\n"
10627 + "Soft reconfig\n"
10628 + "Soft reconfig inbound update\n")
10630 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_community_all_cmd_vtysh,
10631 + "show ipv6 bgp community",
10632 + "Show running system information\n"
10633 + "IPv6 information\n"
10634 + "BGP information\n"
10635 + "Display routes matching the communities\n")
10637 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_vpnv4_soft_cmd_vtysh,
10638 + "clear ip bgp * vpnv4 unicast soft",
10639 + "Reset functions\n"
10640 + "IP information\n"
10641 + "BGP information\n"
10642 + "Clear all peers\n"
10643 + "Address family\n"
10644 + "Address Family Modifier\n"
10645 + "Soft reconfig\n")
10647 +DEFSH (VTYSH_OSPFD, ip_ospf_network_cmd_vtysh,
10648 + "ip ospf network (broadcast|non-broadcast|point-to-multipoint|point-to-point)",
10649 + "IP Information\n"
10650 + "OSPF interface commands\n"
10651 + "Network type\n"
10652 + "Specify OSPF broadcast multi-access network\n"
10653 + "Specify OSPF NBMA network\n"
10654 + "Specify OSPF point-to-multipoint network\n"
10655 + "Specify OSPF point-to-point network\n")
10657 +DEFSH (VTYSH_BGPD, no_debug_bgp_keepalive_cmd_vtysh,
10658 + "no debug bgp keepalives",
10659 + "Negate a command or set its defaults\n"
10660 + "Debugging functions (see also 'undebug')\n"
10661 + "BGP information\n"
10662 + "BGP keepalives\n")
10664 +DEFSH (VTYSH_BGPD, no_neighbor_shutdown_cmd_vtysh,
10665 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "shutdown",
10666 + "Negate a command or set its defaults\n"
10667 + "Specify neighbor router\n"
10668 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
10669 + "Administratively shut down this neighbor\n")
10671 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_community_exact_cmd_vtysh,
10672 + "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) exact-match",
10673 + "Show running system information\n"
10674 + "BGP information\n"
10675 + "Address family\n"
10676 + "Display routes matching the communities\n"
10677 + "community number\n"
10678 + "Do not send outside local AS (well-known community)\n"
10679 + "Do not advertise to any peer (well-known community)\n"
10680 + "Do not export to next AS (well-known community)\n"
10681 + "Exact match of the communities")
10683 +DEFSH (VTYSH_BGPD, clear_bgp_all_soft_out_cmd_vtysh,
10684 + "clear bgp * soft out",
10685 + "Reset functions\n"
10686 + "BGP information\n"
10687 + "Clear all peers\n"
10688 + "Soft reconfig\n"
10689 + "Soft reconfig outbound update\n")
10691 +DEFSH (VTYSH_OSPFD, no_ospf_default_metric_cmd_vtysh,
10692 + "no default-metric",
10693 + "Negate a command or set its defaults\n"
10694 + "Set metric of redistributed routes\n")
10696 +DEFSH (VTYSH_BGPD, dump_bgp_routes_cmd_vtysh,
10697 + "dump bgp routes-mrt PATH",
10698 + "Dump packet\n"
10699 + "BGP packet dump\n"
10700 + "Dump whole BGP routing table\n"
10701 + "Output filename\n")
10703 +DEFSH (VTYSH_BGPD, debug_bgp_update_cmd_vtysh,
10704 + "debug bgp updates",
10705 + "Debugging functions (see also 'undebug')\n"
10706 + "BGP information\n"
10707 + "BGP updates\n")
10709 +DEFSH (VTYSH_BGPD, no_bgp_redistribute_ipv4_rmap_metric_cmd_vtysh,
10710 + "no redistribute (connected|kernel|ospf|rip|static) route-map WORD metric <0-4294967295>",
10711 + "Negate a command or set its defaults\n"
10712 + "Redistribute information from another routing protocol\n"
10713 + "Connected\n"
10714 + "Kernel routes\n"
10715 + "Open Shurtest Path First (OSPF)\n"
10716 + "Routing Information Protocol (RIP)\n"
10717 + "Static routes\n"
10718 + "Route map reference\n"
10719 + "Pointer to route-map entries\n"
10720 + "Metric for redistributed routes\n"
10721 + "Default metric\n")
10723 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_rd_neighbors_peer_cmd_vtysh,
10724 + "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn neighbors A.B.C.D",
10725 + "Show running system information\n"
10726 + "IP information\n"
10727 + "BGP information\n"
10728 + "Display VPNv4 NLRI specific information\n"
10729 + "Display information about all VPNv4 NLRIs\n"
10730 + "Detailed information on TCP and BGP neighbor connections\n"
10731 + "Neighbor to display information about\n")
10733 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_group_cmd_vtysh,
10734 + "clear ip bgp peer-group WORD",
10735 + "Reset functions\n"
10736 + "IP information\n"
10737 + "BGP information\n"
10738 + "Clear all members of peer-group\n"
10739 + "BGP peer-group name\n")
10741 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_neighbors_peer_cmd_vtysh,
10742 + "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X)",
10743 + "Show running system information\n"
10744 + "IP information\n"
10745 + "BGP information\n"
10746 + "Address family\n"
10747 + "Address Family modifier\n"
10748 + "Address Family modifier\n"
10749 + "Detailed information on TCP and BGP neighbor connections\n"
10750 + "Neighbor to display information about\n"
10751 + "Neighbor to display information about\n")
10753 +DEFSH (VTYSH_BGPD, aggregate_address_mask_cmd_vtysh,
10754 + "aggregate-address A.B.C.D A.B.C.D",
10755 + "Configure BGP aggregate entries\n"
10756 + "Aggregate address\n"
10757 + "Aggregate mask\n")
10759 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_external_intra_cmd_vtysh,
10760 + "distance ospf external <1-255> intra-area <1-255>",
10761 + "Define an administrative distance\n"
10762 + "OSPF Administrative distance\n"
10763 + "External routes\n"
10764 + "Distance for external routes\n"
10765 + "Intra-area routes\n"
10766 + "Distance for intra-area routes\n")
10768 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_database_cmd_vtysh,
10769 + "show ipv6 ospf6 database",
10770 + "Show running system information\n"
10771 + "IPv6 Information\n"
10772 + "Open Shortest Path First (OSPF) for IPv6\n"
10773 + "LSA Database\n"
10776 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_community_exact_cmd_vtysh,
10777 + "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) exact-match",
10778 + "Show running system information\n"
10779 + "IPv6 information\n"
10780 + "BGP information\n"
10781 + "Display routes matching the communities\n"
10782 + "community number\n"
10783 + "Do not send outside local AS (well-known community)\n"
10784 + "Do not advertise to any peer (well-known community)\n"
10785 + "Do not export to next AS (well-known community)\n"
10786 + "Exact match of the communities")
10788 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_sequence_number_cmd_vtysh,
10789 + "no ip prefix-list sequence-number",
10790 + "Negate a command or set its defaults\n"
10791 + "IP information\n"
10792 + "Build a prefix list\n"
10793 + "Include/exclude sequence numbers in NVGEN\n")
10795 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_community4_cmd_vtysh,
10796 + "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
10797 + "Show running system information\n"
10798 + "IP information\n"
10799 + "BGP information\n"
10800 + "Address family\n"
10801 + "Address Family modifier\n"
10802 + "Address Family modifier\n"
10803 + "Display routes matching the communities\n"
10804 + "community number\n"
10805 + "Do not send outside local AS (well-known community)\n"
10806 + "Do not advertise to any peer (well-known community)\n"
10807 + "Do not export to next AS (well-known community)\n"
10808 + "community number\n"
10809 + "Do not send outside local AS (well-known community)\n"
10810 + "Do not advertise to any peer (well-known community)\n"
10811 + "Do not export to next AS (well-known community)\n"
10812 + "community number\n"
10813 + "Do not send outside local AS (well-known community)\n"
10814 + "Do not advertise to any peer (well-known community)\n"
10815 + "Do not export to next AS (well-known community)\n"
10816 + "community number\n"
10817 + "Do not send outside local AS (well-known community)\n"
10818 + "Do not advertise to any peer (well-known community)\n"
10819 + "Do not export to next AS (well-known community)\n")
10821 +DEFSH (VTYSH_BGPD, no_set_community_delete_val_cmd_vtysh,
10822 + "no set comm-list (<1-99>|<100-199>|WORD) delete",
10823 + "Negate a command or set its defaults\n"
10824 + "Set values in destination routing protocol\n"
10825 + "set BGP community list (for deletion)\n"
10826 + "Community-list number (standard)\n"
10827 + "Communitly-list number (expanded)\n"
10828 + "Community-list name\n"
10829 + "Delete matching communities\n")
10831 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_community4_exact_cmd_vtysh,
10832 + "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
10833 + "Show running system information\n"
10834 + "IPv6 information\n"
10835 + "MBGP information\n"
10836 + "Display routes matching the communities\n"
10837 + "community number\n"
10838 + "Do not send outside local AS (well-known community)\n"
10839 + "Do not advertise to any peer (well-known community)\n"
10840 + "Do not export to next AS (well-known community)\n"
10841 + "community number\n"
10842 + "Do not send outside local AS (well-known community)\n"
10843 + "Do not advertise to any peer (well-known community)\n"
10844 + "Do not export to next AS (well-known community)\n"
10845 + "community number\n"
10846 + "Do not send outside local AS (well-known community)\n"
10847 + "Do not advertise to any peer (well-known community)\n"
10848 + "Do not export to next AS (well-known community)\n"
10849 + "community number\n"
10850 + "Do not send outside local AS (well-known community)\n"
10851 + "Do not advertise to any peer (well-known community)\n"
10852 + "Do not export to next AS (well-known community)\n"
10853 + "Exact match of the communities")
10855 +DEFSH (VTYSH_BGPD, neighbor_passive_cmd_vtysh,
10856 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "passive",
10857 + "Specify neighbor router\n"
10858 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
10859 + "Don't send open messages to this neighbor\n")
10861 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_metric_routemap_cmd_vtysh,
10862 + "default-information originate metric <0-16777214> route-map WORD",
10863 + "Control distribution of default information\n"
10864 + "Distribute a default route\n"
10865 + "OSPF default metric\n"
10866 + "OSPF metric\n"
10867 + "Route map reference\n"
10868 + "Pointer to route-map entries\n")
10870 +DEFSH (VTYSH_BGPD, bgp_bestpath_med_cmd_vtysh,
10871 + "bgp bestpath med (confed|missing-as-worst)",
10872 + "BGP specific commands\n"
10873 + "Change the default bestpath selection\n"
10874 + "MED attribute\n"
10875 + "Compare MED among confederation paths\n"
10876 + "Treat missing MED as the least preferred one\n")
10878 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_community_list_cmd_vtysh,
10879 + "show ip bgp ipv4 (unicast|multicast) community-list WORD",
10880 + "Show running system information\n"
10881 + "IP information\n"
10882 + "BGP information\n"
10883 + "Address family\n"
10884 + "Address Family modifier\n"
10885 + "Address Family modifier\n"
10886 + "Display routes matching the community-list\n"
10887 + "community-list name\n")
10889 +DEFSH (VTYSH_BGPD, show_ip_bgp_community_list_exact_cmd_vtysh,
10890 + "show ip bgp community-list WORD exact-match",
10891 + "Show running system information\n"
10892 + "IP information\n"
10893 + "BGP information\n"
10894 + "Display routes matching the community-list\n"
10895 + "community-list name\n"
10896 + "Exact match of the communities\n")
10898 +DEFSH (VTYSH_OSPFD, no_ospf_area_vlink_param3_cmd_vtysh,
10899 + "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
10900 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) "
10901 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) "
10902 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval)",
10903 + "Negate a command or set its defaults\n"
10904 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
10905 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n"
10906 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n"
10907 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n")
10909 +DEFSH (VTYSH_RIPD, distribute_list_prefix_cmd_vtysh,
10910 + "distribute-list prefix WORD (in|out) WORD",
10911 + "Filter networks in routing updates\n"
10912 + "Filter prefixes in routing updates\n"
10913 + "Name of an IP prefix-list\n"
10914 + "Filter incoming routing updates\n"
10915 + "Filter outgoing routing updates\n"
10916 + "Interface name\n")
10918 +DEFSH (VTYSH_ZEBRA, no_ip_route_flags2_cmd_vtysh,
10919 + "no ip route A.B.C.D/M (reject|blackhole)",
10920 + "Negate a command or set its defaults\n"
10921 + "IP information\n"
10922 + "Establish static routes\n"
10923 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
10924 + "Emit an ICMP unreachable when matched\n"
10925 + "Silently discard pkts when matched\n")
10927 +DEFSH (VTYSH_BGPD, no_bgp_default_ipv4_unicast_cmd_vtysh,
10928 + "no bgp default ipv4-unicast",
10929 + "Negate a command or set its defaults\n"
10930 + "BGP specific commands\n"
10931 + "Configure BGP defaults\n"
10932 + "Activate ipv4-unicast for a peer by default\n")
10934 +DEFSH (VTYSH_OSPFD, ospf_area_vlink_param4_cmd_vtysh,
10935 + "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
10936 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535> "
10937 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535> "
10938 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535> "
10939 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535>",
10940 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
10941 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n"
10942 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n"
10943 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n"
10944 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n")
10946 +DEFSH (VTYSH_OSPF6D, no_debug_ospf6_all_cmd_vtysh,
10947 + "no debug ospf6 all",
10948 + "Negate a command or set its defaults\n"
10949 + "Debugging functions (see also 'undebug')\n"
10950 + "Open Shortest Path First (OSPF) for IPv6\n"
10951 + "Turn off ALL OSPFv3 debugging\n")
10953 +DEFSH (VTYSH_BGPD, no_neighbor_capability_orf_prefix_cmd_vtysh,
10954 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "capability orf prefix-list (both|send|receive)",
10955 + "Negate a command or set its defaults\n"
10956 + "Specify neighbor router\n"
10957 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
10958 + "Advertise capability to the peer\n"
10959 + "Advertise ORF capability to the peer\n"
10960 + "Advertise prefixlist ORF capability to this neighbor\n"
10961 + "Capability to SEND and RECEIVE the ORF to/from this neighbor\n"
10962 + "Capability to RECEIVE the ORF from this neighbor\n"
10963 + "Capability to SEND the ORF to this neighbor\n")
10965 +DEFSH (VTYSH_BGPD, bgp_damp_unset2_cmd_vtysh,
10966 + "no bgp dampening <1-45> <1-20000> <1-20000> <1-255>",
10967 + "Negate a command or set its defaults\n"
10968 + "BGP Specific commands\n"
10969 + "Enable route-flap dampening\n"
10970 + "Half-life time for the penalty\n"
10971 + "Value to start reusing a route\n"
10972 + "Value to start suppressing a route\n"
10973 + "Maximum duration to suppress a stable route\n")
10975 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, show_ipv6_prefix_list_prefix_cmd_vtysh,
10976 + "show ipv6 prefix-list WORD X:X::X:X/M",
10977 + "Show running system information\n"
10978 + "IPv6 information\n"
10979 + "Build a prefix list\n"
10980 + "Name of a prefix list\n"
10981 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n")
10983 +DEFSH (VTYSH_OSPFD, no_ospf_area_default_cost_cmd_vtysh,
10984 + "no area (A.B.C.D|<0-4294967295>) default-cost <0-16777215>",
10985 + "Negate a command or set its defaults\n"
10986 + "OSPF area parameters\n"
10987 + "OSPF area ID in IP address format\n"
10988 + "OSPF area ID as a decimal value\n"
10989 + "Set the summary-default cost of a NSSA or stub area\n"
10990 + "Stub's advertised default summary cost\n")
10992 +DEFSH (VTYSH_BGPD, clear_bgp_as_soft_out_cmd_vtysh,
10993 + "clear bgp <1-65535> soft out",
10994 + "Reset functions\n"
10995 + "BGP information\n"
10996 + "Clear peers with the AS number\n"
10997 + "Soft reconfig\n"
10998 + "Soft reconfig outbound update\n")
11000 +DEFSH (VTYSH_OSPFD, ospf_area_filter_list_cmd_vtysh,
11001 + "area (A.B.C.D|<0-4294967295>) filter-list prefix WORD (in|out)",
11002 + "OSPF area parameters\n"
11003 + "OSPF area ID in IP address format\n"
11004 + "OSPF area ID as a decimal value\n"
11005 + "Filter networks between OSPF areas\n"
11006 + "Filter prefixes between OSPF areas\n"
11007 + "Name of an IP prefix-list\n"
11008 + "Filter networks sent to this area\n"
11009 + "Filter networks sent from this area\n")
11011 +DEFSH (VTYSH_BGPD, neighbor_attr_unchanged10_cmd_vtysh,
11012 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged med as-path next-hop",
11013 + "Specify neighbor router\n"
11014 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
11015 + "BGP attribute is propagated unchanged to this neighbor\n"
11016 + "Med attribute\n"
11017 + "As-path attribute\n"
11018 + "Nexthop attribute\n")
11020 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_intra_cmd_vtysh,
11021 + "distance ospf intra-area <1-255>",
11022 + "Define an administrative distance\n"
11023 + "OSPF Administrative distance\n"
11024 + "Intra-area routes\n"
11025 + "Distance for intra-area routes\n")
11027 +DEFSH (VTYSH_BGPD, bgp_network_mask_natural_backdoor_cmd_vtysh,
11028 + "network A.B.C.D backdoor",
11029 + "Specify a network to announce via BGP\n"
11030 + "Network number\n"
11031 + "Specify a BGP backdoor route\n")
11033 +DEFSH (VTYSH_BGPD, ip_community_list_standard_cmd_vtysh,
11034 + "ip community-list <1-99> (deny|permit) .AA:NN",
11035 + "IP information\n"
11036 + "Add a community list entry\n"
11037 + "Community list number (standard)\n"
11038 + "Specify community to reject\n"
11039 + "Specify community to accept\n"
11040 + "Community number in aa:nn format or internet|local-AS|no-advertise|no-export\n")
11042 +DEFSH (VTYSH_RIPNGD, no_ripng_timers_cmd_vtysh,
11043 + "no timers basic",
11044 + "Negate a command or set its defaults\n"
11045 + "RIPng timers setup\n"
11046 + "Basic timer\n")
11048 +DEFSH (VTYSH_OSPFD, debug_ospf_lsa_cmd_vtysh,
11049 + "debug ospf lsa",
11050 + "Debugging functions (see also 'undebug')\n"
11051 + "OSPF information\n"
11052 + "OSPF Link State Advertisement\n")
11054 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_extended_host_any_cmd_vtysh,
11055 + "access-list (<100-199>|<2000-2699>) (deny|permit) ip host A.B.C.D any",
11056 + "Add an access list entry\n"
11057 + "IP extended access list\n"
11058 + "IP extended access list (expanded range)\n"
11059 + "Specify packets to reject\n"
11060 + "Specify packets to forward\n"
11061 + "Any Internet Protocol\n"
11062 + "A single source host\n"
11063 + "Source address\n"
11064 + "Any destination host\n")
11066 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_community_all_cmd_vtysh,
11067 + "show bgp ipv6 community",
11068 + "Show running system information\n"
11069 + "BGP information\n"
11070 + "Address family\n"
11071 + "Display routes matching the communities\n")
11073 +DEFSH (VTYSH_ZEBRA, ipv6_route_ifname_cmd_vtysh,
11074 + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE",
11075 + "IP information\n"
11076 + "Establish static routes\n"
11077 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
11078 + "IPv6 gateway address\n"
11079 + "IPv6 gateway interface name\n")
11081 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_always_type_metric_cmd_vtysh,
11082 + "default-information originate always metric-type (1|2) metric <0-16777214>",
11083 + "Control distribution of default information\n"
11084 + "Distribute a default route\n"
11085 + "Always advertise default route\n"
11086 + "OSPF metric type for default routes\n"
11087 + "Set OSPF External Type 1 metrics\n"
11088 + "Set OSPF External Type 2 metrics\n"
11089 + "OSPF default metric\n"
11090 + "OSPF metric\n")
11092 +DEFSH (VTYSH_BGPD, no_set_ecommunity_soo_cmd_vtysh,
11093 + "no set extcommunity soo",
11094 + "Negate a command or set its defaults\n"
11095 + "Set values in destination routing protocol\n"
11096 + "BGP extended community attribute\n"
11097 + "Site-of-Origin extended community\n")
11099 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_ipv4_in_prefix_filter_cmd_vtysh,
11100 + "clear ip bgp A.B.C.D ipv4 (unicast|multicast) in prefix-filter",
11101 + "Reset functions\n"
11102 + "IP information\n"
11103 + "BGP information\n"
11104 + "BGP neighbor address to clear\n"
11105 + "Address family\n"
11106 + "Address Family modifier\n"
11107 + "Address Family modifier\n"
11108 + "Soft reconfig inbound update\n"
11109 + "Push out the existing ORF prefix-list\n")
11111 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD, no_route_map_cmd_vtysh,
11112 + "no route-map WORD (deny|permit) <1-65535>",
11113 + "Negate a command or set its defaults\n"
11114 + "Create route-map or enter route-map command mode\n"
11115 + "Route map tag\n"
11116 + "Route map denies set operations\n"
11117 + "Route map permits set operations\n"
11118 + "Sequence to insert to/delete from existing route-map entry\n")
11120 +DEFSH (VTYSH_OSPFD, no_ospf_priority_cmd_vtysh,
11121 + "no ospf priority",
11122 + "Negate a command or set its defaults\n"
11123 + "OSPF interface commands\n"
11124 + "Router priority\n")
11126 +DEFSH (VTYSH_BGPD, no_neighbor_timers_cmd_vtysh,
11127 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "timers",
11128 + "Negate a command or set its defaults\n"
11129 + "Specify neighbor router\n"
11130 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
11131 + "BGP per neighbor timers\n")
11133 +DEFSH (VTYSH_RIPNGD, no_ripng_offset_list_cmd_vtysh,
11134 + "no offset-list WORD (in|out) <0-16>",
11135 + "Negate a command or set its defaults\n"
11136 + "Modify RIPng metric\n"
11137 + "Access-list name\n"
11138 + "For incoming updates\n"
11139 + "For outgoing updates\n"
11140 + "Metric value\n")
11142 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, match_ip_next_hop_cmd_vtysh,
11143 + "match ip next-hop (<1-199>|<1300-2699>|WORD)",
11144 + "Match values from routing table\n"
11145 + "IP information\n"
11146 + "Match next-hop address of route\n"
11147 + "IP access-list number\n"
11148 + "IP access-list number (expanded range)\n"
11149 + "IP Access-list name\n")
11151 +DEFSH (VTYSH_OSPFD, ospf_area_range_not_advertise_cmd_vtysh,
11152 + "area (A.B.C.D|<0-4294967295>) range A.B.C.D/M not-advertise",
11153 + "OSPF area parameters\n"
11154 + "OSPF area ID in IP address format\n"
11155 + "OSPF area ID as a decimal value\n"
11156 + "Summarize routes matching address/mask (border routers only)\n"
11157 + "Area range prefix\n"
11158 + "DoNotAdvertise this range\n")
11160 +DEFSH (VTYSH_BGPD, no_neighbor_local_as_cmd_vtysh,
11161 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "local-as",
11162 + "Negate a command or set its defaults\n"
11163 + "Specify neighbor router\n"
11164 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
11165 + "Specify a local-as number\n")
11167 +DEFSH (VTYSH_BGPD, show_bgp_prefix_list_cmd_vtysh,
11168 + "show bgp prefix-list WORD",
11169 + "Show running system information\n"
11170 + "BGP information\n"
11171 + "Display routes conforming to the prefix-list\n"
11172 + "IPv6 prefix-list name\n")
11174 +DEFSH (VTYSH_BGPD, clear_bgp_peer_group_cmd_vtysh,
11175 + "clear bgp peer-group WORD",
11176 + "Reset functions\n"
11177 + "BGP information\n"
11178 + "Clear all members of peer-group\n"
11179 + "BGP peer-group name\n")
11181 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_prefix_list_seq_le_cmd_vtysh,
11182 + "ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M le <0-128>",
11183 + "IPv6 information\n"
11184 + "Build a prefix list\n"
11185 + "Name of a prefix list\n"
11186 + "sequence number of an entry\n"
11187 + "Sequence number\n"
11188 + "Specify packets to reject\n"
11189 + "Specify packets to forward\n"
11190 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
11191 + "Maximum prefix length to be matched\n"
11192 + "Maximum prefix length\n")
11194 +DEFSH (VTYSH_RIPD, rip_network_cmd_vtysh,
11195 + "network (A.B.C.D/M|WORD)",
11196 + "Enable routing on an IP network\n"
11197 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
11198 + "Interface name\n")
11200 +DEFSH (VTYSH_OSPFD, ospf_redistribute_source_type_metric_routemap_cmd_vtysh,
11201 + "redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214> route-map WORD",
11202 + "Redistribute information from another routing protocol\n"
11203 + "Kernel routes\n"
11204 + "Connected\n"
11205 + "Static routes\n"
11206 + "Routing Information Protocol (RIP)\n"
11207 + "Border Gateway Protocol (BGP)\n"
11208 + "OSPF exterior metric type for redistributed routes\n"
11209 + "Set OSPF External Type 1 metrics\n"
11210 + "Set OSPF External Type 2 metrics\n"
11211 + "Metric for redistributed routes\n"
11212 + "OSPF default metric\n"
11213 + "Route map reference\n"
11214 + "Pointer to route-map entries\n")
11216 +DEFSH (VTYSH_OSPF6D, show_ipv6_route_ospf6_external_cmd_vtysh,
11217 + "show ipv6 ospf6 route redistribute",
11218 + "Show running system information\n"
11219 + "IPv6 Information\n"
11220 + "Routing Table\n"
11221 + "Open Shortest Path First (OSPF) for IPv6\n"
11222 + "redistributing External information\n"
11225 +DEFSH (VTYSH_BGPD, no_match_ipv6_next_hop_cmd_vtysh,
11226 + "no match ipv6 next-hop X:X::X:X",
11227 + "Negate a command or set its defaults\n"
11228 + "Match values from routing table\n"
11229 + "IPv6 information\n"
11230 + "Match IPv6 next-hop address of route\n"
11231 + "IPv6 address of next hop\n")
11233 +DEFSH (VTYSH_RIPD, no_distribute_list_prefix_cmd_vtysh,
11234 + "no distribute-list prefix WORD (in|out) WORD",
11235 + "Negate a command or set its defaults\n"
11236 + "Filter networks in routing updates\n"
11237 + "Filter prefixes in routing updates\n"
11238 + "Name of an IP prefix-list\n"
11239 + "Filter incoming routing updates\n"
11240 + "Filter outgoing routing updates\n"
11241 + "Interface name\n")
11243 +DEFSH (VTYSH_RIPD, send_lifetime_month_day_day_month_cmd_vtysh,
11244 + "send-lifetime HH:MM:SS MONTH <1-31> <1993-2035> HH:MM:SS <1-31> MONTH <1993-2035>",
11245 + "Set send lifetime of the key\n"
11246 + "Time to start\n"
11247 + "Month of the year to start\n"
11248 + "Day of th month to start\n"
11249 + "Year to start\n"
11250 + "Time to expire\n"
11251 + "Day of th month to expire\n"
11252 + "Month of the year to expire\n"
11253 + "Year to expire\n")
11255 +DEFSH (VTYSH_BGPD, show_ip_bgp_view_route_cmd_vtysh,
11256 + "show ip bgp view WORD A.B.C.D",
11257 + "Show running system information\n"
11258 + "IP information\n"
11259 + "BGP information\n"
11260 + "BGP view\n"
11261 + "BGP view name\n"
11262 + "Network in the BGP routing table to display\n")
11264 +DEFSH (VTYSH_BGPD, clear_bgp_as_cmd_vtysh,
11265 + "clear bgp <1-65535>",
11266 + "Reset functions\n"
11267 + "BGP information\n"
11268 + "Clear peers with the AS number\n")
11270 +DEFSH (VTYSH_BGPD, show_ip_bgp_route_cmd_vtysh,
11271 + "show ip bgp A.B.C.D",
11272 + "Show running system information\n"
11273 + "IP information\n"
11274 + "BGP information\n"
11275 + "Network in the BGP routing table to display\n")
11277 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, show_ip_prefix_list_summary_name_cmd_vtysh,
11278 + "show ip prefix-list summary WORD",
11279 + "Show running system information\n"
11280 + "IP information\n"
11281 + "Build a prefix list\n"
11282 + "Summary of prefix lists\n"
11283 + "Name of a prefix list\n")
11285 +DEFSH (VTYSH_BGPD, neighbor_weight_cmd_vtysh,
11286 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "weight <0-65535>",
11287 + "Specify neighbor router\n"
11288 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
11289 + "Set default weight for routes from this neighbor\n"
11290 + "default weight\n")
11292 +DEFSH (VTYSH_OSPFD, show_ip_ospf_neighbor_cmd_vtysh,
11293 + "show ip ospf neighbor",
11294 + "Show running system information\n"
11295 + "IP information\n"
11296 + "OSPF information\n"
11297 + "Neighbor list\n")
11299 +DEFSH (VTYSH_BGPD, no_aggregate_address_mask_summary_as_set_cmd_vtysh,
11300 + "no aggregate-address A.B.C.D A.B.C.D summary-only as-set",
11301 + "Negate a command or set its defaults\n"
11302 + "Configure BGP aggregate entries\n"
11303 + "Aggregate address\n"
11304 + "Aggregate mask\n"
11305 + "Filter more specific routes from updates\n"
11306 + "Generate AS set path information\n")
11308 +DEFSH (VTYSH_OSPFD, debug_ospf_ism_sub_cmd_vtysh,
11309 + "debug ospf ism (status|events|timers)",
11310 + "Debugging functions (see also 'undebug')\n"
11311 + "OSPF information\n"
11312 + "OSPF Interface State Machine\n"
11313 + "ISM Status Information\n"
11314 + "ISM Event Information\n"
11315 + "ISM TImer Information\n")
11317 +DEFSH (VTYSH_OSPFD, debug_ospf_zebra_cmd_vtysh,
11318 + "debug ospf zebra",
11319 + "Debugging functions (see also 'undebug')\n"
11320 + "OSPF information\n"
11321 + "OSPF Zebra information\n")
11323 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_vpnv4_soft_in_cmd_vtysh,
11324 + "clear ip bgp * vpnv4 unicast soft in",
11325 + "Reset functions\n"
11326 + "IP information\n"
11327 + "BGP information\n"
11328 + "Clear all peers\n"
11329 + "Address family\n"
11330 + "Address Family Modifier\n"
11331 + "Soft reconfig\n"
11332 + "Soft reconfig inbound update\n")
11334 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_ipv4_soft_cmd_vtysh,
11335 + "clear ip bgp A.B.C.D ipv4 (unicast|multicast) soft",
11336 + "Reset functions\n"
11337 + "IP information\n"
11338 + "BGP information\n"
11339 + "BGP neighbor address to clear\n"
11340 + "Address family\n"
11341 + "Address Family Modifier\n"
11342 + "Address Family Modifier\n"
11343 + "Soft reconfig\n")
11345 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_prefix_cmd_vtysh,
11346 + "show ip bgp ipv4 (unicast|multicast) A.B.C.D/M",
11347 + "Show running system information\n"
11348 + "IP information\n"
11349 + "BGP information\n"
11350 + "Address family\n"
11351 + "Address Family modifier\n"
11352 + "Address Family modifier\n"
11353 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
11355 +DEFSH (VTYSH_BGPD, no_neighbor_attr_unchanged8_cmd_vtysh,
11356 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged next-hop as-path med",
11357 + "Negate a command or set its defaults\n"
11358 + "Specify neighbor router\n"
11359 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
11360 + "BGP attribute is propagated unchanged to this neighbor\n"
11361 + "Nexthop attribute\n"
11362 + "As-path attribute\n"
11363 + "Med attribute\n")
11365 +DEFSH (VTYSH_OSPFD, ip_ospf_cost_addr_cmd_vtysh,
11366 + "ip ospf cost <1-65535> A.B.C.D",
11367 + "IP Information\n"
11368 + "OSPF interface commands\n"
11369 + "Interface cost\n"
11370 + "Cost\n"
11371 + "Address of interface")
11373 +DEFSH (VTYSH_BGPD, show_ip_community_list_cmd_vtysh,
11374 + "show ip community-list",
11375 + "Show running system information\n"
11376 + "IP information\n"
11377 + "List community-list\n")
11379 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_description_arg_cmd_vtysh,
11380 + "no ipv6 prefix-list WORD description .LINE",
11381 + "Negate a command or set its defaults\n"
11382 + "IPv6 information\n"
11383 + "Build a prefix list\n"
11384 + "Name of a prefix list\n"
11385 + "Prefix-list specific description\n"
11386 + "Up to 80 characters describing this prefix-list\n")
11388 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_community4_exact_cmd_vtysh,
11389 + "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
11390 + "Show running system information\n"
11391 + "BGP information\n"
11392 + "Address family\n"
11393 + "Display routes matching the communities\n"
11394 + "community number\n"
11395 + "Do not send outside local AS (well-known community)\n"
11396 + "Do not advertise to any peer (well-known community)\n"
11397 + "Do not export to next AS (well-known community)\n"
11398 + "community number\n"
11399 + "Do not send outside local AS (well-known community)\n"
11400 + "Do not advertise to any peer (well-known community)\n"
11401 + "Do not export to next AS (well-known community)\n"
11402 + "community number\n"
11403 + "Do not send outside local AS (well-known community)\n"
11404 + "Do not advertise to any peer (well-known community)\n"
11405 + "Do not export to next AS (well-known community)\n"
11406 + "community number\n"
11407 + "Do not send outside local AS (well-known community)\n"
11408 + "Do not advertise to any peer (well-known community)\n"
11409 + "Do not export to next AS (well-known community)\n"
11410 + "Exact match of the communities")
11412 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_community_list_cmd_vtysh,
11413 + "show ipv6 mbgp community-list WORD",
11414 + "Show running system information\n"
11415 + "IPv6 information\n"
11416 + "MBGP information\n"
11417 + "Display routes matching the community-list\n"
11418 + "community-list name\n")
11420 +DEFSH (VTYSH_BGPD, show_bgp_community3_exact_cmd_vtysh,
11421 + "show bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
11422 + "Show running system information\n"
11423 + "BGP information\n"
11424 + "Display routes matching the communities\n"
11425 + "community number\n"
11426 + "Do not send outside local AS (well-known community)\n"
11427 + "Do not advertise to any peer (well-known community)\n"
11428 + "Do not export to next AS (well-known community)\n"
11429 + "community number\n"
11430 + "Do not send outside local AS (well-known community)\n"
11431 + "Do not advertise to any peer (well-known community)\n"
11432 + "Do not export to next AS (well-known community)\n"
11433 + "community number\n"
11434 + "Do not send outside local AS (well-known community)\n"
11435 + "Do not advertise to any peer (well-known community)\n"
11436 + "Do not export to next AS (well-known community)\n"
11437 + "Exact match of the communities")
11439 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_cmd_vtysh,
11440 + "default-information originate",
11441 + "Control distribution of default information\n"
11442 + "Distribute a default route\n")
11444 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_neighbor_routes_cmd_vtysh,
11445 + "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) routes",
11446 + "Show running system information\n"
11447 + "BGP information\n"
11448 + "Address family\n"
11449 + "Detailed information on TCP and BGP neighbor connections\n"
11450 + "Neighbor to display information about\n"
11451 + "Neighbor to display information about\n"
11452 + "Display routes learned from neighbor\n")
11454 +DEFSH (VTYSH_BGPD, no_bgp_bestpath_aspath_ignore_cmd_vtysh,
11455 + "no bgp bestpath as-path ignore",
11456 + "Negate a command or set its defaults\n"
11457 + "BGP specific commands\n"
11458 + "Change the default bestpath selection\n"
11459 + "AS-path attribute\n"
11460 + "Ignore as-path length in selecting a route\n")
11462 +DEFSH (VTYSH_BGPD, aggregate_address_mask_summary_as_set_cmd_vtysh,
11463 + "aggregate-address A.B.C.D A.B.C.D summary-only as-set",
11464 + "Configure BGP aggregate entries\n"
11465 + "Aggregate address\n"
11466 + "Aggregate mask\n"
11467 + "Filter more specific routes from updates\n"
11468 + "Generate AS set path information\n")
11470 +DEFSH (VTYSH_RIPD, show_debugging_rip_cmd_vtysh,
11471 + "show debugging rip",
11472 + "Show running system information\n"
11473 + "Debugging functions (see also 'undebug')\n"
11474 + "RIP information\n")
11476 +DEFSH (VTYSH_BGPD, undebug_bgp_normal_cmd_vtysh,
11477 + "undebug bgp",
11478 + "Disable debugging functions (see also 'debug')\n"
11479 + "BGP information\n")
11481 +DEFSH (VTYSH_OSPFD, ip_ospf_transmit_delay_cmd_vtysh,
11482 + "ip ospf transmit-delay <1-65535>",
11483 + "IP Information\n"
11484 + "OSPF interface commands\n"
11485 + "Link state transmit delay\n"
11486 + "Seconds\n")
11488 +DEFSH (VTYSH_ZEBRA, ipv6_route_ifname_flags_cmd_vtysh,
11489 + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole)",
11490 + "IP information\n"
11491 + "Establish static routes\n"
11492 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
11493 + "IPv6 gateway address\n"
11494 + "IPv6 gateway interface name\n"
11495 + "Emit an ICMP unreachable when matched\n"
11496 + "Silently discard pkts when matched\n")
11498 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_community2_exact_cmd_vtysh,
11499 + "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
11500 + "Show running system information\n"
11501 + "BGP information\n"
11502 + "Address family\n"
11503 + "Display routes matching the communities\n"
11504 + "community number\n"
11505 + "Do not send outside local AS (well-known community)\n"
11506 + "Do not advertise to any peer (well-known community)\n"
11507 + "Do not export to next AS (well-known community)\n"
11508 + "community number\n"
11509 + "Do not send outside local AS (well-known community)\n"
11510 + "Do not advertise to any peer (well-known community)\n"
11511 + "Do not export to next AS (well-known community)\n"
11512 + "Exact match of the communities")
11514 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_ipv4_soft_out_cmd_vtysh,
11515 + "clear ip bgp A.B.C.D ipv4 (unicast|multicast) soft out",
11516 + "Reset functions\n"
11517 + "IP information\n"
11518 + "BGP information\n"
11519 + "BGP neighbor address to clear\n"
11520 + "Address family\n"
11521 + "Address Family modifier\n"
11522 + "Address Family modifier\n"
11523 + "Soft reconfig\n"
11524 + "Soft reconfig outbound update\n")
11526 +DEFSH (VTYSH_BGPD, match_ipv6_address_cmd_vtysh,
11527 + "match ipv6 address WORD",
11528 + "Match values from routing table\n"
11529 + "IPv6 information\n"
11530 + "Match IPv6 address of route\n"
11531 + "IPv6 access-list name\n")
11533 +DEFSH (VTYSH_ZEBRA, no_debug_zebra_events_cmd_vtysh,
11534 + "no debug zebra events",
11535 + "Negate a command or set its defaults\n"
11536 + "Debugging functions (see also 'undebug')\n"
11537 + "Zebra configuration\n"
11538 + "Debug option set for zebra events\n")
11540 +DEFSH (VTYSH_BGPD, aggregate_address_mask_as_set_summary_cmd_vtysh,
11541 + "aggregate-address A.B.C.D A.B.C.D as-set summary-only",
11542 + "Configure BGP aggregate entries\n"
11543 + "Aggregate address\n"
11544 + "Aggregate mask\n"
11545 + "Generate AS set path information\n"
11546 + "Filter more specific routes from updates\n")
11548 +DEFSH (VTYSH_OSPF6D, ipv6_ospf6_passive_cmd_vtysh,
11549 + "ipv6 ospf6 passive",
11550 + "IPv6 Information\n"
11551 + "Open Shortest Path First (OSPF) for IPv6\n"
11552 + "passive interface: No Adjacency will be formed on this I/F\n"
11555 +DEFSH (VTYSH_RIPNGD, no_debug_ripng_packet_direct_cmd_vtysh,
11556 + "no debug ripng packet (recv|send)",
11557 + "Negate a command or set its defaults\n"
11558 + "Debugging functions (see also 'undebug')\n"
11559 + "RIPng configuration\n"
11560 + "Debug option set for ripng packet\n"
11561 + "Debug option set for receive packet\n"
11562 + "Debug option set for send packet\n")
11564 +DEFSH (VTYSH_BGPD, no_ipv6_bgp_network_cmd_vtysh,
11565 + "no network X:X::X:X/M",
11566 + "Negate a command or set its defaults\n"
11567 + "Specify a network to announce via BGP\n"
11568 + "IPv6 prefix <network>/<length>\n")
11570 +DEFSH (VTYSH_ZEBRA, no_debug_zebra_packet_cmd_vtysh,
11571 + "no debug zebra packet",
11572 + "Negate a command or set its defaults\n"
11573 + "Debugging functions (see also 'undebug')\n"
11574 + "Zebra configuration\n"
11575 + "Debug option set for zebra packet\n")
11577 +DEFSH (VTYSH_ZEBRA, config_table_cmd_vtysh,
11578 + "table TABLENO",
11579 + "Configure target kernel routing table\n"
11580 + "TABLE integer\n")
11582 +DEFSH (VTYSH_OSPF6D, ipv6_ospf6_cost_cmd_vtysh,
11583 + "ipv6 ospf6 cost COST",
11584 + "IPv6 Information\n"
11585 + "Open Shortest Path First (OSPF) for IPv6\n"
11586 + "Interface cost\n"
11587 + "<1-65535> Cost\n"
11590 +DEFSH (VTYSH_BGPD, no_neighbor_attr_unchanged3_cmd_vtysh,
11591 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged next-hop (as-path|med)",
11592 + "Negate a command or set its defaults\n"
11593 + "Specify neighbor router\n"
11594 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
11595 + "BGP attribute is propagated unchanged to this neighbor\n"
11596 + "Nexthop attribute\n"
11597 + "As-path attribute\n"
11598 + "Med attribute\n")
11600 +DEFSH (VTYSH_OSPFD, ip_ospf_hello_interval_cmd_vtysh,
11601 + "ip ospf hello-interval <1-65535>",
11602 + "IP Information\n"
11603 + "OSPF interface commands\n"
11604 + "Time between HELLO packets\n"
11605 + "Seconds\n")
11607 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_rd_neighbor_advertised_routes_cmd_vtysh,
11608 + "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn neighbors A.B.C.D advertised-routes",
11609 + "Show running system information\n"
11610 + "IP information\n"
11611 + "BGP information\n"
11612 + "Display VPNv4 NLRI specific information\n"
11613 + "Display information for a route distinguisher\n"
11614 + "VPN Route Distinguisher\n"
11615 + "Detailed information on TCP and BGP neighbor connections\n"
11616 + "Neighbor to display information about\n"
11617 + "Display the routes advertised to a BGP neighbor\n")
11619 +DEFSH (VTYSH_ZEBRA, show_ip_route_prefix_cmd_vtysh,
11620 + "show ip route A.B.C.D/M",
11621 + "Show running system information\n"
11622 + "IP information\n"
11623 + "IP routing table\n"
11624 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
11626 +DEFSH (VTYSH_RIPD, no_ip_rip_authentication_key_chain_cmd_vtysh,
11627 + "no ip rip authentication key-chain",
11628 + "Negate a command or set its defaults\n"
11629 + "IP information\n"
11630 + "Routing Information Protocol\n"
11631 + "Authentication control\n"
11632 + "Authentication key-chain\n")
11634 +DEFSH (VTYSH_RIPD, send_lifetime_infinite_month_day_cmd_vtysh,
11635 + "send-lifetime HH:MM:SS MONTH <1-31> <1993-2035> infinite",
11636 + "Set send lifetime of the key\n"
11637 + "Time to start\n"
11638 + "Month of the year to start\n"
11639 + "Day of th month to start\n"
11640 + "Year to start\n"
11641 + "Never expires")
11643 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_regexp_cmd_vtysh,
11644 + "show ipv6 mbgp regexp .LINE",
11645 + "Show running system information\n"
11646 + "IP information\n"
11647 + "BGP information\n"
11648 + "Display routes matching the AS path regular expression\n"
11649 + "A regular-expression to match the MBGP AS paths\n")
11651 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_in_prefix_filter_cmd_vtysh,
11652 + "clear ip bgp * in prefix-filter",
11653 + "Reset functions\n"
11654 + "IP information\n"
11655 + "BGP information\n"
11656 + "Clear all peers\n"
11657 + "Soft reconfig inbound update\n"
11658 + "Push out prefix-list ORF and do inbound soft reconfig\n")
11660 +DEFSH (VTYSH_BGPD, show_ip_bgp_flap_regexp_cmd_vtysh,
11661 + "show ip bgp flap-statistics regexp .LINE",
11662 + "Show running system information\n"
11663 + "IP information\n"
11664 + "BGP information\n"
11665 + "Display flap statistics of routes\n"
11666 + "Display routes matching the AS path regular expression\n"
11667 + "A regular-expression to match the BGP AS paths\n")
11669 +DEFSH (VTYSH_OSPFD, ospf_default_metric_cmd_vtysh,
11670 + "default-metric <0-16777214>",
11671 + "Set metric of redistributed routes\n"
11672 + "Default metric\n")
11674 +DEFSH (VTYSH_BGPD, no_bgp_redistribute_ipv6_rmap_metric_cmd_vtysh,
11675 + "no redistribute (connected|kernel|ospf6|ripng|static) route-map WORD metric <0-4294967295>",
11676 + "Negate a command or set its defaults\n"
11677 + "Redistribute information from another routing protocol\n"
11678 + "Connected\n"
11679 + "Kernel routes\n"
11680 + "Open Shurtest Path First (OSPFv3)\n"
11681 + "Routing Information Protocol (RIPng)\n"
11682 + "Static routes\n"
11683 + "Route map reference\n"
11684 + "Pointer to route-map entries\n"
11685 + "Metric for redistributed routes\n"
11686 + "Default metric\n")
11688 +DEFSH (VTYSH_BGPD, show_bgp_neighbor_received_routes_cmd_vtysh,
11689 + "show bgp neighbors (A.B.C.D|X:X::X:X) received-routes",
11690 + "Show running system information\n"
11691 + "BGP information\n"
11692 + "Detailed information on TCP and BGP neighbor connections\n"
11693 + "Neighbor to display information about\n"
11694 + "Neighbor to display information about\n"
11695 + "Display the received routes from neighbor\n")
11697 +DEFSH (VTYSH_ZEBRA, show_zebra_client_cmd_vtysh,
11698 + "show zebra client",
11699 + "Show running system information\n"
11700 + "Zebra information"
11701 + "Client information")
11703 +DEFSH (VTYSH_BGPD, bgp_damp_unset_cmd_vtysh,
11704 + "no bgp dampening",
11705 + "Negate a command or set its defaults\n"
11706 + "BGP Specific commands\n"
11707 + "Enable route-flap dampening\n")
11709 +DEFSH (VTYSH_BGPD, show_ip_bgp_neighbors_cmd_vtysh,
11710 + "show ip bgp neighbors",
11711 + "Show running system information\n"
11712 + "IP information\n"
11713 + "BGP information\n"
11714 + "Detailed information on TCP and BGP neighbor connections\n")
11716 +DEFSH (VTYSH_BGPD, clear_bgp_instance_all_soft_in_cmd_vtysh,
11717 + "clear bgp view WORD * soft in",
11718 + "Reset functions\n"
11719 + "BGP information\n"
11720 + "BGP view\n"
11721 + "view name\n"
11722 + "Clear all peers\n"
11723 + "Soft reconfig\n"
11724 + "Soft reconfig inbound update\n")
11726 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_neighbor_received_prefix_filter_cmd_vtysh,
11727 + "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) received prefix-filter",
11728 + "Show running system information\n"
11729 + "IP information\n"
11730 + "BGP information\n"
11731 + "Address family\n"
11732 + "Address Family modifier\n"
11733 + "Address Family modifier\n"
11734 + "Detailed information on TCP and BGP neighbor connections\n"
11735 + "Neighbor to display information about\n"
11736 + "Neighbor to display information about\n"
11737 + "Display information received from a BGP neighbor\n"
11738 + "Display the prefixlist filter\n")
11740 +DEFSH (VTYSH_BGPD, show_ip_bgp_neighbor_advertised_route_cmd_vtysh,
11741 + "show ip bgp neighbors (A.B.C.D|X:X::X:X) advertised-routes",
11742 + "Show running system information\n"
11743 + "IP information\n"
11744 + "BGP information\n"
11745 + "Detailed information on TCP and BGP neighbor connections\n"
11746 + "Neighbor to display information about\n"
11747 + "Neighbor to display information about\n"
11748 + "Display the routes advertised to a BGP neighbor\n")
11750 +DEFSH (VTYSH_BGPD, show_bgp_instance_ipv6_neighbors_peer_cmd_vtysh,
11751 + "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X)",
11752 + "Show running system information\n"
11753 + "BGP information\n"
11754 + "BGP view\n"
11755 + "View name\n"
11756 + "Address family\n"
11757 + "Detailed information on TCP and BGP neighbor connections\n"
11758 + "Neighbor to display information about\n"
11759 + "Neighbor to display information about\n")
11761 +DEFSH (VTYSH_OSPFD, ospf_area_shortcut_cmd_vtysh,
11762 + "area (A.B.C.D|<0-4294967295>) shortcut (default|enable|disable)",
11763 + "OSPF area parameters\n"
11764 + "OSPF area ID in IP address format\n"
11765 + "OSPF area ID as a decimal value\n"
11766 + "Configure the area's shortcutting mode\n"
11767 + "Set default shortcutting behavior\n"
11768 + "Enable shortcutting through the area\n"
11769 + "Disable shortcutting through the area\n")
11771 +DEFSH (VTYSH_ZEBRA, show_debugging_zebra_cmd_vtysh,
11772 + "show debugging zebra",
11773 + "Show running system information\n"
11774 + "Zebra configuration\n"
11775 + "Debugging information\n")
11777 +DEFSH (VTYSH_BGPD, neighbor_shutdown_cmd_vtysh,
11778 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "shutdown",
11779 + "Specify neighbor router\n"
11780 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
11781 + "Administratively shut down this neighbor\n")
11783 +DEFSH (VTYSH_BGPD, neighbor_transparent_as_cmd_vtysh,
11784 + "neighbor (A.B.C.D|X:X::X:X) " "transparent-as",
11785 + "Specify neighbor router\n"
11786 + "Neighbor address\nIPv6 address\n"
11787 + "Do not append my AS number even peer is EBGP peer\n")
11789 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_as_cmd_vtysh,
11790 + "clear bgp ipv6 <1-65535>",
11791 + "Reset functions\n"
11792 + "BGP information\n"
11793 + "Address family\n"
11794 + "Clear peers with the AS number\n")
11796 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD, no_match_interface_cmd_vtysh,
11797 + "no match interface",
11798 + "Negate a command or set its defaults\n"
11799 + "Match values from routing table\n"
11800 + "Match first hop interface of route\n")
11802 +DEFSH (VTYSH_OSPFD, no_ip_ospf_retransmit_interval_addr_cmd_vtysh,
11803 + "no ip ospf retransmit-interval A.B.C.D",
11804 + "Negate a command or set its defaults\n"
11805 + "IP Information\n"
11806 + "OSPF interface commands\n"
11807 + "Time between retransmitting lost link state advertisements\n"
11808 + "Address of interface")
11810 +DEFSH (VTYSH_BGPD, no_bgp_confederation_identifier_arg_cmd_vtysh,
11811 + "no bgp confederation identifier <1-65535>",
11812 + "Negate a command or set its defaults\n"
11813 + "BGP specific commands\n"
11814 + "AS confederation parameters\n"
11815 + "AS number\n"
11816 + "Set routing domain confederation AS\n")
11818 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_external_soft_cmd_vtysh,
11819 + "clear bgp ipv6 external soft",
11820 + "Reset functions\n"
11821 + "BGP information\n"
11822 + "Address family\n"
11823 + "Clear all external peers\n"
11824 + "Soft reconfig\n")
11826 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_database_type_id_cmd_vtysh,
11827 + "show ipv6 ospf6 database (router|network|as-external|intra-prefix|inter-prefix|inter-router|link|*|HEX) (A.B.C.D|*|dump|detail)",
11828 + "Show running system information\n"
11829 + "IPv6 Information\n"
11830 + "Open Shortest Path First (OSPF) for IPv6\n"
11831 + "LSA Database\n"
11832 + "Router-LSA\n"
11833 + "Network-LSA\n"
11834 + "AS-External-LSA\n"
11835 + "Intra-Area-Prefix-LSA\n"
11836 + "Inter-Area-Router-LSA\n"
11837 + "Inter-Area-Prefix-LSA\n"
11838 + "Link-LSA\n"
11839 + "All LS Type\n"
11840 + "Specify LS Type by Hex\n"
11841 + "Link State ID\n"
11842 + "All Link State ID\n"
11843 + "Dump raw LSA data in Hex\n"
11844 + "show detail of LSAs\n"
11847 +DEFSH (VTYSH_RIPD|VTYSH_BGPD, set_metric_addsub_cmd_vtysh,
11848 + "set metric <+/-metric>",
11849 + "Set values in destination routing protocol\n"
11850 + "Metric value for destination routing protocol\n"
11851 + "Add or subtract BGP metric\n")
11853 +DEFSH (VTYSH_ZEBRA, multicast_cmd_vtysh,
11854 + "multicast",
11855 + "Set multicast flag to interface\n")
11857 +DEFSH (VTYSH_OSPF6D, no_ipv6_ospf6_advertise_prefix_list_cmd_vtysh,
11858 + "no ipv6 ospf6 advertise prefix-list",
11859 + "Negate a command or set its defaults\n"
11860 + "IPv6 Information\n"
11861 + "Open Shortest Path First (OSPF) for IPv6\n"
11862 + "Advertising options\n"
11863 + "Filter prefix using prefix-list\n"
11866 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_vpnv4_in_cmd_vtysh,
11867 + "clear ip bgp * vpnv4 unicast in",
11868 + "Reset functions\n"
11869 + "IP information\n"
11870 + "BGP information\n"
11871 + "Clear all peers\n"
11872 + "Address family\n"
11873 + "Address Family Modifier\n"
11874 + "Soft reconfig inbound update\n")
11876 +DEFSH (VTYSH_OSPFD, no_ospf_neighbor_priority_cmd_vtysh,
11877 + "no neighbor A.B.C.D priority <0-255>",
11878 + "Negate a command or set its defaults\n"
11879 + "Specify neighbor router\n"
11880 + "Neighbor IP address\n"
11881 + "Neighbor Priority\n"
11882 + "Priority\n")
11884 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_seq_ge_le_cmd_vtysh,
11885 + "no ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M ge <0-32> le <0-32>",
11886 + "Negate a command or set its defaults\n"
11887 + "IP information\n"
11888 + "Build a prefix list\n"
11889 + "Name of a prefix list\n"
11890 + "sequence number of an entry\n"
11891 + "Sequence number\n"
11892 + "Specify packets to reject\n"
11893 + "Specify packets to forward\n"
11894 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
11895 + "Minimum prefix length to be matched\n"
11896 + "Minimum prefix length\n"
11897 + "Maximum prefix length to be matched\n"
11898 + "Maximum prefix length\n")
11900 +DEFSH (VTYSH_OSPFD, debug_ospf_nsm_cmd_vtysh,
11901 + "debug ospf nsm",
11902 + "Debugging functions (see also 'undebug')\n"
11903 + "OSPF information\n"
11904 + "OSPF Neighbor State Machine\n")
11906 +DEFSH (VTYSH_OSPFD, show_debugging_ospf_cmd_vtysh,
11907 + "show debugging ospf",
11908 + "Show running system information\n"
11909 + "Debugging functions (see also 'undebug')\n"
11910 + "OSPF information\n")
11912 +DEFSH (VTYSH_RIPD, if_rmap_cmd_vtysh,
11913 + "route-map RMAP_NAME (in|out) IFNAME",
11914 + "Route map set\n"
11915 + "Route map name\n"
11916 + "Route map set for input filtering\n"
11917 + "Route map set for output filtering\n"
11918 + "Route map interface name\n")
11920 +DEFSH (VTYSH_BGPD, show_bgp_filter_list_cmd_vtysh,
11921 + "show bgp filter-list WORD",
11922 + "Show running system information\n"
11923 + "BGP information\n"
11924 + "Display routes conforming to the filter-list\n"
11925 + "Regular expression access list name\n")
11927 +DEFSH (VTYSH_ZEBRA, no_ipv6_address_cmd_vtysh,
11928 + "no ipv6 address X:X::X:X/M",
11929 + "Negate a command or set its defaults\n"
11930 + "Interface Internet Protocol config commands\n"
11931 + "Set the IP address of an interface\n"
11932 + "IPv6 address (e.g. 3ffe:506::1/48)\n")
11934 +DEFSH (VTYSH_BGPD, no_ipv6_aggregate_address_cmd_vtysh,
11935 + "no aggregate-address X:X::X:X/M",
11936 + "Negate a command or set its defaults\n"
11937 + "Configure BGP aggregate entries\n"
11938 + "Aggregate prefix\n")
11940 +DEFSH (VTYSH_OSPFD, no_ospf_area_stub_no_summary_cmd_vtysh,
11941 + "no area (A.B.C.D|<0-4294967295>) stub no-summary",
11942 + "Negate a command or set its defaults\n"
11943 + "OSPF area parameters\n"
11944 + "OSPF area ID in IP address format\n"
11945 + "OSPF area ID as a decimal value\n"
11946 + "Configure OSPF area as stub\n"
11947 + "Do not inject inter-area routes into area\n")
11949 +DEFSH (VTYSH_BGPD, show_bgp_view_cmd_vtysh,
11950 + "show bgp view WORD",
11951 + "Show running system information\n"
11952 + "BGP information\n"
11953 + "BGP view\n"
11954 + "View name\n")
11956 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_summary_cmd_vtysh,
11957 + "show bgp ipv6 summary",
11958 + "Show running system information\n"
11959 + "BGP information\n"
11960 + "Address family\n"
11961 + "Summary of BGP neighbor status\n")
11963 +DEFSH (VTYSH_BGPD, set_local_pref_cmd_vtysh,
11964 + "set local-preference <0-4294967295>",
11965 + "Set values in destination routing protocol\n"
11966 + "BGP local preference path attribute\n"
11967 + "Preference value\n")
11969 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_extended_mask_any_cmd_vtysh,
11970 + "access-list (<100-199>|<2000-2699>) (deny|permit) ip A.B.C.D A.B.C.D any",
11971 + "Add an access list entry\n"
11972 + "IP extended access list\n"
11973 + "IP extended access list (expanded range)\n"
11974 + "Specify packets to reject\n"
11975 + "Specify packets to forward\n"
11976 + "Any Internet Protocol\n"
11977 + "Source address\n"
11978 + "Source wildcard bits\n"
11979 + "Any destination host\n")
11981 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_community4_cmd_vtysh,
11982 + "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
11983 + "Show running system information\n"
11984 + "IPv6 information\n"
11985 + "MBGP information\n"
11986 + "Display routes matching the communities\n"
11987 + "community number\n"
11988 + "Do not send outside local AS (well-known community)\n"
11989 + "Do not advertise to any peer (well-known community)\n"
11990 + "Do not export to next AS (well-known community)\n"
11991 + "community number\n"
11992 + "Do not send outside local AS (well-known community)\n"
11993 + "Do not advertise to any peer (well-known community)\n"
11994 + "Do not export to next AS (well-known community)\n"
11995 + "community number\n"
11996 + "Do not send outside local AS (well-known community)\n"
11997 + "Do not advertise to any peer (well-known community)\n"
11998 + "Do not export to next AS (well-known community)\n"
11999 + "community number\n"
12000 + "Do not send outside local AS (well-known community)\n"
12001 + "Do not advertise to any peer (well-known community)\n"
12002 + "Do not export to next AS (well-known community)\n")
12004 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_filter_list_cmd_vtysh,
12005 + "show ip bgp ipv4 (unicast|multicast) filter-list WORD",
12006 + "Show running system information\n"
12007 + "IP information\n"
12008 + "BGP information\n"
12009 + "Address family\n"
12010 + "Address Family modifier\n"
12011 + "Address Family modifier\n"
12012 + "Display routes conforming to the filter-list\n"
12013 + "Regular expression access list name\n")
12015 +DEFSH (VTYSH_BGPD, no_set_local_pref_cmd_vtysh,
12016 + "no set local-preference",
12017 + "Negate a command or set its defaults\n"
12018 + "Set values in destination routing protocol\n"
12019 + "BGP local preference path attribute\n")
12021 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_community3_cmd_vtysh,
12022 + "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
12023 + "Show running system information\n"
12024 + "IPv6 information\n"
12025 + "BGP information\n"
12026 + "Display routes matching the communities\n"
12027 + "community number\n"
12028 + "Do not send outside local AS (well-known community)\n"
12029 + "Do not advertise to any peer (well-known community)\n"
12030 + "Do not export to next AS (well-known community)\n"
12031 + "community number\n"
12032 + "Do not send outside local AS (well-known community)\n"
12033 + "Do not advertise to any peer (well-known community)\n"
12034 + "Do not export to next AS (well-known community)\n"
12035 + "community number\n"
12036 + "Do not send outside local AS (well-known community)\n"
12037 + "Do not advertise to any peer (well-known community)\n"
12038 + "Do not export to next AS (well-known community)\n")
12040 +DEFSH (VTYSH_BGPD, clear_bgp_peer_cmd_vtysh,
12041 + "clear bgp (A.B.C.D|X:X::X:X)",
12042 + "Reset functions\n"
12043 + "BGP information\n"
12044 + "BGP neighbor address to clear\n"
12045 + "BGP IPv6 neighbor to clear\n")
12047 +DEFSH (VTYSH_ZEBRA, ipv6_route_ifname_pref_cmd_vtysh,
12048 + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE <1-255>",
12049 + "IP information\n"
12050 + "Establish static routes\n"
12051 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
12052 + "IPv6 gateway address\n"
12053 + "IPv6 gateway interface name\n"
12054 + "Distance value for this prefix\n")
12056 +DEFSH (VTYSH_BGPD, clear_bgp_instance_all_soft_out_cmd_vtysh,
12057 + "clear bgp view WORD * soft out",
12058 + "Reset functions\n"
12059 + "BGP information\n"
12060 + "BGP view\n"
12061 + "view name\n"
12062 + "Clear all peers\n"
12063 + "Soft reconfig\n"
12064 + "Soft reconfig outbound update\n")
12066 +DEFSH (VTYSH_RIPNGD, ripng_offset_list_cmd_vtysh,
12067 + "offset-list WORD (in|out) <0-16>",
12068 + "Modify RIPng metric\n"
12069 + "Access-list name\n"
12070 + "For incoming updates\n"
12071 + "For outgoing updates\n"
12072 + "Metric value\n")
12074 +DEFSH (VTYSH_OSPFD, show_ip_ospf_database_type_id_cmd_vtysh,
12075 + "show ip ospf database (" "asbr-summary|external|network|router|summary" "" "" ") A.B.C.D",
12076 + "Show running system information\n"
12077 + "IP information\n"
12078 + "OSPF information\n"
12079 + "Database summary\n"
12080 + "ASBR summary link states\n" "External link states\n" "Network link states\n" "Router link states\n" "Network summary link states\n" "" "" "" ""
12081 + "Link State ID (as an IP address)\n")
12083 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_all_summary_cmd_vtysh,
12084 + "show ip bgp vpnv4 all summary",
12085 + "Show running system information\n"
12086 + "IP information\n"
12087 + "BGP information\n"
12088 + "Display VPNv4 NLRI specific information\n"
12089 + "Display information about all VPNv4 NLRIs\n"
12090 + "Summary of BGP neighbor status\n")
12092 +DEFSH (VTYSH_ZEBRA, no_ipv6_route_ifname_flags_cmd_vtysh,
12093 + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole)",
12094 + "Negate a command or set its defaults\n"
12095 + "IP information\n"
12096 + "Establish static routes\n"
12097 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
12098 + "IPv6 gateway address\n"
12099 + "IPv6 gateway interface name\n"
12100 + "Emit an ICMP unreachable when matched\n"
12101 + "Silently discard pkts when matched\n")
12103 +DEFSH (VTYSH_BGPD, debug_bgp_normal_cmd_vtysh,
12104 + "debug bgp",
12105 + "Debugging functions (see also 'undebug')\n"
12106 + "BGP information\n")
12108 +DEFSH (VTYSH_BGPD, show_ip_bgp_prefix_longer_cmd_vtysh,
12109 + "show ip bgp A.B.C.D/M longer-prefixes",
12110 + "Show running system information\n"
12111 + "IP information\n"
12112 + "BGP information\n"
12113 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
12114 + "Display route and more specific routes\n")
12116 +DEFSH (VTYSH_BGPD, show_ip_bgp_flap_prefix_list_cmd_vtysh,
12117 + "show ip bgp flap-statistics prefix-list WORD",
12118 + "Show running system information\n"
12119 + "IP information\n"
12120 + "BGP information\n"
12121 + "Display flap statistics of routes\n"
12122 + "Display routes conforming to the prefix-list\n"
12123 + "IP prefix-list name\n")
12125 +DEFSH (VTYSH_OSPFD, no_ospf_timers_spf_cmd_vtysh,
12126 + "no timers spf",
12127 + "Negate a command or set its defaults\n"
12128 + "Adjust routing timers\n"
12129 + "OSPF SPF timers\n")
12131 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, clear_ipv6_prefix_list_cmd_vtysh,
12132 + "clear ipv6 prefix-list",
12133 + "Reset functions\n"
12134 + "IPv6 information\n"
12135 + "Build a prefix list\n")
12137 +DEFSH (VTYSH_BGPD, neighbor_set_peer_group_cmd_vtysh,
12138 + "neighbor (A.B.C.D|X:X::X:X) " "peer-group WORD",
12139 + "Specify neighbor router\n"
12140 + "Neighbor address\nIPv6 address\n"
12141 + "Member of the peer-group\n"
12142 + "peer-group name\n")
12144 +DEFSH (VTYSH_RIPNGD, ipv6_ripng_split_horizon_cmd_vtysh,
12145 + "ipv6 ripng split-horizon",
12146 + "IPv6 information\n"
12147 + "Routing Information Protocol\n"
12148 + "Perform split horizon\n")
12150 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_neighborlist_cmd_vtysh,
12151 + "show ipv6 ospf6 (summary-list|request-list|retrans-list|dbdesc-list)",
12152 + "Show running system information\n"
12153 + "IPv6 Information\n"
12154 + "Open Shortest Path First (OSPF) for IPv6\n"
12155 + "Link State summary list\n"
12156 + "Link State request list\n"
12157 + "Link State retransmission list\n"
12158 + "Link State Description list (Used to retrans DbDesc)\n"
12161 +DEFSH (VTYSH_OSPFD, ospf_redistribute_source_type_routemap_cmd_vtysh,
12162 + "redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) route-map WORD",
12163 + "Redistribute information from another routing protocol\n"
12164 + "Kernel routes\n"
12165 + "Connected\n"
12166 + "Static routes\n"
12167 + "Routing Information Protocol (RIP)\n"
12168 + "Border Gateway Protocol (BGP)\n"
12169 + "OSPF exterior metric type for redistributed routes\n"
12170 + "Set OSPF External Type 1 metrics\n"
12171 + "Set OSPF External Type 2 metrics\n"
12172 + "Route map reference\n"
12173 + "Pointer to route-map entries\n")
12175 +DEFSH (VTYSH_BGPD, match_community_cmd_vtysh,
12176 + "match community (<1-99>|<100-199>|WORD)",
12177 + "Match values from routing table\n"
12178 + "Match BGP community list\n"
12179 + "Community-list number (standard)\n"
12180 + "Community-list number (expanded)\n"
12181 + "Community-list name\n")
12183 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, show_ipv6_access_list_name_cmd_vtysh,
12184 + "show ipv6 access-list WORD",
12185 + "Show running system information\n"
12186 + "IPv6 information\n"
12187 + "List IPv6 access lists\n"
12188 + "IPv6 zebra access-list\n")
12190 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_community_list_exact_cmd_vtysh,
12191 + "show ipv6 bgp community-list WORD exact-match",
12192 + "Show running system information\n"
12193 + "IPv6 information\n"
12194 + "BGP information\n"
12195 + "Display routes matching the community-list\n"
12196 + "community-list name\n"
12197 + "Exact match of the communities\n")
12199 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPF6D, no_router_zebra_cmd_vtysh,
12200 + "no router zebra",
12201 + "Negate a command or set its defaults\n"
12202 + "Configure routing process\n"
12203 + "Disable connection to zebra daemon\n")
12205 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_soft_out_cmd_vtysh,
12206 + "clear bgp ipv6 (A.B.C.D|X:X::X:X) soft out",
12207 + "Reset functions\n"
12208 + "BGP information\n"
12209 + "Address family\n"
12210 + "BGP neighbor address to clear\n"
12211 + "BGP IPv6 neighbor to clear\n"
12212 + "Soft reconfig\n"
12213 + "Soft reconfig outbound update\n")
12215 +DEFSH (VTYSH_BGPD, no_bgp_redistribute_ipv4_cmd_vtysh,
12216 + "no redistribute (connected|kernel|ospf|rip|static)",
12217 + "Negate a command or set its defaults\n"
12218 + "Redistribute information from another routing protocol\n"
12219 + "Connected\n"
12220 + "Kernel routes\n"
12221 + "Open Shurtest Path First (OSPF)\n"
12222 + "Routing Information Protocol (RIP)\n"
12223 + "Static routes\n")
12225 +DEFSH (VTYSH_BGPD, neighbor_default_originate_cmd_vtysh,
12226 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "default-originate",
12227 + "Specify neighbor router\n"
12228 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
12229 + "Originate default route to this neighbor\n")
12231 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_area_route_cmd_vtysh,
12232 + "show ipv6 ospf6 area A.B.C.D route",
12233 + "Show running system information\n"
12234 + "IPv6 Information\n"
12235 + "Open Shortest Path First (OSPF) for IPv6\n"
12236 + "Area information\n"
12237 + "Area ID (as an IPv4 notation)\n"
12238 + "Routing Table\n"
12241 +DEFSH (VTYSH_BGPD, no_set_community_val_cmd_vtysh,
12242 + "no set community .AA:NN",
12243 + "Negate a command or set its defaults\n"
12244 + "Set values in destination routing protocol\n"
12245 + "BGP community attribute\n"
12246 + "Community number in aa:nn format or local-AS|no-advertise|no-export|internet or additive\n")
12248 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_cmd_vtysh,
12249 + "clear ip bgp (A.B.C.D|X:X::X:X)",
12250 + "Reset functions\n"
12251 + "IP information\n"
12252 + "BGP information\n"
12253 + "BGP neighbor IP address to clear\n"
12254 + "BGP IPv6 neighbor to clear\n")
12256 +DEFSH (VTYSH_ZEBRA, no_ip_route_mask_flags2_cmd_vtysh,
12257 + "no ip route A.B.C.D A.B.C.D (reject|blackhole)",
12258 + "Negate a command or set its defaults\n"
12259 + "IP information\n"
12260 + "Establish static routes\n"
12261 + "IP destination prefix\n"
12262 + "IP destination prefix mask\n"
12263 + "Emit an ICMP unreachable when matched\n"
12264 + "Silently discard pkts when matched\n")
12266 +DEFSH (VTYSH_ZEBRA, show_ipv6_route_cmd_vtysh,
12267 + "show ipv6 route",
12268 + "Show running system information\n"
12269 + "IP information\n"
12270 + "IPv6 routing table\n")
12272 +DEFSH (VTYSH_OSPFD, no_ospf_area_vlink_authtype_authkey_cmd_vtysh,
12273 + "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
12274 + "(authentication|) "
12275 + "(authentication-key|)",
12276 + "Negate a command or set its defaults\n"
12277 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
12278 + "Enable authentication on this virtual link\n" "dummy string \n"
12279 + "Authentication password (key)\n" "The OSPF password (key)")
12281 +DEFSH (VTYSH_OSPFD, router_ospf_id_cmd_vtysh,
12282 + "router-id A.B.C.D",
12283 + "router-id for the OSPF process\n"
12284 + "OSPF router-id in IP address format\n")
12286 +DEFSH (VTYSH_BGPD, no_debug_bgp_update_cmd_vtysh,
12287 + "no debug bgp updates",
12288 + "Negate a command or set its defaults\n"
12289 + "Debugging functions (see also 'undebug')\n"
12290 + "BGP information\n"
12291 + "BGP updates\n")
12293 +DEFSH (VTYSH_BGPD, no_set_aspath_prepend_cmd_vtysh,
12294 + "no set as-path prepend",
12295 + "Negate a command or set its defaults\n"
12296 + "Set values in destination routing protocol\n"
12297 + "Prepend string for a BGP AS-path attribute\n"
12298 + "Prepend to the as-path\n")
12300 +DEFSH (VTYSH_BGPD, dump_bgp_routes_interval_cmd_vtysh,
12301 + "dump bgp routes-mrt PATH INTERVAL",
12302 + "Dump packet\n"
12303 + "BGP packet dump\n"
12304 + "Dump whole BGP routing table\n"
12305 + "Output filename\n"
12306 + "Interval of output\n")
12308 +DEFSH (VTYSH_RIPD, no_ip_rip_send_version_cmd_vtysh,
12309 + "no ip rip send version",
12310 + "Negate a command or set its defaults\n"
12311 + "IP information\n"
12312 + "Routing Information Protocol\n"
12313 + "Advertisement transmission\n"
12314 + "Version control\n")
12316 +DEFSH (VTYSH_BGPD, neighbor_ebgp_multihop_cmd_vtysh,
12317 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "ebgp-multihop",
12318 + "Specify neighbor router\n"
12319 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
12320 + "Allow EBGP neighbors not on directly connected networks\n")
12322 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD, no_match_interface_val_cmd_vtysh,
12323 + "no match interface WORD",
12324 + "Negate a command or set its defaults\n"
12325 + "Match values from routing table\n"
12326 + "Match first hop interface of route\n"
12327 + "Interface name\n")
12329 +DEFSH (VTYSH_BGPD, no_bgp_redistribute_ipv6_rmap_cmd_vtysh,
12330 + "no redistribute (connected|kernel|ospf6|ripng|static) route-map WORD",
12331 + "Negate a command or set its defaults\n"
12332 + "Redistribute information from another routing protocol\n"
12333 + "Connected\n"
12334 + "Kernel routes\n"
12335 + "Open Shurtest Path First (OSPFv3)\n"
12336 + "Routing Information Protocol (RIPng)\n"
12337 + "Static routes\n"
12338 + "Route map reference\n"
12339 + "Pointer to route-map entries\n")
12341 +DEFSH (VTYSH_RIPNGD, no_ipv6_distribute_list_cmd_vtysh,
12342 + "no distribute-list WORD (in|out) WORD",
12343 + "Negate a command or set its defaults\n"
12344 + "Filter networks in routing updates\n"
12345 + "Access-list name\n"
12346 + "Filter incoming routing updates\n"
12347 + "Filter outgoing routing updates\n"
12348 + "Interface name\n")
12350 +DEFSH (VTYSH_BGPD, no_neighbor_nexthop_self_cmd_vtysh,
12351 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "next-hop-self",
12352 + "Negate a command or set its defaults\n"
12353 + "Specify neighbor router\n"
12354 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
12355 + "Disable the next hop calculation for this neighbor\n")
12357 +DEFSH (VTYSH_OSPFD, show_ip_ospf_neighbor_all_cmd_vtysh,
12358 + "show ip ospf neighbor all",
12359 + "Show running system information\n"
12360 + "IP information\n"
12361 + "OSPF information\n"
12362 + "Neighbor list\n"
12363 + "include down status neighbor\n")
12365 +DEFSH (VTYSH_RIPNGD, show_ipv6_ripng_status_cmd_vtysh,
12366 + "show ipv6 ripng status",
12367 + "Show running system information\n"
12368 + "IP information\n"
12369 + "Show RIPng routes\n"
12370 + "IPv6 routing protocol process parameters and statistics\n")
12372 +DEFSH (VTYSH_BGPD, show_bgp_community_exact_cmd_vtysh,
12373 + "show bgp community (AA:NN|local-AS|no-advertise|no-export) exact-match",
12374 + "Show running system information\n"
12375 + "BGP information\n"
12376 + "Display routes matching the communities\n"
12377 + "community number\n"
12378 + "Do not send outside local AS (well-known community)\n"
12379 + "Do not advertise to any peer (well-known community)\n"
12380 + "Do not export to next AS (well-known community)\n"
12381 + "Exact match of the communities")
12383 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_access_list_any_cmd_vtysh,
12384 + "no ipv6 access-list WORD (deny|permit) any",
12385 + "Negate a command or set its defaults\n"
12386 + "IPv6 information\n"
12387 + "Add an access list entry\n"
12388 + "IPv6 zebra access-list\n"
12389 + "Specify packets to reject\n"
12390 + "Specify packets to forward\n"
12391 + "Any prefixi to match\n")
12393 +DEFSH (VTYSH_BGPD, ip_community_list_name_standard2_cmd_vtysh,
12394 + "ip community-list standard WORD (deny|permit)",
12395 + "IP information\n"
12396 + "Add a community list entry\n"
12397 + "Add a standard community-list entry\n"
12398 + "Community list name\n"
12399 + "Specify community to reject\n"
12400 + "Specify community to accept\n")
12402 +DEFSH (VTYSH_BGPD, no_bgp_bestpath_med3_cmd_vtysh,
12403 + "no bgp bestpath med missing-as-worst confed",
12404 + "Negate a command or set its defaults\n"
12405 + "BGP specific commands\n"
12406 + "Change the default bestpath selection\n"
12407 + "MED attribute\n"
12408 + "Treat missing MED as the least preferred one\n"
12409 + "Compare MED among confederation paths\n")
12411 +DEFSH (VTYSH_BGPD, show_ip_bgp_prefix_cmd_vtysh,
12412 + "show ip bgp A.B.C.D/M",
12413 + "Show running system information\n"
12414 + "IP information\n"
12415 + "BGP information\n"
12416 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
12418 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_access_list_remark_arg_cmd_vtysh,
12419 + "no ipv6 access-list WORD remark .LINE",
12420 + "Negate a command or set its defaults\n"
12421 + "IPv6 information\n"
12422 + "Add an access list entry\n"
12423 + "IPv6 zebra access-list\n"
12424 + "Access list entry comment\n"
12425 + "Comment up to 100 characters\n")
12427 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_interface_cmd_vtysh,
12428 + "show ipv6 ospf6 interface",
12429 + "Show running system information\n"
12430 + "IPv6 Information\n"
12431 + "Open Shortest Path First (OSPF) for IPv6\n"
12432 + "Interface infomation\n"
12435 +DEFSH (VTYSH_BGPD, no_neighbor_strict_capability_cmd_vtysh,
12436 + "no neighbor (A.B.C.D|X:X::X:X) " "strict-capability-match",
12437 + "Negate a command or set its defaults\n"
12438 + "Specify neighbor router\n"
12439 + "Neighbor address\nIPv6 address\n"
12440 + "Strict capability negotiation match\n")
12442 +DEFSH (VTYSH_BGPD, show_bgp_community4_cmd_vtysh,
12443 + "show bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
12444 + "Show running system information\n"
12445 + "BGP information\n"
12446 + "Display routes matching the communities\n"
12447 + "community number\n"
12448 + "Do not send outside local AS (well-known community)\n"
12449 + "Do not advertise to any peer (well-known community)\n"
12450 + "Do not export to next AS (well-known community)\n"
12451 + "community number\n"
12452 + "Do not send outside local AS (well-known community)\n"
12453 + "Do not advertise to any peer (well-known community)\n"
12454 + "Do not export to next AS (well-known community)\n"
12455 + "community number\n"
12456 + "Do not send outside local AS (well-known community)\n"
12457 + "Do not advertise to any peer (well-known community)\n"
12458 + "Do not export to next AS (well-known community)\n"
12459 + "community number\n"
12460 + "Do not send outside local AS (well-known community)\n"
12461 + "Do not advertise to any peer (well-known community)\n"
12462 + "Do not export to next AS (well-known community)\n")
12464 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_always_metric_routemap_cmd_vtysh,
12465 + "default-information originate always metric <0-16777214> route-map WORD",
12466 + "Control distribution of default information\n"
12467 + "Distribute a default route\n"
12468 + "Always advertise default route\n"
12469 + "OSPF default metric\n"
12470 + "OSPF metric\n"
12471 + "Route map reference\n"
12472 + "Pointer to route-map entries\n")
12474 +DEFSH (VTYSH_BGPD, neighbor_update_source_cmd_vtysh,
12475 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "update-source WORD",
12476 + "Specify neighbor router\n"
12477 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
12478 + "Source of routing updates\n"
12479 + "Interface name\n")
12481 +DEFSH (VTYSH_BGPD, show_ip_bgp_view_prefix_cmd_vtysh,
12482 + "show ip bgp view WORD A.B.C.D/M",
12483 + "Show running system information\n"
12484 + "IP information\n"
12485 + "BGP information\n"
12486 + "BGP view\n"
12487 + "BGP view name\n"
12488 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
12490 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_type_routemap_cmd_vtysh,
12491 + "default-information originate metric-type (1|2) route-map WORD",
12492 + "Control distribution of default information\n"
12493 + "Distribute a default route\n"
12494 + "OSPF metric type for default routes\n"
12495 + "Set OSPF External Type 1 metrics\n"
12496 + "Set OSPF External Type 2 metrics\n"
12497 + "Route map reference\n"
12498 + "Pointer to route-map entries\n")
12500 +DEFSH (VTYSH_RIPD, no_set_metric_val_cmd_vtysh,
12501 + "no set metric (<0-4294967295>|<+/-metric>)",
12502 + "Negate a command or set its defaults\n"
12503 + "Set values in destination routing protocol\n"
12504 + "Metric value for destination routing protocol\n"
12505 + "Metric value\n"
12506 + "Add or subtract metric\n")
12508 +DEFSH (VTYSH_RIPD, rip_redistribute_type_metric_routemap_cmd_vtysh,
12509 + "redistribute (kernel|connected|static|ospf|bgp) metric <0-16> route-map WORD",
12510 + "Redistribute information from another routing protocol\n"
12511 + "Kernel routes\n"
12512 + "Connected\n"
12513 + "Static routes\n"
12514 + "Open Shortest Path First (OSPF)\n"
12515 + "Border Gateway Protocol (BGP)\n"
12516 + "Metric\n"
12517 + "Metric value\n"
12518 + "Route map reference\n"
12519 + "Pointer to route-map entries\n")
12521 +DEFSH (VTYSH_OSPFD|VTYSH_OSPF6D, no_set_metric_type_val_cmd_vtysh,
12522 + "no set metric-type (type-1|type-2)",
12523 + "Negate a command or set its defaults\n"
12524 + "Set values in destination routing protocol\n"
12525 + "Type of metric for destination routing protocol\n"
12526 + "OSPF[6] external type 1 metric\n"
12527 + "OSPF[6] external type 2 metric\n")
12529 +DEFSH (VTYSH_OSPFD, no_debug_ospf_nsm_cmd_vtysh,
12530 + "no debug ospf nsm",
12531 + "Negate a command or set its defaults\n"
12532 + "Debugging functions (see also 'undebug')\n"
12533 + "OSPF information\n"
12534 + "OSPF Neighbor State Machine")
12536 +DEFSH (VTYSH_OSPFD, debug_ospf_packet_send_recv_cmd_vtysh,
12537 + "debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv|detail)",
12538 + "Debugging functions\n"
12539 + "OSPF information\n"
12540 + "OSPF packets\n"
12541 + "OSPF Hello\n"
12542 + "OSPF Database Description\n"
12543 + "OSPF Link State Request\n"
12544 + "OSPF Link State Update\n"
12545 + "OSPF Link State Acknowledgment\n"
12546 + "OSPF all packets\n"
12547 + "Packet sent\n"
12548 + "Packet received\n"
12549 + "Detail information\n")
12551 +DEFSH (VTYSH_BGPD, no_neighbor_override_capability_cmd_vtysh,
12552 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "override-capability",
12553 + "Negate a command or set its defaults\n"
12554 + "Specify neighbor router\n"
12555 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
12556 + "Override capability negotiation result\n")
12558 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_neighbor_flap_cmd_vtysh,
12559 + "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) flap-statistics",
12560 + "Show running system information\n"
12561 + "BGP information\n"
12562 + "Address family\n"
12563 + "Detailed information on TCP and BGP neighbor connections\n"
12564 + "Neighbor to display information about\n"
12565 + "Neighbor to display information about\n"
12566 + "Display flap statistics of the routes learned from neighbor\n")
12568 +DEFSH (VTYSH_OSPFD, show_ip_ospf_database_type_id_adv_router_cmd_vtysh,
12569 + "show ip ospf database (" "asbr-summary|external|network|router|summary" "" "" ") A.B.C.D adv-router A.B.C.D",
12570 + "Show running system information\n"
12571 + "IP information\n"
12572 + "OSPF information\n"
12573 + "Database summary\n"
12574 + "ASBR summary link states\n" "External link states\n" "Network link states\n" "Router link states\n" "Network summary link states\n" "" "" "" ""
12575 + "Link State ID (as an IP address)\n"
12576 + "Advertising Router link states\n"
12577 + "Advertising Router (as an IP address)\n")
12579 +DEFSH (VTYSH_OSPFD, ospf_area_stub_cmd_vtysh,
12580 + "area (A.B.C.D|<0-4294967295>) stub",
12581 + "OSPF area parameters\n"
12582 + "OSPF area ID in IP address format\n"
12583 + "OSPF area ID as a decimal value\n"
12584 + "Configure OSPF area as stub\n")
12586 +DEFSH (VTYSH_BGPD, bgp_bestpath_aspath_ignore_cmd_vtysh,
12587 + "bgp bestpath as-path ignore",
12588 + "BGP specific commands\n"
12589 + "Change the default bestpath selection\n"
12590 + "AS-path attribute\n"
12591 + "Ignore as-path length in selecting a route\n")
12593 +DEFSH (VTYSH_OSPFD, no_ospf_area_filter_list_cmd_vtysh,
12594 + "no area (A.B.C.D|<0-4294967295>) filter-list prefix WORD (in|out)",
12595 + "Negate a command or set its defaults\n"
12596 + "OSPF area parameters\n"
12597 + "OSPF area ID in IP address format\n"
12598 + "OSPF area ID as a decimal value\n"
12599 + "Filter networks between OSPF areas\n"
12600 + "Filter prefixes between OSPF areas\n"
12601 + "Name of an IP prefix-list\n"
12602 + "Filter networks sent to this area\n"
12603 + "Filter networks sent from this area\n")
12605 +DEFSH (VTYSH_BGPD, no_ip_community_list_name_standard_cmd_vtysh,
12606 + "no ip community-list standard WORD (deny|permit) .AA:NN",
12607 + "Negate a command or set its defaults\n"
12608 + "IP information\n"
12609 + "Add a community list entry\n"
12610 + "Specify a standard community-list\n"
12611 + "Community list name\n"
12612 + "Specify community to reject\n"
12613 + "Specify community to accept\n"
12614 + "Community number in aa:nn format or internet|local-AS|no-advertise|no-export\n")
12616 +DEFSH (VTYSH_BGPD, no_bgp_network_cmd_vtysh,
12617 + "no network A.B.C.D/M",
12618 + "Negate a command or set its defaults\n"
12619 + "Specify a network to announce via BGP\n"
12620 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
12622 +DEFSH (VTYSH_RIPNGD|VTYSH_BGPD, no_set_ipv6_nexthop_local_val_cmd_vtysh,
12623 + "no set ipv6 next-hop local X:X::X:X",
12624 + "Negate a command or set its defaults\n"
12625 + "Set values in destination routing protocol\n"
12626 + "IPv6 information\n"
12627 + "IPv6 next-hop address\n"
12628 + "IPv6 local address\n"
12629 + "IPv6 address of next hop\n")
12631 +DEFSH (VTYSH_OSPF6D, no_ipv6_ospf6_advertise_force_prefix_cmd_vtysh,
12632 + "no ipv6 ospf6 advertise force-prefix",
12633 + "Negate a command or set its defaults\n"
12634 + "IPv6 Information\n"
12635 + "Open Shortest Path First (OSPF) for IPv6\n"
12636 + "Advertising options\n"
12637 + "Force to advertise prefix, applicable if Loopback or P-to-P\n"
12640 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_topology_router_lsid_cmd_vtysh,
12641 + "show ipv6 ospf6 topology (A.B.C.D|<0-4294967295>) (A.B.C.D|<0-4294967295>)",
12642 + "Show running system information\n"
12643 + "IPv6 Information\n"
12644 + "Open Shortest Path First (OSPF) for IPv6\n"
12645 + "Inter Area topology information\n"
12646 + "Specify Router-ID\n"
12647 + "Specify Router-ID\n"
12648 + "Specify Link State ID\n"
12649 + "Specify Link State ID\n"
12652 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_ipv4_in_prefix_filter_cmd_vtysh,
12653 + "clear ip bgp <1-65535> ipv4 (unicast|multicast) in prefix-filter",
12654 + "Reset functions\n"
12655 + "IP information\n"
12656 + "BGP information\n"
12657 + "Clear peers with the AS number\n"
12658 + "Address family\n"
12659 + "Address Family modifier\n"
12660 + "Address Family modifier\n"
12661 + "Soft reconfig inbound update\n"
12662 + "Push out prefix-list ORF and do inbound soft reconfig\n")
12664 +DEFSH (VTYSH_BGPD, no_neighbor_filter_list_cmd_vtysh,
12665 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "filter-list WORD (in|out)",
12666 + "Negate a command or set its defaults\n"
12667 + "Specify neighbor router\n"
12668 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
12669 + "Establish BGP filters\n"
12670 + "AS path access-list name\n"
12671 + "Filter incoming routes\n"
12672 + "Filter outgoing routes\n")
12674 +DEFSH (VTYSH_BGPD, no_neighbor_capability_route_refresh_cmd_vtysh,
12675 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "capability route-refresh",
12676 + "Negate a command or set its defaults\n"
12677 + "Specify neighbor router\n"
12678 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
12679 + "Advertise capability to the peer\n"
12680 + "Advertise route-refresh capability to this neighbor\n")
12682 +DEFSH (VTYSH_ZEBRA, debug_zebra_events_cmd_vtysh,
12683 + "debug zebra events",
12684 + "Debugging functions (see also 'undebug')\n"
12685 + "Zebra configuration\n"
12686 + "Debug option set for zebra events\n")
12688 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_in_cmd_vtysh,
12689 + "clear bgp ipv6 (A.B.C.D|X:X::X:X) in",
12690 + "Reset functions\n"
12691 + "BGP information\n"
12692 + "Address family\n"
12693 + "BGP neighbor address to clear\n"
12694 + "BGP IPv6 neighbor to clear\n"
12695 + "Soft reconfig inbound update\n")
12697 +DEFSH (VTYSH_OSPFD, ospf_area_stub_no_summary_cmd_vtysh,
12698 + "area (A.B.C.D|<0-4294967295>) stub no-summary",
12699 + "OSPF stub parameters\n"
12700 + "OSPF area ID in IP address format\n"
12701 + "OSPF area ID as a decimal value\n"
12702 + "Configure OSPF area as stub\n"
12703 + "Do not inject inter-area routes into stub\n")
12705 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_prefix_list_description_cmd_vtysh,
12706 + "ipv6 prefix-list WORD description .LINE",
12707 + "IPv6 information\n"
12708 + "Build a prefix list\n"
12709 + "Name of a prefix list\n"
12710 + "Prefix-list specific description\n"
12711 + "Up to 80 characters describing this prefix-list\n")
12713 +DEFSH (VTYSH_OSPFD, ip_ospf_authentication_key_cmd_vtysh,
12714 + "ip ospf authentication-key AUTH_KEY",
12715 + "IP Information\n"
12716 + "OSPF interface commands\n"
12717 + "Authentication password (key)\n"
12718 + "The OSPF password (key)")
12720 +DEFSH (VTYSH_OSPFD, ospf_area_vlink_authtype_args_cmd_vtysh,
12721 + "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
12722 + "(authentication|) (message-digest|null)",
12723 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
12724 + "Enable authentication on this virtual link\n" "dummy string \n" "Use null authentication\n" "Use message-digest authentication\n")
12726 +DEFSH (VTYSH_BGPD, bgp_confederation_peers_cmd_vtysh,
12727 + "bgp confederation peers .<1-65535>",
12728 + "BGP specific commands\n"
12729 + "AS confederation parameters\n"
12730 + "Peer ASs in BGP confederation\n"
12731 + "AS number\n")
12733 +DEFSH (VTYSH_RIPNGD, no_ripng_redistribute_type_metric_cmd_vtysh,
12734 + "no redistribute (kernel|connected|static|ospf6|bgp) metric <0-16>",
12735 + "Negate a command or set its defaults\n"
12736 + "Redistribute information from another routing protocol\n"
12737 + "Kernel routes\n"
12738 + "Connected\n"
12739 + "Static routes\n"
12740 + "Open Shortest Path First (OSPFv3)\n"
12741 + "Border Gateway Protocol (BGP)\n"
12742 + "Metric\n"
12743 + "Metric value\n")
12745 +DEFSH (VTYSH_BGPD, bgp_redistribute_ipv4_rmap_cmd_vtysh,
12746 + "redistribute (connected|kernel|ospf|rip|static) route-map WORD",
12747 + "Redistribute information from another routing protocol\n"
12748 + "Connected\n"
12749 + "Kernel routes\n"
12750 + "Open Shurtest Path First (OSPF)\n"
12751 + "Routing Information Protocol (RIP)\n"
12752 + "Static routes\n"
12753 + "Route map reference\n"
12754 + "Pointer to route-map entries\n")
12756 +DEFSH (VTYSH_RIPNGD, ripng_network_cmd_vtysh,
12757 + "network IF_OR_ADDR",
12758 + "RIPng enable on specified interface or network.\n"
12759 + "Interface or address")
12761 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_type_metric_routemap_cmd_vtysh,
12762 + "default-information originate metric-type (1|2) metric <0-16777214> route-map WORD",
12763 + "Control distribution of default information\n"
12764 + "Distribute a default route\n"
12765 + "OSPF metric type for default routes\n"
12766 + "Set OSPF External Type 1 metrics\n"
12767 + "Set OSPF External Type 2 metrics\n"
12768 + "OSPF default metric\n"
12769 + "OSPF metric\n"
12770 + "Route map reference\n"
12771 + "Pointer to route-map entries\n")
12773 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_extended_cmd_vtysh,
12774 + "access-list (<100-199>|<2000-2699>) (deny|permit) ip A.B.C.D A.B.C.D A.B.C.D A.B.C.D",
12775 + "Add an access list entry\n"
12776 + "IP extended access list\n"
12777 + "IP extended access list (expanded range)\n"
12778 + "Specify packets to reject\n"
12779 + "Specify packets to forward\n"
12780 + "Any Internet Protocol\n"
12781 + "Source address\n"
12782 + "Source wildcard bits\n"
12783 + "Destination address\n"
12784 + "Destination Wildcard bits\n")
12786 +DEFSH (VTYSH_BGPD, clear_bgp_external_in_prefix_filter_cmd_vtysh,
12787 + "clear bgp external in prefix-filter",
12788 + "Reset functions\n"
12789 + "BGP information\n"
12790 + "Clear all external peers\n"
12791 + "Soft reconfig inbound update\n"
12792 + "Push out prefix-list ORF and do inbound soft reconfig\n")
12794 +DEFSH (VTYSH_BGPD, show_bgp_community4_exact_cmd_vtysh,
12795 + "show bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
12796 + "Show running system information\n"
12797 + "BGP information\n"
12798 + "Display routes matching the communities\n"
12799 + "community number\n"
12800 + "Do not send outside local AS (well-known community)\n"
12801 + "Do not advertise to any peer (well-known community)\n"
12802 + "Do not export to next AS (well-known community)\n"
12803 + "community number\n"
12804 + "Do not send outside local AS (well-known community)\n"
12805 + "Do not advertise to any peer (well-known community)\n"
12806 + "Do not export to next AS (well-known community)\n"
12807 + "community number\n"
12808 + "Do not send outside local AS (well-known community)\n"
12809 + "Do not advertise to any peer (well-known community)\n"
12810 + "Do not export to next AS (well-known community)\n"
12811 + "community number\n"
12812 + "Do not send outside local AS (well-known community)\n"
12813 + "Do not advertise to any peer (well-known community)\n"
12814 + "Do not export to next AS (well-known community)\n"
12815 + "Exact match of the communities")
12817 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_cmd_vtysh,
12818 + "no ip prefix-list WORD",
12819 + "Negate a command or set its defaults\n"
12820 + "IP information\n"
12821 + "Build a prefix list\n"
12822 + "Name of a prefix list\n")
12824 +DEFSH (VTYSH_ZEBRA, no_ip_route_flags_cmd_vtysh,
12825 + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole)",
12826 + "Negate a command or set its defaults\n"
12827 + "IP information\n"
12828 + "Establish static routes\n"
12829 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
12830 + "IP gateway address\n"
12831 + "IP gateway interface name\n"
12832 + "Emit an ICMP unreachable when matched\n"
12833 + "Silently discard pkts when matched\n")
12835 +DEFSH (VTYSH_BGPD, clear_bgp_peer_group_soft_out_cmd_vtysh,
12836 + "clear bgp peer-group WORD soft out",
12837 + "Reset functions\n"
12838 + "BGP information\n"
12839 + "Clear all members of peer-group\n"
12840 + "BGP peer-group name\n"
12841 + "Soft reconfig\n"
12842 + "Soft reconfig outbound update\n")
12844 +DEFSH (VTYSH_OSPFD, ospf_message_digest_key_cmd_vtysh,
12845 + "ospf message-digest-key <1-255> md5 KEY",
12846 + "OSPF interface commands\n"
12847 + "Message digest authentication password (key)\n"
12848 + "Key ID\n"
12849 + "Use MD5 algorithm\n"
12850 + "The OSPF password (key)")
12852 +DEFSH (VTYSH_BGPD, undebug_bgp_keepalive_cmd_vtysh,
12853 + "undebug bgp keepalives",
12854 + "Disable debugging functions (see also 'debug')\n"
12855 + "BGP information\n"
12856 + "BGP keepalives\n")
12858 +DEFSH (VTYSH_BGPD, show_bgp_instance_neighbors_peer_cmd_vtysh,
12859 + "show bgp view WORD neighbors (A.B.C.D|X:X::X:X)",
12860 + "Show running system information\n"
12861 + "BGP information\n"
12862 + "BGP view\n"
12863 + "View name\n"
12864 + "Detailed information on TCP and BGP neighbor connections\n"
12865 + "Neighbor to display information about\n"
12866 + "Neighbor to display information about\n")
12868 +DEFSH (VTYSH_RIPD, rip_redistribute_rip_cmd_vtysh,
12869 + "redistribute rip",
12870 + "Redistribute information from another routing protocol\n"
12871 + "Routing Information Protocol (RIP)\n")
12873 +DEFSH (VTYSH_RIPNGD, no_debug_ripng_zebra_cmd_vtysh,
12874 + "no debug ripng zebra",
12875 + "Negate a command or set its defaults\n"
12876 + "Debugging functions (see also 'undebug')\n"
12877 + "RIPng configuration\n"
12878 + "Debug option set for ripng and zebra communication\n")
12880 +DEFSH (VTYSH_OSPFD, no_ospf_compatible_rfc1583_cmd_vtysh,
12881 + "no compatible rfc1583",
12882 + "Negate a command or set its defaults\n"
12883 + "OSPF compatibility list\n"
12884 + "compatible with RFC 1583\n")
12886 +DEFSH (VTYSH_BGPD, no_neighbor_ebgp_multihop_cmd_vtysh,
12887 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "ebgp-multihop",
12888 + "Negate a command or set its defaults\n"
12889 + "Specify neighbor router\n"
12890 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
12891 + "Allow EBGP neighbors not on directly connected networks\n")
12893 +DEFSH (VTYSH_BGPD, aggregate_address_as_set_summary_cmd_vtysh,
12894 + "aggregate-address A.B.C.D/M as-set summary-only",
12895 + "Configure BGP aggregate entries\n"
12896 + "Aggregate prefix\n"
12897 + "Generate AS set path information\n"
12898 + "Filter more specific routes from updates\n")
12900 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_filter_list_cmd_vtysh,
12901 + "show ipv6 mbgp filter-list WORD",
12902 + "Show running system information\n"
12903 + "IPv6 information\n"
12904 + "MBGP information\n"
12905 + "Display routes conforming to the filter-list\n"
12906 + "Regular expression access list name\n")
12908 +DEFSH (VTYSH_BGPD, show_bgp_regexp_cmd_vtysh,
12909 + "show bgp regexp .LINE",
12910 + "Show running system information\n"
12911 + "BGP information\n"
12912 + "Display routes matching the AS path regular expression\n"
12913 + "A regular-expression to match the BGP AS paths\n")
12915 +DEFSH (VTYSH_OSPFD, ospf_abr_type_cmd_vtysh,
12916 + "ospf abr-type (cisco|ibm|shortcut|standard)",
12917 + "OSPF specific commands\n"
12918 + "Set OSPF ABR type\n"
12919 + "Alternative ABR, cisco implementation\n"
12920 + "Alternative ABR, IBM implementation\n"
12921 + "Shortcut ABR\n"
12922 + "Standard behavior (RFC2328)\n")
12924 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD, no_set_metric_cmd_vtysh,
12925 + "no set metric",
12926 + "Negate a command or set its defaults\n"
12927 + "Set values in destination routing protocol\n"
12928 + "Metric value for destination routing protocol\n")
12930 +DEFSH (VTYSH_ZEBRA, ip_address_label_cmd_vtysh,
12931 + "ip address A.B.C.D/M label LINE",
12932 + "Interface Internet Protocol config commands\n"
12933 + "Set the IP address of an interface\n"
12934 + "IP address (e.g. 10.0.0.1/8)\n"
12935 + "Label of this address\n"
12936 + "Label\n")
12938 +DEFSH (VTYSH_BGPD, show_ip_bgp_view_cmd_vtysh,
12939 + "show ip bgp view WORD",
12940 + "Show running system information\n"
12941 + "IP information\n"
12942 + "BGP information\n"
12943 + "BGP view\n"
12944 + "BGP view name\n")
12946 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_seq_le_ge_cmd_vtysh,
12947 + "no ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M le <0-32> ge <0-32>",
12948 + "Negate a command or set its defaults\n"
12949 + "IP information\n"
12950 + "Build a prefix list\n"
12951 + "Name of a prefix list\n"
12952 + "sequence number of an entry\n"
12953 + "Sequence number\n"
12954 + "Specify packets to reject\n"
12955 + "Specify packets to forward\n"
12956 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
12957 + "Maximum prefix length to be matched\n"
12958 + "Maximum prefix length\n"
12959 + "Minimum prefix length to be matched\n"
12960 + "Minimum prefix length\n")
12962 +DEFSH (VTYSH_OSPF6D, debug_ospf6_all_cmd_vtysh,
12963 + "debug ospf6 all",
12964 + "Debugging functions (see also 'undebug')\n"
12965 + "Open Shortest Path First (OSPF) for IPv6\n"
12966 + "Turn on ALL OSPFv3 debugging\n")
12968 +DEFSH (VTYSH_BGPD, debug_bgp_fsm_cmd_vtysh,
12969 + "debug bgp fsm",
12970 + "Debugging functions (see also 'undebug')\n"
12971 + "BGP information\n"
12972 + "BGP Finite State Machine\n")
12974 +DEFSH (VTYSH_OSPFD, no_ospf_area_range_advertise_cmd_vtysh,
12975 + "no area (A.B.C.D|<0-4294967295>) range A.B.C.D/M (advertise|not-advertise)",
12976 + "Negate a command or set its defaults\n"
12977 + "OSPF area parameters\n"
12978 + "OSPF area ID in IP address format\n"
12979 + "OSPF area ID as a decimal value\n"
12980 + "Summarize routes matching address/mask (border routers only)\n"
12981 + "Area range prefix\n"
12982 + "Advertise this range (default)\n"
12983 + "DoNotAdvertise this range\n")
12985 +DEFSH (VTYSH_RIPD, no_ip_rip_receive_version_num_cmd_vtysh,
12986 + "no ip rip receive version (1|2)",
12987 + "Negate a command or set its defaults\n"
12988 + "IP information\n"
12989 + "Routing Information Protocol\n"
12990 + "Advertisement reception\n"
12991 + "Version control\n"
12992 + "Version 1\n"
12993 + "Version 2\n")
12995 +DEFSH (VTYSH_BGPD, show_bgp_instance_summary_cmd_vtysh,
12996 + "show bgp view WORD summary",
12997 + "Show running system information\n"
12998 + "BGP information\n"
12999 + "BGP view\n"
13000 + "View name\n"
13001 + "Summary of BGP neighbor status\n")
13003 +DEFSH (VTYSH_BGPD, set_community_delete_cmd_vtysh,
13004 + "set comm-list (<1-99>|<100-199>|WORD) delete",
13005 + "Set values in destination routing protocol\n"
13006 + "set BGP community list (for deletion)\n"
13007 + "Community-list number (standard)\n"
13008 + "Communitly-list number (expanded)\n"
13009 + "Community-list name\n"
13010 + "Delete matching communities\n")
13012 +DEFSH (VTYSH_RIPNGD, show_debugging_ripng_cmd_vtysh,
13013 + "show debugging ripng",
13014 + "Show running system information\n"
13015 + "RIPng configuration\n"
13016 + "Debugging information\n")
13018 +DEFSH (VTYSH_ZEBRA, no_debug_zebra_kernel_cmd_vtysh,
13019 + "no debug zebra kernel",
13020 + "Negate a command or set its defaults\n"
13021 + "Debugging functions (see also 'undebug')\n"
13022 + "Zebra configuration\n"
13023 + "Debug option set for zebra between kernel interface\n")
13025 +DEFSH (VTYSH_BGPD, show_ip_bgp_dampened_paths_cmd_vtysh,
13026 + "show ip bgp dampened-paths",
13027 + "Show running system information\n"
13028 + "IP information\n"
13029 + "BGP information\n"
13030 + "Display paths suppressed due to dampening\n")
13032 +DEFSH (VTYSH_OSPFD, no_ospf_area_range_advertise_cost_cmd_vtysh,
13033 + "no area (A.B.C.D|<0-4294967295>) range A.B.C.D/M advertise cost <0-16777215>",
13034 + "Negate a command or set its defaults\n"
13035 + "OSPF area parameters\n"
13036 + "OSPF area ID in IP address format\n"
13037 + "OSPF area ID as a decimal value\n"
13038 + "Summarize routes matching address/mask (border routers only)\n"
13039 + "Area range prefix\n"
13040 + "Advertise this range (default)\n"
13041 + "User specified metric for this range\n"
13042 + "Advertised metric for this range\n")
13044 +DEFSH (VTYSH_BGPD, no_set_vpnv4_nexthop_val_cmd_vtysh,
13045 + "no set vpnv4 next-hop A.B.C.D",
13046 + "Negate a command or set its defaults\n"
13047 + "Set values in destination routing protocol\n"
13048 + "VPNv4 information\n"
13049 + "VPNv4 next-hop address\n"
13050 + "IP address of next hop\n")
13052 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_soft_cmd_vtysh,
13053 + "clear ip bgp A.B.C.D soft",
13054 + "Reset functions\n"
13055 + "IP information\n"
13056 + "BGP information\n"
13057 + "BGP neighbor address to clear\n"
13058 + "Soft reconfig\n")
13060 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_community_list_cmd_vtysh,
13061 + "show bgp ipv6 community-list WORD",
13062 + "Show running system information\n"
13063 + "BGP information\n"
13064 + "Address family\n"
13065 + "Display routes matching the community-list\n"
13066 + "community-list name\n")
13068 +DEFSH (VTYSH_BGPD, show_ip_bgp_neighbor_received_prefix_filter_cmd_vtysh,
13069 + "show ip bgp neighbors (A.B.C.D|X:X::X:X) received prefix-filter",
13070 + "Show running system information\n"
13071 + "IP information\n"
13072 + "BGP information\n"
13073 + "Detailed information on TCP and BGP neighbor connections\n"
13074 + "Neighbor to display information about\n"
13075 + "Neighbor to display information about\n"
13076 + "Display information received from a BGP neighbor\n"
13077 + "Display the prefixlist filter\n")
13079 +DEFSH (VTYSH_BGPD, no_set_originator_id_cmd_vtysh,
13080 + "no set originator-id",
13081 + "Negate a command or set its defaults\n"
13082 + "Set values in destination routing protocol\n"
13083 + "BGP originator ID attribute\n")
13085 +DEFSH (VTYSH_ZEBRA, no_multicast_cmd_vtysh,
13086 + "no multicast",
13087 + "Negate a command or set its defaults\n"
13088 + "Unset multicast flag to interface\n")
13090 +DEFSH (VTYSH_BGPD, neighbor_capability_dynamic_cmd_vtysh,
13091 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "capability dynamic",
13092 + "Specify neighbor router\n"
13093 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
13094 + "Advertise capability to the peer\n"
13095 + "Advertise dynamic capability to this neighbor\n")
13097 +DEFSH (VTYSH_OSPFD, no_ip_ospf_authentication_key_cmd_vtysh,
13098 + "no ip ospf authentication-key",
13099 + "Negate a command or set its defaults\n"
13100 + "IP Information\n"
13101 + "OSPF interface commands\n"
13102 + "Authentication password (key)\n")
13104 +DEFSH (VTYSH_BGPD, bgp_multiple_instance_cmd_vtysh,
13105 + "bgp multiple-instance",
13106 + "BGP information\n"
13107 + "Enable bgp multiple instance\n")
13109 +DEFSH (VTYSH_RIPD, no_key_string_cmd_vtysh,
13110 + "no key-string [LINE]",
13111 + "Negate a command or set its defaults\n"
13112 + "Unset key string\n"
13113 + "The key\n")
13115 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_seq_cmd_vtysh,
13116 + "no ip prefix-list WORD seq <1-4294967295> (deny|permit) (A.B.C.D/M|any)",
13117 + "Negate a command or set its defaults\n"
13118 + "IP information\n"
13119 + "Build a prefix list\n"
13120 + "Name of a prefix list\n"
13121 + "sequence number of an entry\n"
13122 + "Sequence number\n"
13123 + "Specify packets to reject\n"
13124 + "Specify packets to forward\n"
13125 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
13126 + "Any prefix match. Same as \"0.0.0.0/0 le 32\"\n")
13128 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_prefix_longer_cmd_vtysh,
13129 + "show ipv6 mbgp X:X::X:X/M longer-prefixes",
13130 + "Show running system information\n"
13131 + "IPv6 information\n"
13132 + "MBGP information\n"
13133 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
13134 + "Display route and more specific routes\n")
13136 +DEFSH (VTYSH_OSPFD, ospf_area_range_advertise_cost_cmd_vtysh,
13137 + "area (A.B.C.D|<0-4294967295>) range A.B.C.D/M advertise cost <0-16777215>",
13138 + "OSPF area parameters\n"
13139 + "OSPF area ID in IP address format\n"
13140 + "OSPF area ID as a decimal value\n"
13141 + "Summarize routes matching address/mask (border routers only)\n"
13142 + "Area range prefix\n"
13143 + "Advertise this range (default)\n"
13144 + "User specified metric for this range\n"
13145 + "Advertised metric for this range\n")
13147 +DEFSH (VTYSH_RIPNGD, ripng_aggregate_address_cmd_vtysh,
13148 + "aggregate-address X:X::X:X/M",
13149 + "Set aggregate RIPng route announcement\n"
13150 + "Aggregate network\n")
13152 +DEFSH (VTYSH_RIPD, ip_rip_authentication_key_chain_cmd_vtysh,
13153 + "ip rip authentication key-chain LINE",
13154 + "IP information\n"
13155 + "Routing Information Protocol\n"
13156 + "Authentication control\n"
13157 + "Authentication key-chain\n"
13158 + "name of key-chain\n")
13160 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_seq_le_cmd_vtysh,
13161 + "no ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M le <0-128>",
13162 + "Negate a command or set its defaults\n"
13163 + "IPv6 information\n"
13164 + "Build a prefix list\n"
13165 + "Name of a prefix list\n"
13166 + "sequence number of an entry\n"
13167 + "Sequence number\n"
13168 + "Specify packets to reject\n"
13169 + "Specify packets to forward\n"
13170 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
13171 + "Maximum prefix length to be matched\n"
13172 + "Maximum prefix length\n")
13174 +DEFSH (VTYSH_OSPFD, no_ospf_default_metric_val_cmd_vtysh,
13175 + "no default-metric <0-16777214>",
13176 + "Negate a command or set its defaults\n"
13177 + "Set metric of redistributed routes\n"
13178 + "Default metric\n")
13180 +DEFSH (VTYSH_OSPFD, ospf_retransmit_interval_cmd_vtysh,
13181 + "ospf retransmit-interval <3-65535>",
13182 + "OSPF interface commands\n"
13183 + "Time between retransmitting lost link state advertisements\n"
13184 + "Seconds\n")
13186 +DEFSH (VTYSH_BGPD, bgp_always_compare_med_cmd_vtysh,
13187 + "bgp always-compare-med",
13188 + "BGP specific commands\n"
13189 + "Allow comparing MED from different neighbors\n")
13191 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_database_type_id_adv_router_cmd_vtysh,
13192 + "show ipv6 ospf6 database (router|network|as-external|intra-prefix|inter-prefix|inter-router|link|*|HEX) (A.B.C.D|*) (A.B.C.D|*|dump|detail)",
13193 + "Show running system information\n"
13194 + "IPv6 Information\n"
13195 + "Open Shortest Path First (OSPF) for IPv6\n"
13196 + "LSA Database\n"
13197 + "Router-LSA\n"
13198 + "Network-LSA\n"
13199 + "AS-External-LSA\n"
13200 + "Intra-Area-Prefix-LSA\n"
13201 + "Inter-Area-Router-LSA\n"
13202 + "Inter-Area-Prefix-LSA\n"
13203 + "Link-LSA\n"
13204 + "All LS Type\n"
13205 + "Specify LS Type by Hex\n"
13206 + "Link State ID\n"
13207 + "All Link State ID\n"
13208 + "Advertising Router\n"
13209 + "All Advertising Router\n"
13210 + "Dump raw LSA data in Hex\n"
13211 + "show detail of LSAs\n"
13214 +DEFSH (VTYSH_BGPD, clear_bgp_peer_soft_out_cmd_vtysh,
13215 + "clear bgp (A.B.C.D|X:X::X:X) soft out",
13216 + "Reset functions\n"
13217 + "BGP information\n"
13218 + "BGP neighbor address to clear\n"
13219 + "BGP IPv6 neighbor to clear\n"
13220 + "Soft reconfig\n"
13221 + "Soft reconfig outbound update\n")
13223 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_seq_ge_le_cmd_vtysh,
13224 + "no ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M ge <0-128> le <0-128>",
13225 + "Negate a command or set its defaults\n"
13226 + "IPv6 information\n"
13227 + "Build a prefix list\n"
13228 + "Name of a prefix list\n"
13229 + "sequence number of an entry\n"
13230 + "Sequence number\n"
13231 + "Specify packets to reject\n"
13232 + "Specify packets to forward\n"
13233 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
13234 + "Minimum prefix length to be matched\n"
13235 + "Minimum prefix length\n"
13236 + "Maximum prefix length to be matched\n"
13237 + "Maximum prefix length\n")
13239 +DEFSH (VTYSH_BGPD, clear_bgp_peer_group_in_cmd_vtysh,
13240 + "clear bgp peer-group WORD in",
13241 + "Reset functions\n"
13242 + "BGP information\n"
13243 + "Clear all members of peer-group\n"
13244 + "BGP peer-group name\n"
13245 + "Soft reconfig inbound update\n")
13247 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_cmd_vtysh,
13248 + "access-list WORD (deny|permit) A.B.C.D/M",
13249 + "Add an access list entry\n"
13250 + "IP zebra access-list name\n"
13251 + "Specify packets to reject\n"
13252 + "Specify packets to forward\n"
13253 + "Prefix to match. e.g. 10.0.0.0/8\n")
13255 +DEFSH (VTYSH_RIPD, no_rip_distance_cmd_vtysh,
13256 + "no distance <1-255>",
13257 + "Negate a command or set its defaults\n"
13258 + "Administrative distance\n"
13259 + "Distance value\n")
13261 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_community2_exact_cmd_vtysh,
13262 + "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
13263 + "Show running system information\n"
13264 + "IP information\n"
13265 + "BGP information\n"
13266 + "Address family\n"
13267 + "Address Family modifier\n"
13268 + "Address Family modifier\n"
13269 + "Display routes matching the communities\n"
13270 + "community number\n"
13271 + "Do not send outside local AS (well-known community)\n"
13272 + "Do not advertise to any peer (well-known community)\n"
13273 + "Do not export to next AS (well-known community)\n"
13274 + "community number\n"
13275 + "Do not send outside local AS (well-known community)\n"
13276 + "Do not advertise to any peer (well-known community)\n"
13277 + "Do not export to next AS (well-known community)\n"
13278 + "Exact match of the communities")
13280 +DEFSH (VTYSH_ZEBRA, no_ipv6_route_ifname_cmd_vtysh,
13281 + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE",
13282 + "Negate a command or set its defaults\n"
13283 + "IP information\n"
13284 + "Establish static routes\n"
13285 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
13286 + "IPv6 gateway address\n"
13287 + "IPv6 gateway interface name\n")
13289 +DEFSH (VTYSH_BGPD, show_ip_bgp_community_exact_cmd_vtysh,
13290 + "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) exact-match",
13291 + "Show running system information\n"
13292 + "IP information\n"
13293 + "BGP information\n"
13294 + "Display routes matching the communities\n"
13295 + "community number\n"
13296 + "Do not send outside local AS (well-known community)\n"
13297 + "Do not advertise to any peer (well-known community)\n"
13298 + "Do not export to next AS (well-known community)\n"
13299 + "Exact match of the communities")
13301 +DEFSH (VTYSH_BGPD, show_ip_bgp_instance_neighbors_cmd_vtysh,
13302 + "show ip bgp view WORD neighbors",
13303 + "Show running system information\n"
13304 + "IP information\n"
13305 + "BGP information\n"
13306 + "BGP view\n"
13307 + "View name\n"
13308 + "Detailed information on TCP and BGP neighbor connections\n")
13310 +DEFSH (VTYSH_ZEBRA, show_ipv6_route_prefix_longer_cmd_vtysh,
13311 + "show ipv6 route X:X::X:X/M longer-prefixes",
13312 + "Show running system information\n"
13313 + "IP information\n"
13314 + "IPv6 routing table\n"
13315 + "IPv6 prefix\n"
13316 + "Show route matching the specified Network/Mask pair only\n")
13318 +DEFSH (VTYSH_BGPD, no_neighbor_route_server_client_cmd_vtysh,
13319 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "route-server-client",
13320 + "Negate a command or set its defaults\n"
13321 + "Specify neighbor router\n"
13322 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
13323 + "Configure a neighbor as Route Server client\n")
13325 +DEFSH (VTYSH_BGPD, show_bgp_view_ipv6_cmd_vtysh,
13326 + "show bgp view WORD ipv6",
13327 + "Show running system information\n"
13328 + "BGP information\n"
13329 + "BGP view\n"
13330 + "View name\n"
13331 + "Address family\n")
13333 +DEFSH (VTYSH_OSPFD, no_ospf_redistribute_source_cmd_vtysh,
13334 + "no redistribute (kernel|connected|static|rip|bgp)",
13335 + "Negate a command or set its defaults\n"
13336 + "Redistribute information from another routing protocol\n"
13337 + "Kernel routes\n"
13338 + "Connected\n"
13339 + "Static routes\n"
13340 + "Routing Information Protocol (RIP)\n"
13341 + "Border Gateway Protocol (BGP)\n")
13343 +DEFSH (VTYSH_OSPFD, no_ospf_cost_cmd_vtysh,
13344 + "no ospf cost",
13345 + "Negate a command or set its defaults\n"
13346 + "OSPF interface commands\n"
13347 + "Interface cost\n")
13349 +DEFSH (VTYSH_BGPD, no_neighbor_distribute_list_cmd_vtysh,
13350 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "distribute-list (<1-199>|<1300-2699>|WORD) (in|out)",
13351 + "Negate a command or set its defaults\n"
13352 + "Specify neighbor router\n"
13353 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
13354 + "Filter updates to/from this neighbor\n"
13355 + "IP access-list number\n"
13356 + "IP access-list number (expanded range)\n"
13357 + "IP Access-list name\n"
13358 + "Filter incoming updates\n"
13359 + "Filter outgoing updates\n")
13361 +DEFSH (VTYSH_BGPD, no_ip_extcommunity_list_name_standard_cmd_vtysh,
13362 + "no ip extcommunity-list standard WORD (deny|permit) .AA:NN",
13363 + "Negate a command or set its defaults\n"
13364 + "IP information\n"
13365 + "Add a extended community list entry\n"
13366 + "Specify standard extcommunity-list\n"
13367 + "Extended Community list name\n"
13368 + "Specify community to reject\n"
13369 + "Specify community to accept\n"
13370 + "Extended community attribute in 'rt aa:nn_or_IPaddr:nn' OR 'soo aa:nn_or_IPaddr:nn' format\n")
13372 +DEFSH (VTYSH_BGPD, no_bgp_bestpath_compare_router_id_cmd_vtysh,
13373 + "no bgp bestpath compare-routerid",
13374 + "Negate a command or set its defaults\n"
13375 + "BGP specific commands\n"
13376 + "Change the default bestpath selection\n"
13377 + "Compare router-id for identical EBGP paths\n")
13379 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_group_ipv4_in_prefix_filter_cmd_vtysh,
13380 + "clear ip bgp peer-group WORD ipv4 (unicast|multicast) in prefix-filter",
13381 + "Reset functions\n"
13382 + "IP information\n"
13383 + "BGP information\n"
13384 + "Clear all members of peer-group\n"
13385 + "BGP peer-group name\n"
13386 + "Address family\n"
13387 + "Address Family modifier\n"
13388 + "Address Family modifier\n"
13389 + "Soft reconfig inbound update\n"
13390 + "Push out prefix-list ORF and do inbound soft reconfig\n")
13392 +DEFSH (VTYSH_OSPFD, ospf_priority_cmd_vtysh,
13393 + "ospf priority <0-255>",
13394 + "OSPF interface commands\n"
13395 + "Router priority\n"
13396 + "Priority\n")
13398 +DEFSH (VTYSH_OSPFD, ip_ospf_dead_interval_addr_cmd_vtysh,
13399 + "ip ospf dead-interval <1-65535> A.B.C.D",
13400 + "IP Information\n"
13401 + "OSPF interface commands\n"
13402 + "Interval after which a neighbor is declared dead\n"
13403 + "Seconds\n"
13404 + "Address of interface")
13406 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_database_type_cmd_vtysh,
13407 + "show ipv6 ospf6 database (router|network|as-external|intra-prefix|inter-prefix|inter-router|link|*|HEX|dump|detail)",
13408 + "Show running system information\n"
13409 + "IPv6 Information\n"
13410 + "Open Shortest Path First (OSPF) for IPv6\n"
13411 + "LSA Database\n"
13412 + "Router-LSA\n"
13413 + "Network-LSA\n"
13414 + "AS-External-LSA\n"
13415 + "Intra-Area-Prefix-LSA\n"
13416 + "Inter-Area-Router-LSA\n"
13417 + "Inter-Area-Prefix-LSA\n"
13418 + "Link-LSA\n"
13419 + "All LS Type\n"
13420 + "Specify LS Type by Hex\n"
13421 + "Dump raw LSA data in Hex\n"
13422 + "show detail of LSAs\n"
13425 +DEFSH (VTYSH_BGPD, clear_bgp_peer_in_cmd_vtysh,
13426 + "clear bgp (A.B.C.D|X:X::X:X) in",
13427 + "Reset functions\n"
13428 + "BGP information\n"
13429 + "BGP neighbor address to clear\n"
13430 + "BGP IPv6 neighbor to clear\n"
13431 + "Soft reconfig inbound update\n")
13433 +DEFSH (VTYSH_BGPD, bgp_network_mask_natural_route_map_cmd_vtysh,
13434 + "network A.B.C.D route-map WORD",
13435 + "Specify a network to announce via BGP\n"
13436 + "Network number\n"
13437 + "Route-map to modify the attributes\n"
13438 + "Name of the route map\n")
13440 +DEFSH (VTYSH_OSPFD, ospf_hello_interval_cmd_vtysh,
13441 + "ospf hello-interval <1-65535>",
13442 + "OSPF interface commands\n"
13443 + "Time between HELLO packets\n"
13444 + "Seconds\n")
13446 +DEFSH (VTYSH_RIPNGD, no_ipv6_distribute_list_all_cmd_vtysh,
13447 + "no distribute-list WORD (in|out)",
13448 + "Negate a command or set its defaults\n"
13449 + "Filter networks in routing updates\n"
13450 + "Access-list name\n"
13451 + "Filter incoming routing updates\n"
13452 + "Filter outgoing routing updates\n")
13454 +DEFSH (VTYSH_BGPD, no_dump_bgp_routes_cmd_vtysh,
13455 + "no dump bgp routes-mrt [PATH] [INTERVAL]",
13456 + "Negate a command or set its defaults\n"
13457 + "Dump packet\n"
13458 + "BGP packet dump\n"
13459 + "Dump whole BGP routing table\n")
13461 +DEFSH (VTYSH_BGPD, show_bgp_view_neighbor_routes_cmd_vtysh,
13462 + "show bgp view WORD neighbors (A.B.C.D|X:X::X:X) routes",
13463 + "Show running system information\n"
13464 + "BGP information\n"
13465 + "BGP view\n"
13466 + "BGP view name\n"
13467 + "Detailed information on TCP and BGP neighbor connections\n"
13468 + "Neighbor to display information about\n"
13469 + "Neighbor to display information about\n"
13470 + "Display routes learned from neighbor\n")
13472 +DEFSH (VTYSH_OSPFD, no_ip_ospf_authentication_addr_cmd_vtysh,
13473 + "no ip ospf authentication A.B.C.D",
13474 + "Negate a command or set its defaults\n"
13475 + "IP Information\n"
13476 + "OSPF interface commands\n"
13477 + "Enable authentication on this interface\n"
13478 + "Address of interface")
13480 +DEFSH (VTYSH_BGPD, clear_bgp_all_in_cmd_vtysh,
13481 + "clear bgp * in",
13482 + "Reset functions\n"
13483 + "BGP information\n"
13484 + "Clear all peers\n"
13485 + "Soft reconfig inbound update\n")
13487 +DEFSH (VTYSH_BGPD, dump_bgp_all_interval_cmd_vtysh,
13488 + "dump bgp all PATH INTERVAL",
13489 + "Dump packet\n"
13490 + "BGP packet dump\n"
13491 + "Dump all BGP packets\n"
13492 + "Output filename\n"
13493 + "Interval of output\n")
13495 +DEFSH (VTYSH_BGPD, no_ip_community_list_cmd_vtysh,
13496 + "no ip community-list WORD (deny|permit) .AA:NN",
13497 + "Negate a command or set its defaults\n"
13498 + "IP information\n"
13499 + "Add a community list entry\n"
13500 + "Community list name\n"
13501 + "Specify community to reject\n"
13502 + "Specify community to accept\n"
13503 + "Community number in aa:nn format or internet|local-AS|no-advertise|no-export\n")
13505 +DEFSH (VTYSH_OSPFD, show_ip_ospf_neighbor_detail_cmd_vtysh,
13506 + "show ip ospf neighbor detail",
13507 + "Show running system information\n"
13508 + "IP information\n"
13509 + "OSPF information\n"
13510 + "Neighbor list\n"
13511 + "detail of all neighbors\n")
13513 +DEFSH (VTYSH_BGPD, aggregate_address_summary_only_cmd_vtysh,
13514 + "aggregate-address A.B.C.D/M summary-only",
13515 + "Configure BGP aggregate entries\n"
13516 + "Aggregate prefix\n"
13517 + "Filter more specific routes from updates\n")
13519 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_rd_tags_cmd_vtysh,
13520 + "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn tags",
13521 + "Show running system information\n"
13522 + "IP information\n"
13523 + "BGP information\n"
13524 + "Display VPNv4 NLRI specific information\n"
13525 + "Display information for a route distinguisher\n"
13526 + "VPN Route Distinguisher\n"
13527 + "Display BGP tags for prefixes\n")
13529 +DEFSH (VTYSH_RIPNGD, debug_ripng_events_cmd_vtysh,
13530 + "debug ripng events",
13531 + "Debugging functions (see also 'undebug')\n"
13532 + "RIPng configuration\n"
13533 + "Debug option set for ripng events\n")
13535 +DEFSH (VTYSH_OSPFD, ospf_redistribute_source_metric_type_routemap_cmd_vtysh,
13536 + "redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> metric-type (1|2) route-map WORD",
13537 + "Redistribute information from another routing protocol\n"
13538 + "Kernel routes\n"
13539 + "Connected\n"
13540 + "Static routes\n"
13541 + "Routing Information Protocol (RIP)\n"
13542 + "Border Gateway Protocol (BGP)\n"
13543 + "Metric for redistributed routes\n"
13544 + "OSPF default metric\n"
13545 + "OSPF exterior metric type for redistributed routes\n"
13546 + "Set OSPF External Type 1 metrics\n"
13547 + "Set OSPF External Type 2 metrics\n"
13548 + "Route map reference\n"
13549 + "Pointer to route-map entries\n")
13551 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_vpnv4_soft_in_cmd_vtysh,
13552 + "clear ip bgp A.B.C.D vpnv4 unicast soft in",
13553 + "Reset functions\n"
13554 + "IP information\n"
13555 + "BGP information\n"
13556 + "BGP neighbor address to clear\n"
13557 + "Address family\n"
13558 + "Address Family Modifier\n"
13559 + "Soft reconfig\n"
13560 + "Soft reconfig inbound update\n")
13562 +DEFSH (VTYSH_RIPNGD, no_ripng_default_metric_cmd_vtysh,
13563 + "no default-metric",
13564 + "Negate a command or set its defaults\n"
13565 + "Set a metric of redistribute routes\n"
13566 + "Default metric\n")
13568 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_ipv4_in_cmd_vtysh,
13569 + "clear ip bgp <1-65535> ipv4 (unicast|multicast) in",
13570 + "Reset functions\n"
13571 + "IP information\n"
13572 + "BGP information\n"
13573 + "Clear peers with the AS number\n"
13574 + "Address family\n"
13575 + "Address Family modifier\n"
13576 + "Address Family modifier\n"
13577 + "Soft reconfig inbound update\n")
13579 +DEFSH (VTYSH_OSPFD, no_ospf_dead_interval_cmd_vtysh,
13580 + "no ospf dead-interval",
13581 + "Negate a command or set its defaults\n"
13582 + "OSPF interface commands\n"
13583 + "Interval after which a neighbor is declared dead\n")
13585 +DEFSH (VTYSH_OSPFD, no_ip_ospf_transmit_delay_cmd_vtysh,
13586 + "no ip ospf transmit-delay",
13587 + "Negate a command or set its defaults\n"
13588 + "IP Information\n"
13589 + "OSPF interface commands\n"
13590 + "Link state transmit delay\n")
13592 +DEFSH (VTYSH_BGPD, no_neighbor_maximum_prefix_val_cmd_vtysh,
13593 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "maximum-prefix <1-4294967295>",
13594 + "Negate a command or set its defaults\n"
13595 + "Specify neighbor router\n"
13596 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
13597 + "Maximum number of prefix accept from this peer\n"
13598 + "maximum no. of prefix limit\n")
13600 +DEFSH (VTYSH_RIPNGD, no_ripng_redistribute_type_metric_routemap_cmd_vtysh,
13601 + "no redistribute (kernel|connected|static|ospf6|bgp) metric <0-16> route-map WORD",
13602 + "Negate a command or set its defaults\n"
13603 + "Redistribute information from another routing protocol\n"
13604 + "Kernel routes\n"
13605 + "Connected\n"
13606 + "Static routes\n"
13607 + "Open Shortest Path First (OSPFv3)\n"
13608 + "Border Gateway Protocol (BGP)\n"
13609 + "Route map reference\n"
13610 + "Pointer to route-map entries\n")
13612 +DEFSH (VTYSH_RIPD, no_ip_rip_authentication_mode_type_cmd_vtysh,
13613 + "no ip rip authentication mode (md5|text)",
13614 + "Negate a command or set its defaults\n"
13615 + "IP information\n"
13616 + "Routing Information Protocol\n"
13617 + "Authentication control\n"
13618 + "Authentication mode\n"
13619 + "Keyed message digest\n"
13620 + "Clear text authentication\n")
13622 +DEFSH (VTYSH_BGPD, show_ip_bgp_instance_summary_cmd_vtysh,
13623 + "show ip bgp view WORD summary",
13624 + "Show running system information\n"
13625 + "IP information\n"
13626 + "BGP information\n"
13627 + "BGP view\n"
13628 + "View name\n"
13629 + "Summary of BGP neighbor status\n")
13631 +DEFSH (VTYSH_OSPFD, ospf_redistribute_source_routemap_cmd_vtysh,
13632 + "redistribute (kernel|connected|static|rip|bgp) route-map WORD",
13633 + "Redistribute information from another routing protocol\n"
13634 + "Kernel routes\n"
13635 + "Connected\n"
13636 + "Static routes\n"
13637 + "Routing Information Protocol (RIP)\n"
13638 + "Border Gateway Protocol (BGP)\n"
13639 + "Route map reference\n"
13640 + "Pointer to route-map entries\n")
13642 +DEFSH (VTYSH_ZEBRA, no_bandwidth_if_cmd_vtysh,
13643 + "no bandwidth",
13644 + "Negate a command or set its defaults\n"
13645 + "Set bandwidth informational parameter\n")
13647 +DEFSH (VTYSH_OSPFD, no_ip_ospf_authentication_cmd_vtysh,
13648 + "no ip ospf authentication",
13649 + "Negate a command or set its defaults\n"
13650 + "IP Information\n"
13651 + "OSPF interface commands\n"
13652 + "Enable authentication on this interface\n")
13654 +DEFSH (VTYSH_BGPD, neighbor_maximum_prefix_warning_cmd_vtysh,
13655 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "maximum-prefix <1-4294967295> warning-only",
13656 + "Specify neighbor router\n"
13657 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
13658 + "Maximum number of prefix accept from this peer\n"
13659 + "maximum no. of prefix limit\n"
13660 + "Only give warning message when limit is exceeded\n")
13662 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_ipv4_soft_in_cmd_vtysh,
13663 + "clear ip bgp <1-65535> ipv4 (unicast|multicast) soft in",
13664 + "Reset functions\n"
13665 + "IP information\n"
13666 + "BGP information\n"
13667 + "Clear peers with the AS number\n"
13668 + "Address family\n"
13669 + "Address Family modifier\n"
13670 + "Address Family modifier\n"
13671 + "Soft reconfig\n"
13672 + "Soft reconfig inbound update\n")
13674 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_neighbors_cmd_vtysh,
13675 + "show ip bgp ipv4 (unicast|multicast) neighbors",
13676 + "Show running system information\n"
13677 + "IP information\n"
13678 + "BGP information\n"
13679 + "Address family\n"
13680 + "Address Family modifier\n"
13681 + "Address Family modifier\n"
13682 + "Detailed information on TCP and BGP neighbor connections\n")
13684 +DEFSH (VTYSH_ZEBRA, ip_route_flags_distance_cmd_vtysh,
13685 + "ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) <1-255>",
13686 + "IP information\n"
13687 + "Establish static routes\n"
13688 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
13689 + "IP gateway address\n"
13690 + "IP gateway interface name\n"
13691 + "Emit an ICMP unreachable when matched\n"
13692 + "Silently discard pkts when matched\n"
13693 + "Distance value for this route\n")
13695 +DEFSH (VTYSH_BGPD, ip_community_list_standard2_cmd_vtysh,
13696 + "ip community-list <1-99> (deny|permit)",
13697 + "IP information\n"
13698 + "Add a community list entry\n"
13699 + "Community list number (standard)\n"
13700 + "Specify community to reject\n"
13701 + "Specify community to accept\n")
13703 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_community_list_exact_cmd_vtysh,
13704 + "show ipv6 mbgp community-list WORD exact-match",
13705 + "Show running system information\n"
13706 + "IPv6 information\n"
13707 + "MBGP information\n"
13708 + "Display routes matching the community-list\n"
13709 + "community-list name\n"
13710 + "Exact match of the communities\n")
13712 +DEFSH (VTYSH_BGPD, no_set_vpnv4_nexthop_cmd_vtysh,
13713 + "no set vpnv4 next-hop",
13714 + "Negate a command or set its defaults\n"
13715 + "Set values in destination routing protocol\n"
13716 + "VPNv4 information\n"
13717 + "VPNv4 next-hop address\n")
13719 +DEFSH (VTYSH_BGPD, no_match_aspath_val_cmd_vtysh,
13720 + "no match as-path WORD",
13721 + "Negate a command or set its defaults\n"
13722 + "Match values from routing table\n"
13723 + "Match BGP AS path list\n"
13724 + "AS path access-list name\n")
13726 +DEFSH (VTYSH_BGPD, clear_bgp_all_soft_cmd_vtysh,
13727 + "clear bgp * soft",
13728 + "Reset functions\n"
13729 + "BGP information\n"
13730 + "Clear all peers\n"
13731 + "Soft reconfig\n")
13733 +DEFSH (VTYSH_BGPD, no_bgp_scan_time_cmd_vtysh,
13734 + "no bgp scan-time",
13735 + "Negate a command or set its defaults\n"
13736 + "BGP specific commands\n"
13737 + "Configure background scanner interval\n")
13739 +DEFSH (VTYSH_BGPD, clear_ip_bgp_external_in_cmd_vtysh,
13740 + "clear ip bgp external in",
13741 + "Reset functions\n"
13742 + "IP information\n"
13743 + "BGP information\n"
13744 + "Clear all external peers\n"
13745 + "Soft reconfig inbound update\n")
13747 +DEFSH (VTYSH_BGPD, show_ip_bgp_neighbor_damp_cmd_vtysh,
13748 + "show ip bgp neighbors (A.B.C.D|X:X::X:X) dampened-routes",
13749 + "Show running system information\n"
13750 + "IP information\n"
13751 + "BGP information\n"
13752 + "Detailed information on TCP and BGP neighbor connections\n"
13753 + "Neighbor to display information about\n"
13754 + "Neighbor to display information about\n"
13755 + "Display the dampened routes received from neighbor\n")
13757 +DEFSH (VTYSH_OSPFD, no_ospf_area_vlink_md5_cmd_vtysh,
13758 + "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
13759 + "(message-digest-key|) <1-255>",
13760 + "Negate a command or set its defaults\n"
13761 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
13762 + "Message digest authentication password (key)\n" "dummy string \n" "Key ID\n" "Use MD5 algorithm\n" "The OSPF password (key)")
13764 +DEFSH (VTYSH_OSPFD, debug_ospf_event_cmd_vtysh,
13765 + "debug ospf event",
13766 + "Debugging functions (see also 'undebug')\n"
13767 + "OSPF information\n"
13768 + "OSPF event information\n")
13770 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_prefix_list_sequence_number_cmd_vtysh,
13771 + "ipv6 prefix-list sequence-number",
13772 + "IPv6 information\n"
13773 + "Build a prefix list\n"
13774 + "Include/exclude sequence numbers in NVGEN\n")
13776 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_ipv4_in_cmd_vtysh,
13777 + "clear ip bgp * ipv4 (unicast|multicast) in",
13778 + "Reset functions\n"
13779 + "IP information\n"
13780 + "BGP information\n"
13781 + "Clear all peers\n"
13782 + "Address family\n"
13783 + "Address Family modifier\n"
13784 + "Address Family modifier\n"
13785 + "Soft reconfig inbound update\n")
13787 +DEFSH (VTYSH_RIPD, rip_version_cmd_vtysh,
13788 + "version <1-2>",
13789 + "Set routing protocol version\n"
13790 + "version\n")
13792 +DEFSH (VTYSH_ZEBRA, show_ip_route_addr_cmd_vtysh,
13793 + "show ip route A.B.C.D",
13794 + "Show running system information\n"
13795 + "IP information\n"
13796 + "IP routing table\n"
13797 + "Network in the IP routing table to display\n")
13799 +DEFSH (VTYSH_RIPNGD, ipv6_ripng_split_horizon_poisoned_reverse_cmd_vtysh,
13800 + "ipv6 ripng split-horizon poisoned-reverse",
13801 + "IPv6 information\n"
13802 + "Routing Information Protocol\n"
13803 + "Perform split horizon\n"
13804 + "With poisoned-reverse\n")
13806 +DEFSH (VTYSH_RIPD|VTYSH_BGPD, set_ip_nexthop_cmd_vtysh,
13807 + "set ip next-hop A.B.C.D",
13808 + "Set values in destination routing protocol\n"
13809 + "IP information\n"
13810 + "Next hop address\n"
13811 + "IP address of next hop\n")
13813 +DEFSH (VTYSH_BGPD, no_match_ecommunity_cmd_vtysh,
13814 + "no match extcommunity",
13815 + "Negate a command or set its defaults\n"
13816 + "Match values from routing table\n"
13817 + "Match BGP/VPN extended community list\n")
13819 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_extended_host_host_cmd_vtysh,
13820 + "access-list (<100-199>|<2000-2699>) (deny|permit) ip host A.B.C.D host A.B.C.D",
13821 + "Add an access list entry\n"
13822 + "IP extended access list\n"
13823 + "IP extended access list (expanded range)\n"
13824 + "Specify packets to reject\n"
13825 + "Specify packets to forward\n"
13826 + "Any Internet Protocol\n"
13827 + "A single source host\n"
13828 + "Source address\n"
13829 + "A single destination host\n"
13830 + "Destination address\n")
13832 +DEFSH (VTYSH_ZEBRA, no_ip_route_mask_flags_distance2_cmd_vtysh,
13833 + "no ip route A.B.C.D A.B.C.D (reject|blackhole) <1-255>",
13834 + "Negate a command or set its defaults\n"
13835 + "IP information\n"
13836 + "Establish static routes\n"
13837 + "IP destination prefix\n"
13838 + "IP destination prefix mask\n"
13839 + "Emit an ICMP unreachable when matched\n"
13840 + "Silently discard pkts when matched\n"
13841 + "Distance value for this route\n")
13843 +DEFSH (VTYSH_BGPD, no_neighbor_advertise_interval_val_cmd_vtysh,
13844 + "no neighbor (A.B.C.D|X:X::X:X) " "advertisement-interval <0-600>",
13845 + "Negate a command or set its defaults\n"
13846 + "Specify neighbor router\n"
13847 + "Neighbor address\nIPv6 address\n"
13848 + "Minimum interval between sending BGP routing updates\n"
13849 + "time in seconds\n")
13851 +DEFSH (VTYSH_RIPNGD, no_ripng_redistribute_ripng_cmd_vtysh,
13852 + "no redistribute ripng",
13853 + "Negate a command or set its defaults\n"
13854 + "Redistribute information from another routing protocol\n"
13855 + "RIPng route\n")
13857 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_community4_cmd_vtysh,
13858 + "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
13859 + "Show running system information\n"
13860 + "BGP information\n"
13861 + "Address family\n"
13862 + "Display routes matching the communities\n"
13863 + "community number\n"
13864 + "Do not send outside local AS (well-known community)\n"
13865 + "Do not advertise to any peer (well-known community)\n"
13866 + "Do not export to next AS (well-known community)\n"
13867 + "community number\n"
13868 + "Do not send outside local AS (well-known community)\n"
13869 + "Do not advertise to any peer (well-known community)\n"
13870 + "Do not export to next AS (well-known community)\n"
13871 + "community number\n"
13872 + "Do not send outside local AS (well-known community)\n"
13873 + "Do not advertise to any peer (well-known community)\n"
13874 + "Do not export to next AS (well-known community)\n"
13875 + "community number\n"
13876 + "Do not send outside local AS (well-known community)\n"
13877 + "Do not advertise to any peer (well-known community)\n"
13878 + "Do not export to next AS (well-known community)\n")
13880 +DEFSH (VTYSH_BGPD, no_bgp_cluster_id_cmd_vtysh,
13881 + "no bgp cluster-id",
13882 + "Negate a command or set its defaults\n"
13883 + "BGP information\n"
13884 + "Configure Route-Reflector Cluster-id\n")
13886 +DEFSH (VTYSH_RIPD, rip_default_metric_cmd_vtysh,
13887 + "default-metric <1-16>",
13888 + "Set a metric of redistribute routes\n"
13889 + "Default metric\n")
13891 +DEFSH (VTYSH_BGPD, bgp_network_import_check_cmd_vtysh,
13892 + "bgp network import-check",
13893 + "BGP specific commands\n"
13894 + "BGP network command\n"
13895 + "Check BGP network route exists in IGP\n")
13897 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, ip_prefix_list_sequence_number_cmd_vtysh,
13898 + "ip prefix-list sequence-number",
13899 + "IP information\n"
13900 + "Build a prefix list\n"
13901 + "Include/exclude sequence numbers in NVGEN\n")
13903 +DEFSH (VTYSH_BGPD, bgp_router_id_cmd_vtysh,
13904 + "bgp router-id A.B.C.D",
13905 + "BGP information\n"
13906 + "Override configured router identifier\n"
13907 + "Manually configured router identifier\n")
13909 +DEFSH (VTYSH_BGPD, no_bgp_distance_cmd_vtysh,
13910 + "no distance bgp <1-255> <1-255> <1-255>",
13911 + "Negate a command or set its defaults\n"
13912 + "Define an administrative distance\n"
13913 + "BGP distance\n"
13914 + "Distance for routes external to the AS\n"
13915 + "Distance for routes internal to the AS\n"
13916 + "Distance for local routes\n")
13918 +DEFSH (VTYSH_RIPNGD, no_if_ipv6_rmap_cmd_vtysh,
13919 + "no route-map ROUTEMAP_NAME (in|out) IFNAME",
13920 + "Negate a command or set its defaults\n"
13921 + "Route map unset\n"
13922 + "Route map name\n"
13923 + "Route map for input filtering\n"
13924 + "Route map for output filtering\n"
13925 + "Route map interface name\n")
13927 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_in_cmd_vtysh,
13928 + "clear ip bgp <1-65535> in",
13929 + "Reset functions\n"
13930 + "IP information\n"
13931 + "BGP information\n"
13932 + "Clear peers with the AS number\n"
13933 + "Soft reconfig inbound update\n")
13935 +DEFSH (VTYSH_OSPFD, show_ip_ospf_database_cmd_vtysh,
13936 + "show ip ospf database",
13937 + "Show running system information\n"
13938 + "IP information\n"
13939 + "OSPF information\n"
13940 + "Database summary\n")
13942 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_in_cmd_vtysh,
13943 + "clear ip bgp A.B.C.D in",
13944 + "Reset functions\n"
13945 + "IP information\n"
13946 + "BGP information\n"
13947 + "BGP neighbor address to clear\n"
13948 + "Soft reconfig inbound update\n")
13950 +DEFSH (VTYSH_BGPD, no_set_originator_id_val_cmd_vtysh,
13951 + "no set originator-id A.B.C.D",
13952 + "Negate a command or set its defaults\n"
13953 + "Set values in destination routing protocol\n"
13954 + "BGP originator ID attribute\n"
13955 + "IP address of originator\n")
13957 +DEFSH (VTYSH_OSPFD, no_ospf_area_authentication_cmd_vtysh,
13958 + "no area (A.B.C.D|<0-4294967295>) authentication",
13959 + "Negate a command or set its defaults\n"
13960 + "OSPF area parameters\n"
13961 + "OSPF area ID in IP address format\n"
13962 + "OSPF area ID as a decimal value\n"
13963 + "Enable authentication\n")
13965 +DEFSH (VTYSH_RIPD, debug_rip_packet_direct_cmd_vtysh,
13966 + "debug rip packet (recv|send)",
13967 + "Debugging functions (see also 'undebug')\n"
13968 + "RIP information\n"
13969 + "RIP packet\n"
13970 + "RIP receive packet\n"
13971 + "RIP send packet\n")
13973 +DEFSH (VTYSH_RIPD, accept_lifetime_day_month_month_day_cmd_vtysh,
13974 + "accept-lifetime HH:MM:SS <1-31> MONTH <1993-2035> HH:MM:SS MONTH <1-31> <1993-2035>",
13975 + "Set accept lifetime of the key\n"
13976 + "Time to start\n"
13977 + "Day of th month to start\n"
13978 + "Month of the year to start\n"
13979 + "Year to start\n"
13980 + "Time to expire\n"
13981 + "Month of the year to expire\n"
13982 + "Day of th month to expire\n"
13983 + "Year to expire\n")
13985 +DEFSH (VTYSH_BGPD, no_aggregate_address_mask_as_set_summary_cmd_vtysh,
13986 + "no aggregate-address A.B.C.D A.B.C.D as-set summary-only",
13987 + "Negate a command or set its defaults\n"
13988 + "Configure BGP aggregate entries\n"
13989 + "Aggregate address\n"
13990 + "Aggregate mask\n"
13991 + "Generate AS set path information\n"
13992 + "Filter more specific routes from updates\n")
13994 +DEFSH (VTYSH_OSPFD, no_ospf_area_vlink_param2_cmd_vtysh,
13995 + "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
13996 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) "
13997 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval)",
13998 + "Negate a command or set its defaults\n"
13999 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
14000 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n"
14001 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n")
14003 +DEFSH (VTYSH_BGPD, show_ip_bgp_instance_ipv4_summary_cmd_vtysh,
14004 + "show ip bgp view WORD ipv4 (unicast|multicast) summary",
14005 + "Show running system information\n"
14006 + "IP information\n"
14007 + "BGP information\n"
14008 + "BGP view\n"
14009 + "View name\n"
14010 + "Address family\n"
14011 + "Address Family modifier\n"
14012 + "Address Family modifier\n"
14013 + "Summary of BGP neighbor status\n")
14015 +DEFSH (VTYSH_BGPD, no_neighbor_remove_private_as_cmd_vtysh,
14016 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "remove-private-AS",
14017 + "Negate a command or set its defaults\n"
14018 + "Specify neighbor router\n"
14019 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
14020 + "Remove private AS number from outbound updates\n")
14022 +DEFSH (VTYSH_BGPD, no_neighbor_route_reflector_client_cmd_vtysh,
14023 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "route-reflector-client",
14024 + "Negate a command or set its defaults\n"
14025 + "Specify neighbor router\n"
14026 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
14027 + "Configure a neighbor as Route Reflector client\n")
14029 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_prefix_list_cmd_vtysh,
14030 + "show ip bgp ipv4 (unicast|multicast) prefix-list WORD",
14031 + "Show running system information\n"
14032 + "IP information\n"
14033 + "BGP information\n"
14034 + "Address family\n"
14035 + "Address Family modifier\n"
14036 + "Address Family modifier\n"
14037 + "Display routes conforming to the prefix-list\n"
14038 + "IP prefix-list name\n")
14040 +DEFSH (VTYSH_BGPD, no_ip_extcommunity_list_name_expanded_cmd_vtysh,
14041 + "no ip extcommunity-list expanded WORD (deny|permit) .LINE",
14042 + "Negate a command or set its defaults\n"
14043 + "IP information\n"
14044 + "Add a extended community list entry\n"
14045 + "Specify expanded extcommunity-list\n"
14046 + "Community list name\n"
14047 + "Specify community to reject\n"
14048 + "Specify community to accept\n"
14049 + "An ordered list as a regular-expression\n")
14051 +DEFSH (VTYSH_BGPD, show_bgp_view_ipv6_neighbor_received_prefix_filter_cmd_vtysh,
14052 + "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) received prefix-filter",
14053 + "Show running system information\n"
14054 + "BGP information\n"
14055 + "BGP view\n"
14056 + "View name\n"
14057 + "Address family\n"
14058 + "Detailed information on TCP and BGP neighbor connections\n"
14059 + "Neighbor to display information about\n"
14060 + "Neighbor to display information about\n"
14061 + "Display information received from a BGP neighbor\n"
14062 + "Display the prefixlist filter\n")
14064 +DEFSH (VTYSH_OSPFD, no_ip_ospf_priority_cmd_vtysh,
14065 + "no ip ospf priority",
14066 + "Negate a command or set its defaults\n"
14067 + "IP Information\n"
14068 + "OSPF interface commands\n"
14069 + "Router priority\n")
14071 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_cidr_only_cmd_vtysh,
14072 + "show ip bgp ipv4 (unicast|multicast) cidr-only",
14073 + "Show running system information\n"
14074 + "IP information\n"
14075 + "BGP information\n"
14076 + "Address family\n"
14077 + "Address Family modifier\n"
14078 + "Address Family modifier\n"
14079 + "Display only routes with non-natural netmasks\n")
14081 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_route_cmd_vtysh,
14082 + "show ip bgp ipv4 (unicast|multicast) A.B.C.D",
14083 + "Show running system information\n"
14084 + "IP information\n"
14085 + "BGP information\n"
14086 + "Address family\n"
14087 + "Address Family modifier\n"
14088 + "Address Family modifier\n"
14089 + "Network in the BGP routing table to display\n")
14091 +DEFSH (VTYSH_RIPD, no_rip_default_information_originate_cmd_vtysh,
14092 + "no default-information originate",
14093 + "Negate a command or set its defaults\n"
14094 + "Control distribution of default route\n"
14095 + "Distribute a default route\n")
14097 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_metric_cmd_vtysh,
14098 + "default-information originate metric <0-16777214>",
14099 + "Control distribution of default information\n"
14100 + "Distribute a default route\n"
14101 + "OSPF default metric\n"
14102 + "OSPF metric\n")
14104 +DEFSH (VTYSH_BGPD, clear_ip_bgp_dampening_address_mask_cmd_vtysh,
14105 + "clear ip bgp dampening A.B.C.D A.B.C.D",
14106 + "Reset functions\n"
14107 + "IP information\n"
14108 + "BGP information\n"
14109 + "Clear route flap dampening information\n"
14110 + "Network to clear damping information\n"
14111 + "Network mask\n")
14113 +DEFSH (VTYSH_BGPD, clear_ip_bgp_instance_all_in_prefix_filter_cmd_vtysh,
14114 + "clear ip bgp view WORD * in prefix-filter",
14115 + "Reset functions\n"
14116 + "IP information\n"
14117 + "BGP information\n"
14118 + "BGP view\n"
14119 + "view name\n"
14120 + "Clear all peers\n"
14121 + "Soft reconfig inbound update\n"
14122 + "Push out prefix-list ORF and do inbound soft reconfig\n")
14124 +DEFSH (VTYSH_OSPFD, ospf_area_range_cost_cmd_vtysh,
14125 + "area (A.B.C.D|<0-4294967295>) range A.B.C.D/M cost <0-16777215>",
14126 + "OSPF area parameters\n"
14127 + "OSPF area ID in IP address format\n"
14128 + "OSPF area ID as a decimal value\n"
14129 + "Summarize routes matching address/mask (border routers only)\n"
14130 + "Area range prefix\n"
14131 + "User specified metric for this range\n"
14132 + "Advertised metric for this range\n")
14134 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, ip_prefix_list_description_cmd_vtysh,
14135 + "ip prefix-list WORD description .LINE",
14136 + "IP information\n"
14137 + "Build a prefix list\n"
14138 + "Name of a prefix list\n"
14139 + "Prefix-list specific description\n"
14140 + "Up to 80 characters describing this prefix-list\n")
14142 +DEFSH (VTYSH_OSPF6D|VTYSH_BGPD, no_match_ipv6_address_prefix_list_cmd_vtysh,
14143 + "no match ipv6 address prefix-list WORD",
14144 + "Negate a command or set its defaults\n"
14145 + "Match values from routing table\n"
14146 + "IPv6 information\n"
14147 + "Match address of route\n"
14148 + "Match entries of prefix-lists\n"
14149 + "IP prefix-list name\n")
14151 +DEFSH (VTYSH_RIPD, no_rip_redistribute_type_metric_cmd_vtysh,
14152 + "no redistribute (kernel|connected|static|ospf|bgp) metric <0-16>",
14153 + "Negate a command or set its defaults\n"
14154 + "Redistribute information from another routing protocol\n"
14155 + "Kernel routes\n"
14156 + "Connected\n"
14157 + "Static routes\n"
14158 + "Open Shortest Path First (OSPF)\n"
14159 + "Border Gateway Protocol (BGP)\n"
14160 + "Metric\n"
14161 + "Metric value\n")
14163 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_regexp_cmd_vtysh,
14164 + "show ip bgp ipv4 (unicast|multicast) regexp .LINE",
14165 + "Show running system information\n"
14166 + "IP information\n"
14167 + "BGP information\n"
14168 + "Address family\n"
14169 + "Address Family modifier\n"
14170 + "Address Family modifier\n"
14171 + "Display routes matching the AS path regular expression\n"
14172 + "A regular-expression to match the BGP AS paths\n")
14174 +DEFSH (VTYSH_OSPFD, no_ip_ospf_priority_addr_cmd_vtysh,
14175 + "no ip ospf priority A.B.C.D",
14176 + "Negate a command or set its defaults\n"
14177 + "IP Information\n"
14178 + "OSPF interface commands\n"
14179 + "Router priority\n"
14180 + "Address of interface")
14182 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_all_cmd_vtysh,
14183 + "no access-list (<1-99>|<100-199>|<1300-1999>|<2000-2699>|WORD)",
14184 + "Negate a command or set its defaults\n"
14185 + "Add an access list entry\n"
14186 + "IP standard access list\n"
14187 + "IP extended access list\n"
14188 + "IP standard access list (expanded range)\n"
14189 + "IP extended access list (expanded range)\n"
14190 + "IP zebra access-list name\n")
14192 +DEFSH (VTYSH_BGPD, clear_ip_bgp_external_ipv4_in_prefix_filter_cmd_vtysh,
14193 + "clear ip bgp external ipv4 (unicast|multicast) in prefix-filter",
14194 + "Reset functions\n"
14195 + "IP information\n"
14196 + "BGP information\n"
14197 + "Clear all external peers\n"
14198 + "Address family\n"
14199 + "Address Family modifier\n"
14200 + "Address Family modifier\n"
14201 + "Soft reconfig inbound update\n"
14202 + "Push out prefix-list ORF and do inbound soft reconfig\n")
14204 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_out_cmd_vtysh,
14205 + "clear ip bgp * out",
14206 + "Reset functions\n"
14207 + "IP information\n"
14208 + "BGP information\n"
14209 + "Clear all peers\n"
14210 + "Soft reconfig outbound update\n")
14212 +DEFSH (VTYSH_ZEBRA, ipv6_route_pref_cmd_vtysh,
14213 + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) <1-255>",
14214 + "IP information\n"
14215 + "Establish static routes\n"
14216 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
14217 + "IPv6 gateway address\n"
14218 + "IPv6 gateway interface name\n"
14219 + "Distance value for this prefix\n")
14221 +DEFSH (VTYSH_OSPFD, ospf_cost_cmd_vtysh,
14222 + "ospf cost <1-65535>",
14223 + "OSPF interface commands\n"
14224 + "Interface cost\n"
14225 + "Cost")
14227 +DEFSH (VTYSH_BGPD, bgp_damp_set3_cmd_vtysh,
14228 + "bgp dampening",
14229 + "BGP Specific commands\n"
14230 + "Enable route-flap dampening\n")
14232 +DEFSH (VTYSH_BGPD, no_neighbor_version_cmd_vtysh,
14233 + "no neighbor (A.B.C.D|X:X::X:X) " "version",
14234 + "Negate a command or set its defaults\n"
14235 + "Specify neighbor router\n"
14236 + "Neighbor address\nIPv6 address\n"
14237 + "Neighbor's BGP version\n")
14239 +DEFSH (VTYSH_OSPF6D, no_ipv6_ospf6_passive_cmd_vtysh,
14240 + "no ipv6 ospf6 passive",
14241 + "Negate a command or set its defaults\n"
14242 + "IPv6 Information\n"
14243 + "Open Shortest Path First (OSPF) for IPv6\n"
14244 + "passive interface: No Adjacency will be formed on this I/F\n"
14247 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_in_prefix_filter_cmd_vtysh,
14248 + "clear bgp ipv6 (A.B.C.D|X:X::X:X) in prefix-filter",
14249 + "Reset functions\n"
14250 + "BGP information\n"
14251 + "Address family\n"
14252 + "BGP neighbor address to clear\n"
14253 + "BGP IPv6 neighbor to clear\n"
14254 + "Soft reconfig inbound update\n"
14255 + "Push out the existing ORF prefix-list\n")
14257 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_extended_any_mask_cmd_vtysh,
14258 + "access-list (<100-199>|<2000-2699>) (deny|permit) ip any A.B.C.D A.B.C.D",
14259 + "Add an access list entry\n"
14260 + "IP extended access list\n"
14261 + "IP extended access list (expanded range)\n"
14262 + "Specify packets to reject\n"
14263 + "Specify packets to forward\n"
14264 + "Any Internet Protocol\n"
14265 + "Any source host\n"
14266 + "Destination address\n"
14267 + "Destination Wildcard bits\n")
14269 +DEFSH (VTYSH_BGPD, no_match_origin_val_cmd_vtysh,
14270 + "no match origin (egp|igp|incomplete)",
14271 + "Negate a command or set its defaults\n"
14272 + "Match values from routing table\n"
14273 + "BGP origin code\n"
14274 + "remote EGP\n"
14275 + "local IGP\n"
14276 + "unknown heritage\n")
14278 +DEFSH (VTYSH_BGPD, no_set_aggregator_as_cmd_vtysh,
14279 + "no set aggregator as",
14280 + "Negate a command or set its defaults\n"
14281 + "Set values in destination routing protocol\n"
14282 + "BGP aggregator attribute\n"
14283 + "AS number of aggregator\n")
14285 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_extended_host_host_cmd_vtysh,
14286 + "no access-list (<100-199>|<2000-2699>) (deny|permit) ip host A.B.C.D host A.B.C.D",
14287 + "Negate a command or set its defaults\n"
14288 + "Add an access list entry\n"
14289 + "IP extended access list\n"
14290 + "IP extended access list (expanded range)\n"
14291 + "Specify packets to reject\n"
14292 + "Specify packets to forward\n"
14293 + "Any Internet Protocol\n"
14294 + "A single source host\n"
14295 + "Source address\n"
14296 + "A single destination host\n"
14297 + "Destination address\n")
14299 +DEFSH (VTYSH_BGPD, old_ipv6_aggregate_address_cmd_vtysh,
14300 + "ipv6 bgp aggregate-address X:X::X:X/M",
14301 + "IPv6 information\n"
14302 + "BGP information\n"
14303 + "Configure BGP aggregate entries\n"
14304 + "Aggregate prefix\n")
14306 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_access_list_cmd_vtysh,
14307 + "ipv6 access-list WORD (deny|permit) X:X::X:X/M",
14308 + "IPv6 information\n"
14309 + "Add an access list entry\n"
14310 + "IPv6 zebra access-list\n"
14311 + "Specify packets to reject\n"
14312 + "Specify packets to forward\n"
14313 + "Prefix to match. e.g. 3ffe:506::/32\n")
14315 +DEFSH (VTYSH_BGPD, no_synchronization_cmd_vtysh,
14316 + "no synchronization",
14317 + "Negate a command or set its defaults\n"
14318 + "Perform IGP synchronization\n")
14320 +DEFSH (VTYSH_RIPD, no_rip_version_val_cmd_vtysh,
14321 + "no version <1-2>",
14322 + "Negate a command or set its defaults\n"
14323 + "Set routing protocol version\n"
14324 + "version\n")
14326 +DEFSH (VTYSH_OSPFD, ospf_neighbor_priority_cmd_vtysh,
14327 + "neighbor A.B.C.D priority <0-255>",
14328 + "Specify neighbor router\n"
14329 + "Neighbor IP address\n"
14330 + "Neighbor Priority\n"
14331 + "Seconds\n")
14333 +DEFSH (VTYSH_OSPFD, no_ospf_area_vlink_param4_cmd_vtysh,
14334 + "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
14335 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) "
14336 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) "
14337 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) "
14338 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval)",
14339 + "Negate a command or set its defaults\n"
14340 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
14341 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n"
14342 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n"
14343 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n"
14344 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n")
14346 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_always_routemap_cmd_vtysh,
14347 + "default-information originate always route-map WORD",
14348 + "Control distribution of default information\n"
14349 + "Distribute a default route\n"
14350 + "Always advertise default route\n"
14351 + "Route map reference\n"
14352 + "Pointer to route-map entries\n")
14354 +DEFSH (VTYSH_BGPD, neighbor_local_as_cmd_vtysh,
14355 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "local-as <1-65535>",
14356 + "Specify neighbor router\n"
14357 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
14358 + "Specify a local-as number\n"
14359 + "AS number used as local AS\n")
14361 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_vpnv4_soft_out_cmd_vtysh,
14362 + "clear ip bgp * vpnv4 unicast soft out",
14363 + "Reset functions\n"
14364 + "IP information\n"
14365 + "BGP information\n"
14366 + "Clear all peers\n"
14367 + "Address family\n"
14368 + "Address Family Modifier\n"
14369 + "Soft reconfig\n"
14370 + "Soft reconfig outbound update\n")
14372 +DEFSH (VTYSH_RIPD, no_rip_offset_list_cmd_vtysh,
14373 + "no offset-list WORD (in|out) <0-16>",
14374 + "Negate a command or set its defaults\n"
14375 + "Modify RIP metric\n"
14376 + "Access-list name\n"
14377 + "For incoming updates\n"
14378 + "For outgoing updates\n"
14379 + "Metric value\n")
14381 +DEFSH (VTYSH_RIPD, ip_rip_send_version_1_cmd_vtysh,
14382 + "ip rip send version 1 2",
14383 + "IP information\n"
14384 + "Routing Information Protocol\n"
14385 + "Advertisement transmission\n"
14386 + "Version control\n"
14387 + "RIP version 1\n"
14388 + "RIP version 2\n")
14390 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_group_soft_in_cmd_vtysh,
14391 + "clear ip bgp peer-group WORD soft in",
14392 + "Reset functions\n"
14393 + "IP information\n"
14394 + "BGP information\n"
14395 + "Clear all members of peer-group\n"
14396 + "BGP peer-group name\n"
14397 + "Soft reconfig\n"
14398 + "Soft reconfig inbound update\n")
14400 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_group_soft_out_cmd_vtysh,
14401 + "clear ip bgp peer-group WORD soft out",
14402 + "Reset functions\n"
14403 + "IP information\n"
14404 + "BGP information\n"
14405 + "Clear all members of peer-group\n"
14406 + "BGP peer-group name\n"
14407 + "Soft reconfig\n"
14408 + "Soft reconfig outbound update\n")
14410 +DEFSH (VTYSH_BGPD, bgp_cluster_id32_cmd_vtysh,
14411 + "bgp cluster-id <1-4294967295>",
14412 + "BGP information\n"
14413 + "Configure Route-Reflector Cluster-id\n"
14414 + "Route-Reflector Cluster-id as 32 bit quantity\n")
14416 +DEFSH (VTYSH_OSPF6D, ospf6_routemap_set_forwarding_cmd_vtysh,
14417 + "set forwarding-address X:X::X:X",
14418 + "Set value\n"
14419 + "Forwarding Address\n"
14420 + "IPv6 Address\n")
14422 +DEFSH (VTYSH_BGPD, ipv6_bgp_neighbor_advertised_route_cmd_vtysh,
14423 + "show ipv6 bgp neighbors (A.B.C.D|X:X::X:X) advertised-routes",
14424 + "Show running system information\n"
14425 + "IPv6 information\n"
14426 + "BGP information\n"
14427 + "Detailed information on TCP and BGP neighbor connections\n"
14428 + "Neighbor to display information about\n"
14429 + "Neighbor to display information about\n"
14430 + "Display the routes advertised to a BGP neighbor\n")
14432 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_BGPD, no_match_metric_val_cmd_vtysh,
14433 + "no match metric <0-4294967295>",
14434 + "Negate a command or set its defaults\n"
14435 + "Match values from routing table\n"
14436 + "Match metric of route\n"
14437 + "Metric value\n")
14439 +DEFSH (VTYSH_RIPD, send_lifetime_day_month_day_month_cmd_vtysh,
14440 + "send-lifetime HH:MM:SS <1-31> MONTH <1993-2035> HH:MM:SS <1-31> MONTH <1993-2035>",
14441 + "Set send lifetime of the key\n"
14442 + "Time to start\n"
14443 + "Day of th month to start\n"
14444 + "Month of the year to start\n"
14445 + "Year to start\n"
14446 + "Time to expire\n"
14447 + "Day of th month to expire\n"
14448 + "Month of the year to expire\n"
14449 + "Year to expire\n")
14451 +DEFSH (VTYSH_BGPD, no_bgp_network_mask_cmd_vtysh,
14452 + "no network A.B.C.D mask A.B.C.D",
14453 + "Negate a command or set its defaults\n"
14454 + "Specify a network to announce via BGP\n"
14455 + "Network number\n"
14456 + "Network mask\n"
14457 + "Network mask\n")
14459 +DEFSH (VTYSH_BGPD, vpnv4_network_cmd_vtysh,
14460 + "network A.B.C.D/M rd ASN:nn_or_IP-address:nn tag WORD",
14461 + "Specify a network to announce via BGP\n"
14462 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
14463 + "Specify Route Distinguisher\n"
14464 + "VPN Route Distinguisher\n"
14465 + "BGP tag\n"
14466 + "tag value\n")
14468 +DEFSH (VTYSH_BGPD, bgp_distance_source_cmd_vtysh,
14469 + "distance <1-255> A.B.C.D/M",
14470 + "Define an administrative distance\n"
14471 + "Administrative distance\n"
14472 + "IP source prefix\n")
14474 +DEFSH (VTYSH_OSPFD, ospf_authentication_key_cmd_vtysh,
14475 + "ospf authentication-key AUTH_KEY",
14476 + "OSPF interface commands\n"
14477 + "Authentication password (key)\n"
14478 + "The OSPF password (key)")
14480 +DEFSH (VTYSH_BGPD, no_neighbor_passive_cmd_vtysh,
14481 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "passive",
14482 + "Negate a command or set its defaults\n"
14483 + "Specify neighbor router\n"
14484 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
14485 + "Don't send open messages to this neighbor\n")
14487 +DEFSH (VTYSH_BGPD, show_ip_bgp_community4_cmd_vtysh,
14488 + "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
14489 + "Show running system information\n"
14490 + "IP information\n"
14491 + "BGP information\n"
14492 + "Display routes matching the communities\n"
14493 + "community number\n"
14494 + "Do not send outside local AS (well-known community)\n"
14495 + "Do not advertise to any peer (well-known community)\n"
14496 + "Do not export to next AS (well-known community)\n"
14497 + "community number\n"
14498 + "Do not send outside local AS (well-known community)\n"
14499 + "Do not advertise to any peer (well-known community)\n"
14500 + "Do not export to next AS (well-known community)\n"
14501 + "community number\n"
14502 + "Do not send outside local AS (well-known community)\n"
14503 + "Do not advertise to any peer (well-known community)\n"
14504 + "Do not export to next AS (well-known community)\n"
14505 + "community number\n"
14506 + "Do not send outside local AS (well-known community)\n"
14507 + "Do not advertise to any peer (well-known community)\n"
14508 + "Do not export to next AS (well-known community)\n")
14510 +DEFSH (VTYSH_RIPD, key_string_cmd_vtysh,
14511 + "key-string LINE",
14512 + "Set key string\n"
14513 + "The key\n")
14515 +DEFSH (VTYSH_BGPD, show_ip_as_path_access_list_all_cmd_vtysh,
14516 + "show ip as-path-access-list",
14517 + "Show running system information\n"
14518 + "IP information\n"
14519 + "List AS path access lists\n")
14521 +DEFSH (VTYSH_OSPFD|VTYSH_OSPF6D, no_set_metric_type_cmd_vtysh,
14522 + "no set metric-type",
14523 + "Negate a command or set its defaults\n"
14524 + "Set values in destination routing protocol\n"
14525 + "Type of metric for destination routing protocol\n")
14527 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, show_ip_access_list_name_cmd_vtysh,
14528 + "show ip access-list (<1-99>|<100-199>|<1300-1999>|<2000-2699>|WORD)",
14529 + "Show running system information\n"
14530 + "IP information\n"
14531 + "List IP access lists\n"
14532 + "IP standard access list\n"
14533 + "IP extended access list\n"
14534 + "IP standard access list (expanded range)\n"
14535 + "IP extended access list (expanded range)\n"
14536 + "IP zebra access-list\n")
14538 +DEFSH (VTYSH_ZEBRA, no_ip_route_mask_cmd_vtysh,
14539 + "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0)",
14540 + "Negate a command or set its defaults\n"
14541 + "IP information\n"
14542 + "Establish static routes\n"
14543 + "IP destination prefix\n"
14544 + "IP destination prefix mask\n"
14545 + "IP gateway address\n"
14546 + "IP gateway interface name\n"
14547 + "Null interface\n")
14549 +DEFSH (VTYSH_BGPD, ip_extcommunity_list_standard_cmd_vtysh,
14550 + "ip extcommunity-list <1-99> (deny|permit) .AA:NN",
14551 + "IP information\n"
14552 + "Add a extended community list entry\n"
14553 + "Extended Community list number (standard)\n"
14554 + "Specify community to reject\n"
14555 + "Specify community to accept\n"
14556 + "Extended community attribute in 'rt aa:nn_or_IPaddr:nn' OR 'soo aa:nn_or_IPaddr:nn' format\n")
14558 +DEFSH (VTYSH_BGPD, no_neighbor_ebgp_multihop_ttl_cmd_vtysh,
14559 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "ebgp-multihop <1-255>",
14560 + "Negate a command or set its defaults\n"
14561 + "Specify neighbor router\n"
14562 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
14563 + "Allow EBGP neighbors not on directly connected networks\n"
14564 + "maximum hop count\n")
14566 +DEFSH (VTYSH_OSPFD, no_ospf_network_cmd_vtysh,
14567 + "no ospf network",
14568 + "Negate a command or set its defaults\n"
14569 + "OSPF interface commands\n"
14570 + "Network type\n")
14572 +DEFSH (VTYSH_OSPFD, no_ospf_message_digest_key_cmd_vtysh,
14573 + "no ospf message-digest-key <1-255>",
14574 + "Negate a command or set its defaults\n"
14575 + "OSPF interface commands\n"
14576 + "Message digest authentication password (key)\n"
14577 + "Key ID\n")
14579 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_vpnv4_soft_cmd_vtysh,
14580 + "clear ip bgp A.B.C.D vpnv4 unicast soft",
14581 + "Reset functions\n"
14582 + "IP information\n"
14583 + "BGP information\n"
14584 + "BGP neighbor address to clear\n"
14585 + "Address family\n"
14586 + "Address Family Modifier\n"
14587 + "Soft reconfig\n")
14589 +DEFSH (VTYSH_RIPD, send_lifetime_month_day_month_day_cmd_vtysh,
14590 + "send-lifetime HH:MM:SS MONTH <1-31> <1993-2035> HH:MM:SS MONTH <1-31> <1993-2035>",
14591 + "Set send lifetime of the key\n"
14592 + "Time to start\n"
14593 + "Month of the year to start\n"
14594 + "Day of th month to start\n"
14595 + "Year to start\n"
14596 + "Time to expire\n"
14597 + "Month of the year to expire\n"
14598 + "Day of th month to expire\n"
14599 + "Year to expire\n")
14601 +DEFSH (VTYSH_ZEBRA, ip_route_mask_flags_distance_cmd_vtysh,
14602 + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) <1-255>",
14603 + "IP information\n"
14604 + "Establish static routes\n"
14605 + "IP destination prefix\n"
14606 + "IP destination prefix mask\n"
14607 + "IP gateway address\n"
14608 + "IP gateway interface name\n"
14609 + "Distance value for this route\n"
14610 + "Emit an ICMP unreachable when matched\n"
14611 + "Silently discard pkts when matched\n")
14613 +DEFSH (VTYSH_BGPD, show_bgp_neighbor_received_prefix_filter_cmd_vtysh,
14614 + "show bgp neighbors (A.B.C.D|X:X::X:X) received prefix-filter",
14615 + "Show running system information\n"
14616 + "BGP information\n"
14617 + "Detailed information on TCP and BGP neighbor connections\n"
14618 + "Neighbor to display information about\n"
14619 + "Neighbor to display information about\n"
14620 + "Display information received from a BGP neighbor\n"
14621 + "Display the prefixlist filter\n")
14623 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_intra_inter_cmd_vtysh,
14624 + "distance ospf intra-area <1-255> inter-area <1-255>",
14625 + "Define an administrative distance\n"
14626 + "OSPF Administrative distance\n"
14627 + "Intra-area routes\n"
14628 + "Distance for intra-area routes\n"
14629 + "Inter-area routes\n"
14630 + "Distance for inter-area routes\n")
14632 +DEFSH (VTYSH_OSPFD, ospf_redistribute_source_type_cmd_vtysh,
14633 + "redistribute (kernel|connected|static|rip|bgp) metric-type (1|2)",
14634 + "Redistribute information from another routing protocol\n"
14635 + "Kernel routes\n"
14636 + "Connected\n"
14637 + "Static routes\n"
14638 + "Routing Information Protocol (RIP)\n"
14639 + "Border Gateway Protocol (BGP)\n"
14640 + "OSPF exterior metric type for redistributed routes\n"
14641 + "Set OSPF External Type 1 metrics\n"
14642 + "Set OSPF External Type 2 metrics\n")
14644 +DEFSH (VTYSH_RIPD, send_lifetime_duration_month_day_cmd_vtysh,
14645 + "send-lifetime HH:MM:SS MONTH <1-31> <1993-2035> duration <1-2147483646>",
14646 + "Set send lifetime of the key\n"
14647 + "Time to start\n"
14648 + "Month of the year to start\n"
14649 + "Day of th month to start\n"
14650 + "Year to start\n"
14651 + "Duration of the key\n"
14652 + "Duration seconds\n")
14654 +DEFSH (VTYSH_BGPD, show_ip_bgp_cmd_vtysh,
14655 + "show ip bgp",
14656 + "Show running system information\n"
14657 + "IP information\n"
14658 + "BGP information\n")
14660 +DEFSH (VTYSH_RIPD, no_rip_redistribute_type_metric_routemap_cmd_vtysh,
14661 + "no redistribute (kernel|connected|static|ospf|bgp) metric <0-16> route-map WORD",
14662 + "Negate a command or set its defaults\n"
14663 + "Redistribute information from another routing protocol\n"
14664 + "Kernel routes\n"
14665 + "Connected\n"
14666 + "Static routes\n"
14667 + "Open Shortest Path First (OSPF)\n"
14668 + "Border Gateway Protocol (BGP)\n"
14669 + "Metric\n"
14670 + "Metric value\n"
14671 + "Route map reference\n"
14672 + "Pointer to route-map entries\n")
14674 +DEFSH (VTYSH_RIPD, no_debug_rip_packet_cmd_vtysh,
14675 + "no debug rip packet",
14676 + "Negate a command or set its defaults\n"
14677 + "Debugging functions (see also 'undebug')\n"
14678 + "RIP information\n"
14679 + "RIP packet\n")
14681 +DEFSH (VTYSH_OSPFD, debug_ospf_ism_cmd_vtysh,
14682 + "debug ospf ism",
14683 + "Debugging functions (see also 'undebug')\n"
14684 + "OSPF information\n"
14685 + "OSPF Interface State Machine\n")
14687 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_external_cmd_vtysh,
14688 + "distance ospf external <1-255>",
14689 + "Define an administrative distance\n"
14690 + "OSPF Administrative distance\n"
14691 + "External routes\n"
14692 + "Distance for external routes\n")
14694 +DEFSH (VTYSH_OSPFD, no_ospf_authentication_key_cmd_vtysh,
14695 + "no ospf authentication-key",
14696 + "Negate a command or set its defaults\n"
14697 + "OSPF interface commands\n"
14698 + "Authentication password (key)\n")
14700 +DEFSH (VTYSH_BGPD, show_bgp_view_ipv6_neighbor_received_routes_cmd_vtysh,
14701 + "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) received-routes",
14702 + "Show running system information\n"
14703 + "BGP information\n"
14704 + "BGP view\n"
14705 + "View name\n"
14706 + "Address family\n"
14707 + "Detailed information on TCP and BGP neighbor connections\n"
14708 + "Neighbor to display information about\n"
14709 + "Neighbor to display information about\n"
14710 + "Display the received routes from neighbor\n")
14712 +DEFSH (VTYSH_BGPD, no_bgp_network_mask_route_map_cmd_vtysh,
14713 + "no network A.B.C.D mask A.B.C.D route-map WORD",
14714 + "Negate a command or set its defaults\n"
14715 + "Specify a network to announce via BGP\n"
14716 + "Network number\n"
14717 + "Network mask\n"
14718 + "Network mask\n"
14719 + "Route-map to modify the attributes\n"
14720 + "Name of the route map\n")
14722 +DEFSH (VTYSH_RIPNGD, no_router_ripng_cmd_vtysh,
14723 + "no router ripng",
14724 + "Negate a command or set its defaults\n"
14725 + "Enable a routing process\n"
14726 + "Make RIPng instance command\n")
14728 +DEFSH (VTYSH_OSPF6D, ipv6_ospf6_advertise_prefix_list_cmd_vtysh,
14729 + "ipv6 ospf6 advertise prefix-list WORD",
14730 + "IPv6 Information\n"
14731 + "Open Shortest Path First (OSPF) for IPv6\n"
14732 + "Advertising options\n"
14733 + "Filter prefix using prefix-list\n"
14734 + "Prefix list name\n"
14737 +DEFSH (VTYSH_BGPD, neighbor_attr_unchanged6_cmd_vtysh,
14738 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged as-path med next-hop",
14739 + "Specify neighbor router\n"
14740 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
14741 + "BGP attribute is propagated unchanged to this neighbor\n"
14742 + "As-path attribute\n"
14743 + "Med attribute\n"
14744 + "Nexthop attribute\n")
14746 +DEFSH (VTYSH_OSPFD, ospf_distribute_list_out_cmd_vtysh,
14747 + "distribute-list WORD out (kernel|connected|static|rip|bgp)",
14748 + "Filter networks in routing updates\n"
14749 + "Access-list name\n"
14750 + "Filter outgoing routing updates\n"
14751 + "Kernel routes\n"
14752 + "Connected\n"
14753 + "Static routes\n"
14754 + "Routing Information Protocol (RIP)\n"
14755 + "Border Gateway Protocol (BGP)\n")
14757 +DEFSH (VTYSH_RIPD, rip_offset_list_cmd_vtysh,
14758 + "offset-list WORD (in|out) <0-16>",
14759 + "Modify RIP metric\n"
14760 + "Access-list name\n"
14761 + "For incoming updates\n"
14762 + "For outgoing updates\n"
14763 + "Metric value\n")
14765 +DEFSH (VTYSH_BGPD, no_match_community_cmd_vtysh,
14766 + "no match community",
14767 + "Negate a command or set its defaults\n"
14768 + "Match values from routing table\n"
14769 + "Match BGP community list\n")
14771 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD, no_rmap_onmatch_goto_cmd_vtysh,
14772 + "no on-match goto",
14773 + "Negate a command or set its defaults\n"
14774 + "Exit policy on matches\n"
14775 + "Next clause\n")
14777 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_all_neighbors_peer_cmd_vtysh,
14778 + "show ip bgp vpnv4 all neighbors A.B.C.D",
14779 + "Show running system information\n"
14780 + "IP information\n"
14781 + "BGP information\n"
14782 + "Display VPNv4 NLRI specific information\n"
14783 + "Display information about all VPNv4 NLRIs\n"
14784 + "Detailed information on TCP and BGP neighbor connections\n"
14785 + "Neighbor to display information about\n")
14787 +DEFSH (VTYSH_BGPD, show_ip_bgp_flap_route_map_cmd_vtysh,
14788 + "show ip bgp flap-statistics route-map WORD",
14789 + "Show running system information\n"
14790 + "IP information\n"
14791 + "BGP information\n"
14792 + "Display flap statistics of routes\n"
14793 + "Display routes matching the route-map\n"
14794 + "A route-map to match on\n")
14796 +DEFSH (VTYSH_OSPFD, no_ospf_area_range_substitute_cmd_vtysh,
14797 + "no area (A.B.C.D|<0-4294967295>) range A.B.C.D/M substitute A.B.C.D/M",
14798 + "Negate a command or set its defaults\n"
14799 + "OSPF area parameters\n"
14800 + "OSPF area ID in IP address format\n"
14801 + "OSPF area ID as a decimal value\n"
14802 + "Summarize routes matching address/mask (border routers only)\n"
14803 + "Area range prefix\n"
14804 + "Announce area range as another prefix\n"
14805 + "Network prefix to be announced instead of range\n")
14807 +DEFSH (VTYSH_OSPFD, ospf_area_vlink_authtype_args_authkey_cmd_vtysh,
14808 + "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
14809 + "(authentication|) (message-digest|null) "
14810 + "(authentication-key|) AUTH_KEY",
14811 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
14812 + "Enable authentication on this virtual link\n" "dummy string \n" "Use null authentication\n" "Use message-digest authentication\n"
14813 + "Authentication password (key)\n" "The OSPF password (key)")
14815 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_vpnv4_in_cmd_vtysh,
14816 + "clear ip bgp A.B.C.D vpnv4 unicast in",
14817 + "Reset functions\n"
14818 + "IP information\n"
14819 + "BGP information\n"
14820 + "BGP neighbor address to clear\n"
14821 + "Address family\n"
14822 + "Address Family Modifier\n"
14823 + "Soft reconfig inbound update\n")
14825 +DEFSH (VTYSH_OSPFD, ip_ospf_message_digest_key_cmd_vtysh,
14826 + "ip ospf message-digest-key <1-255> md5 KEY",
14827 + "IP Information\n"
14828 + "OSPF interface commands\n"
14829 + "Message digest authentication password (key)\n"
14830 + "Key ID\n"
14831 + "Use MD5 algorithm\n"
14832 + "The OSPF password (key)")
14834 +DEFSH (VTYSH_BGPD, neighbor_description_cmd_vtysh,
14835 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "description .LINE",
14836 + "Specify neighbor router\n"
14837 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
14838 + "Neighbor specific description\n"
14839 + "Up to 80 characters describing this neighbor\n")
14841 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, show_ipv6_prefix_list_cmd_vtysh,
14842 + "show ipv6 prefix-list",
14843 + "Show running system information\n"
14844 + "IPv6 information\n"
14845 + "Build a prefix list\n")
14847 +DEFSH (VTYSH_OSPFD, no_ospf_area_export_list_cmd_vtysh,
14848 + "no area (A.B.C.D|<0-4294967295>) export-list NAME",
14849 + "Negate a command or set its defaults\n"
14850 + "OSPF area parameters\n"
14851 + "OSPF area ID in IP address format\n"
14852 + "OSPF area ID as a decimal value\n"
14853 + "Unset the filter for networks announced to other areas\n"
14854 + "Name of the access-list\n")
14856 +DEFSH (VTYSH_BGPD, neighbor_attr_unchanged1_cmd_vtysh,
14857 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged (as-path|next-hop|med)",
14858 + "Specify neighbor router\n"
14859 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
14860 + "BGP attribute is propagated unchanged to this neighbor\n"
14861 + "As-path attribute\n"
14862 + "Nexthop attribute\n"
14863 + "Med attribute\n")
14865 +DEFSH (VTYSH_RIPD, accept_lifetime_month_day_day_month_cmd_vtysh,
14866 + "accept-lifetime HH:MM:SS MONTH <1-31> <1993-2035> HH:MM:SS <1-31> MONTH <1993-2035>",
14867 + "Set accept lifetime of the key\n"
14868 + "Time to start\n"
14869 + "Month of the year to start\n"
14870 + "Day of th month to start\n"
14871 + "Year to start\n"
14872 + "Time to expire\n"
14873 + "Day of th month to expire\n"
14874 + "Month of the year to expire\n"
14875 + "Year to expire\n")
14877 +DEFSH (VTYSH_BGPD, neighbor_peer_group_cmd_vtysh,
14878 + "neighbor WORD peer-group",
14879 + "Specify neighbor router\n"
14880 + "Neighbor tag\n"
14881 + "Configure peer-group\n")
14883 +DEFSH (VTYSH_ZEBRA, no_ip_route_distance_cmd_vtysh,
14884 + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) <1-255>",
14885 + "Negate a command or set its defaults\n"
14886 + "IP information\n"
14887 + "Establish static routes\n"
14888 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
14889 + "IP gateway address\n"
14890 + "IP gateway interface name\n"
14891 + "Null interface\n"
14892 + "Distance value for this route\n")
14894 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_extended_any_any_cmd_vtysh,
14895 + "no access-list (<100-199>|<2000-2699>) (deny|permit) ip any any",
14896 + "Negate a command or set its defaults\n"
14897 + "Add an access list entry\n"
14898 + "IP extended access list\n"
14899 + "IP extended access list (expanded range)\n"
14900 + "Specify packets to reject\n"
14901 + "Specify packets to forward\n"
14902 + "Any Internet Protocol\n"
14903 + "Any source host\n"
14904 + "Any destination host\n")
14906 +DEFSH (VTYSH_BGPD, show_bgp_view_ipv6_neighbor_flap_cmd_vtysh,
14907 + "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) flap-statistics",
14908 + "Show running system information\n"
14909 + "BGP information\n"
14910 + "BGP view\n"
14911 + "BGP view name\n"
14912 + "Address family\n"
14913 + "Detailed information on TCP and BGP neighbor connections\n"
14914 + "Neighbor to display information about\n"
14915 + "Neighbor to display information about\n"
14916 + "Display flap statistics of the routes learned from neighbor\n")
14918 +DEFSH (VTYSH_OSPFD, ospf_neighbor_cmd_vtysh,
14919 + "neighbor A.B.C.D",
14920 + "Specify neighbor router\n"
14921 + "Neighbor IP address\n")
14923 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_route_cmd_vtysh,
14924 + "show ipv6 mbgp X:X::X:X",
14925 + "Show running system information\n"
14926 + "IP information\n"
14927 + "MBGP information\n"
14928 + "Network in the MBGP routing table to display\n")
14930 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_prefix_list_seq_cmd_vtysh,
14931 + "ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) (X:X::X:X/M|any)",
14932 + "IPv6 information\n"
14933 + "Build a prefix list\n"
14934 + "Name of a prefix list\n"
14935 + "sequence number of an entry\n"
14936 + "Sequence number\n"
14937 + "Specify packets to reject\n"
14938 + "Specify packets to forward\n"
14939 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
14940 + "Any prefix match. Same as \"::0/0 le 128\"\n")
14942 +DEFSH (VTYSH_BGPD, show_bgp_view_neighbor_flap_cmd_vtysh,
14943 + "show bgp view WORD neighbors (A.B.C.D|X:X::X:X) flap-statistics",
14944 + "Show running system information\n"
14945 + "BGP information\n"
14946 + "BGP view\n"
14947 + "BGP view name\n"
14948 + "Detailed information on TCP and BGP neighbor connections\n"
14949 + "Neighbor to display information about\n"
14950 + "Neighbor to display information about\n"
14951 + "Display flap statistics of the routes learned from neighbor\n")
14953 +DEFSH (VTYSH_RIPNGD|VTYSH_BGPD, no_set_ipv6_nexthop_local_cmd_vtysh,
14954 + "no set ipv6 next-hop local",
14955 + "Negate a command or set its defaults\n"
14956 + "Set values in destination routing protocol\n"
14957 + "IPv6 information\n"
14958 + "IPv6 next-hop address\n"
14959 + "IPv6 local address\n")
14961 +DEFSH (VTYSH_BGPD, set_vpnv4_nexthop_cmd_vtysh,
14962 + "set vpnv4 next-hop A.B.C.D",
14963 + "Set values in destination routing protocol\n"
14964 + "VPNv4 information\n"
14965 + "VPNv4 next-hop address\n"
14966 + "IP address of next hop\n")
14968 +DEFSH (VTYSH_BGPD, clear_bgp_as_soft_in_cmd_vtysh,
14969 + "clear bgp <1-65535> soft in",
14970 + "Reset functions\n"
14971 + "BGP information\n"
14972 + "Clear peers with the AS number\n"
14973 + "Soft reconfig\n"
14974 + "Soft reconfig inbound update\n")
14976 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_cmd_vtysh,
14977 + "show bgp ipv6",
14978 + "Show running system information\n"
14979 + "BGP information\n"
14980 + "Address family\n")
14982 +DEFSH (VTYSH_OSPFD, no_ip_ospf_cost_addr_cmd_vtysh,
14983 + "no ip ospf cost A.B.C.D",
14984 + "Negate a command or set its defaults\n"
14985 + "IP Information\n"
14986 + "OSPF interface commands\n"
14987 + "Interface cost\n"
14988 + "Address of interface")
14990 +DEFSH (VTYSH_BGPD, show_ip_bgp_cidr_only_cmd_vtysh,
14991 + "show ip bgp cidr-only",
14992 + "Show running system information\n"
14993 + "IP information\n"
14994 + "BGP information\n"
14995 + "Display only routes with non-natural netmasks\n")
14997 +DEFSH (VTYSH_OSPFD, no_ip_ospf_dead_interval_cmd_vtysh,
14998 + "no ip ospf dead-interval",
14999 + "Negate a command or set its defaults\n"
15000 + "IP Information\n"
15001 + "OSPF interface commands\n"
15002 + "Interval after which a neighbor is declared dead\n")
15004 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD, rmap_onmatch_goto_cmd_vtysh,
15005 + "on-match goto <1-65535>",
15006 + "Exit policy on matches\n"
15007 + "Goto Clause number\n"
15008 + "Number\n")
15010 +DEFSH (VTYSH_BGPD, show_ip_bgp_community_all_cmd_vtysh,
15011 + "show ip bgp community",
15012 + "Show running system information\n"
15013 + "IP information\n"
15014 + "BGP information\n"
15015 + "Display routes matching the communities\n")
15017 +DEFSH (VTYSH_RIPD, rip_distance_source_cmd_vtysh,
15018 + "distance <1-255> A.B.C.D/M",
15019 + "Administrative distance\n"
15020 + "Distance value\n"
15021 + "IP source prefix\n")
15023 +DEFSH (VTYSH_BGPD, neighbor_prefix_list_cmd_vtysh,
15024 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "prefix-list WORD (in|out)",
15025 + "Specify neighbor router\n"
15026 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
15027 + "Filter updates to/from this neighbor\n"
15028 + "Name of a prefix list\n"
15029 + "Filter incoming updates\n"
15030 + "Filter outgoing updates\n")
15032 +DEFSH (VTYSH_BGPD, no_neighbor_local_as_val2_cmd_vtysh,
15033 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "local-as <1-65535> no-prepend",
15034 + "Negate a command or set its defaults\n"
15035 + "Specify neighbor router\n"
15036 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
15037 + "Specify a local-as number\n"
15038 + "AS number used as local AS\n"
15039 + "Do not prepend local-as to updates from ebgp peers\n")
15041 +DEFSH (VTYSH_OSPF6D, no_ospf6_interface_area_cmd_vtysh,
15042 + "no interface IFNAME area A.B.C.D",
15043 + "Negate a command or set its defaults\n"
15044 + "Disable routing on an IPv6 interface\n"
15045 + "Interface name(e.g. ep0)\n")
15047 +DEFSH (VTYSH_OSPFD, no_ospf_area_vlink_cmd_vtysh,
15048 + "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D",
15049 + "Negate a command or set its defaults\n"
15050 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n")
15052 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_filter_list_cmd_vtysh,
15053 + "show bgp ipv6 filter-list WORD",
15054 + "Show running system information\n"
15055 + "BGP information\n"
15056 + "Address family\n"
15057 + "Display routes conforming to the filter-list\n"
15058 + "Regular expression access list name\n")
15060 +DEFSH (VTYSH_BGPD, no_bgp_confederation_peers_cmd_vtysh,
15061 + "no bgp confederation peers .<1-65535>",
15062 + "Negate a command or set its defaults\n"
15063 + "BGP specific commands\n"
15064 + "AS confederation parameters\n"
15065 + "Peer ASs in BGP confederation\n"
15066 + "AS number\n")
15068 +DEFSH (VTYSH_BGPD, show_ip_bgp_neighbor_routes_cmd_vtysh,
15069 + "show ip bgp neighbors (A.B.C.D|X:X::X:X) routes",
15070 + "Show running system information\n"
15071 + "IP information\n"
15072 + "BGP information\n"
15073 + "Detailed information on TCP and BGP neighbor connections\n"
15074 + "Neighbor to display information about\n"
15075 + "Neighbor to display information about\n"
15076 + "Display routes learned from neighbor\n")
15078 +DEFSH (VTYSH_BGPD, neighbor_distribute_list_cmd_vtysh,
15079 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "distribute-list (<1-199>|<1300-2699>|WORD) (in|out)",
15080 + "Specify neighbor router\n"
15081 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
15082 + "Filter updates to/from this neighbor\n"
15083 + "IP access-list number\n"
15084 + "IP access-list number (expanded range)\n"
15085 + "IP Access-list name\n"
15086 + "Filter incoming updates\n"
15087 + "Filter outgoing updates\n")
15089 +DEFSH (VTYSH_RIPD, ip_rip_authentication_string_cmd_vtysh,
15090 + "ip rip authentication string LINE",
15091 + "IP information\n"
15092 + "Routing Information Protocol\n"
15093 + "Authentication control\n"
15094 + "Authentication string\n"
15095 + "Authentication string\n")
15097 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_le_cmd_vtysh,
15098 + "no ipv6 prefix-list WORD (deny|permit) X:X::X:X/M le <0-128>",
15099 + "Negate a command or set its defaults\n"
15100 + "IPv6 information\n"
15101 + "Build a prefix list\n"
15102 + "Name of a prefix list\n"
15103 + "Specify packets to reject\n"
15104 + "Specify packets to forward\n"
15105 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
15106 + "Maximum prefix length to be matched\n"
15107 + "Maximum prefix length\n")
15109 +DEFSH (VTYSH_BGPD, neighbor_attr_unchanged2_cmd_vtysh,
15110 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged as-path (next-hop|med)",
15111 + "Specify neighbor router\n"
15112 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
15113 + "BGP attribute is propagated unchanged to this neighbor\n"
15114 + "As-path attribute\n"
15115 + "Nexthop attribute\n"
15116 + "Med attribute\n")
15118 +DEFSH (VTYSH_BGPD, show_ip_bgp_flap_cidr_only_cmd_vtysh,
15119 + "show ip bgp flap-statistics cidr-only",
15120 + "Show running system information\n"
15121 + "IP information\n"
15122 + "BGP information\n"
15123 + "Display flap statistics of routes\n"
15124 + "Display only routes with non-natural netmasks\n")
15126 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_community_all_cmd_vtysh,
15127 + "show ipv6 mbgp community",
15128 + "Show running system information\n"
15129 + "IPv6 information\n"
15130 + "MBGP information\n"
15131 + "Display routes matching the communities\n")
15133 +DEFSH (VTYSH_OSPFD, debug_ospf_packet_all_cmd_vtysh,
15134 + "debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all)",
15135 + "Debugging functions (see also 'undebug')\n"
15136 + "OSPF information\n"
15137 + "OSPF packets\n"
15138 + "OSPF Hello\n"
15139 + "OSPF Database Description\n"
15140 + "OSPF Link State Request\n"
15141 + "OSPF Link State Update\n"
15142 + "OSPF Link State Acknowledgment\n"
15143 + "OSPF all packets\n")
15145 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, show_ip_prefix_list_prefix_cmd_vtysh,
15146 + "show ip prefix-list WORD A.B.C.D/M",
15147 + "Show running system information\n"
15148 + "IP information\n"
15149 + "Build a prefix list\n"
15150 + "Name of a prefix list\n"
15151 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
15153 +DEFSH (VTYSH_BGPD, show_ip_bgp_community_info_cmd_vtysh,
15154 + "show ip bgp community-info",
15155 + "Show running system information\n"
15156 + "IP information\n"
15157 + "BGP information\n"
15158 + "List all bgp community information\n")
15160 +DEFSH (VTYSH_OSPFD, ospf_area_vlink_param3_cmd_vtysh,
15161 + "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
15162 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535> "
15163 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535> "
15164 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535>",
15165 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
15166 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n"
15167 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n"
15168 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n")
15170 +DEFSH (VTYSH_BGPD, bgp_scan_time_cmd_vtysh,
15171 + "bgp scan-time <5-60>",
15172 + "BGP specific commands\n"
15173 + "Configure background scanner interval\n"
15174 + "Scanner interval (seconds)\n")
15176 +DEFSH (VTYSH_BGPD, neighbor_enforce_multihop_cmd_vtysh,
15177 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "enforce-multihop",
15178 + "Specify neighbor router\n"
15179 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
15180 + "Enforce EBGP neighbors perform multihop\n")
15182 +DEFSH (VTYSH_BGPD, clear_ip_bgp_external_soft_in_cmd_vtysh,
15183 + "clear ip bgp external soft in",
15184 + "Reset functions\n"
15185 + "IP information\n"
15186 + "BGP information\n"
15187 + "Clear all external peers\n"
15188 + "Soft reconfig\n"
15189 + "Soft reconfig inbound update\n")
15191 +DEFSH (VTYSH_OSPFD, ospf_timers_spf_cmd_vtysh,
15192 + "timers spf <0-4294967295> <0-4294967295>",
15193 + "Adjust routing timers\n"
15194 + "OSPF SPF timers\n"
15195 + "Delay between receiving a change to SPF calculation\n"
15196 + "Hold time between consecutive SPF calculations\n")
15198 +DEFSH (VTYSH_BGPD, debug_bgp_filter_cmd_vtysh,
15199 + "debug bgp filters",
15200 + "Debugging functions (see also 'undebug')\n"
15201 + "BGP information\n"
15202 + "BGP filters\n")
15204 +DEFSH (VTYSH_RIPNGD, ipv6_distribute_list_all_cmd_vtysh,
15205 + "distribute-list WORD (in|out)",
15206 + "Filter networks in routing updates\n"
15207 + "Access-list name\n"
15208 + "Filter incoming routing updates\n"
15209 + "Filter outgoing routing updates\n")
15211 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_community4_exact_cmd_vtysh,
15212 + "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
15213 + "Show running system information\n"
15214 + "IP information\n"
15215 + "BGP information\n"
15216 + "Address family\n"
15217 + "Address Family modifier\n"
15218 + "Address Family modifier\n"
15219 + "Display routes matching the communities\n"
15220 + "community number\n"
15221 + "Do not send outside local AS (well-known community)\n"
15222 + "Do not advertise to any peer (well-known community)\n"
15223 + "Do not export to next AS (well-known community)\n"
15224 + "community number\n"
15225 + "Do not send outside local AS (well-known community)\n"
15226 + "Do not advertise to any peer (well-known community)\n"
15227 + "Do not export to next AS (well-known community)\n"
15228 + "community number\n"
15229 + "Do not send outside local AS (well-known community)\n"
15230 + "Do not advertise to any peer (well-known community)\n"
15231 + "Do not export to next AS (well-known community)\n"
15232 + "community number\n"
15233 + "Do not send outside local AS (well-known community)\n"
15234 + "Do not advertise to any peer (well-known community)\n"
15235 + "Do not export to next AS (well-known community)\n"
15236 + "Exact match of the communities")
15238 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_inter_intra_cmd_vtysh,
15239 + "distance ospf inter-area <1-255> intra-area <1-255>",
15240 + "Define an administrative distance\n"
15241 + "OSPF Administrative distance\n"
15242 + "Inter-area routes\n"
15243 + "Distance for inter-area routes\n"
15244 + "Intra-area routes\n"
15245 + "Distance for intra-area routes\n")
15247 +DEFSH (VTYSH_RIPD|VTYSH_BGPD, no_set_ip_nexthop_val_cmd_vtysh,
15248 + "no set ip next-hop A.B.C.D",
15249 + "Negate a command or set its defaults\n"
15250 + "Set values in destination routing protocol\n"
15251 + "IP information\n"
15252 + "Next hop address\n"
15253 + "IP address of next hop\n")
15255 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, ip_prefix_list_le_ge_cmd_vtysh,
15256 + "ip prefix-list WORD (deny|permit) A.B.C.D/M le <0-32> ge <0-32>",
15257 + "IP information\n"
15258 + "Build a prefix list\n"
15259 + "Name of a prefix list\n"
15260 + "Specify packets to reject\n"
15261 + "Specify packets to forward\n"
15262 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
15263 + "Maximum prefix length to be matched\n"
15264 + "Maximum prefix length\n"
15265 + "Minimum prefix length to be matched\n"
15266 + "Minimum prefix length\n")
15268 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_community_list_exact_cmd_vtysh,
15269 + "show bgp ipv6 community-list WORD exact-match",
15270 + "Show running system information\n"
15271 + "BGP information\n"
15272 + "Address family\n"
15273 + "Display routes matching the community-list\n"
15274 + "community-list name\n"
15275 + "Exact match of the communities\n")
15277 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_prefix_list_le_cmd_vtysh,
15278 + "ipv6 prefix-list WORD (deny|permit) X:X::X:X/M le <0-128>",
15279 + "IPv6 information\n"
15280 + "Build a prefix list\n"
15281 + "Name of a prefix list\n"
15282 + "Specify packets to reject\n"
15283 + "Specify packets to forward\n"
15284 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
15285 + "Maximum prefix length to be matched\n"
15286 + "Maximum prefix length\n")
15288 +DEFSH (VTYSH_BGPD, no_neighbor_prefix_list_cmd_vtysh,
15289 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "prefix-list WORD (in|out)",
15290 + "Negate a command or set its defaults\n"
15291 + "Specify neighbor router\n"
15292 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
15293 + "Filter updates to/from this neighbor\n"
15294 + "Name of a prefix list\n"
15295 + "Filter incoming updates\n"
15296 + "Filter outgoing updates\n")
15298 +DEFSH (VTYSH_OSPFD, ospf_redistribute_source_metric_routemap_cmd_vtysh,
15299 + "redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> route-map WORD",
15300 + "Redistribute information from another routing protocol\n"
15301 + "Kernel routes\n"
15302 + "Connected\n"
15303 + "Static routes\n"
15304 + "Routing Information Protocol (RIP)\n"
15305 + "Border Gateway Protocol (BGP)\n"
15306 + "Metric for redistributed routes\n"
15307 + "OSPF default metric\n"
15308 + "Route map reference\n"
15309 + "Pointer to route-map entries\n")
15311 +DEFSH (VTYSH_RIPD, no_rip_distance_source_cmd_vtysh,
15312 + "no distance <1-255> A.B.C.D/M",
15313 + "Negate a command or set its defaults\n"
15314 + "Administrative distance\n"
15315 + "Distance value\n"
15316 + "IP source prefix\n")
15318 +DEFSH (VTYSH_OSPFD, ospf_neighbor_poll_interval_cmd_vtysh,
15319 + "neighbor A.B.C.D poll-interval <1-65535>",
15320 + "Specify neighbor router\n"
15321 + "Neighbor IP address\n"
15322 + "Dead Neighbor Polling interval\n"
15323 + "Seconds\n")
15325 +DEFSH (VTYSH_BGPD, show_bgp_instance_ipv6_summary_cmd_vtysh,
15326 + "show bgp view WORD ipv6 summary",
15327 + "Show running system information\n"
15328 + "BGP information\n"
15329 + "BGP view\n"
15330 + "View name\n"
15331 + "Address family\n"
15332 + "Summary of BGP neighbor status\n")
15334 +DEFSH (VTYSH_OSPFD, debug_ospf_nsm_sub_cmd_vtysh,
15335 + "debug ospf nsm (status|events|timers)",
15336 + "Debugging functions (see also 'undebug')\n"
15337 + "OSPF information\n"
15338 + "OSPF Neighbor State Machine\n"
15339 + "NSM Status Information\n"
15340 + "NSM Event Information\n"
15341 + "NSM Timer Information\n")
15343 +DEFSH (VTYSH_BGPD, no_set_ecommunity_rt_val_cmd_vtysh,
15344 + "no set extcommunity rt .ASN:nn_or_IP-address:nn",
15345 + "Negate a command or set its defaults\n"
15346 + "Set values in destination routing protocol\n"
15347 + "BGP extended community attribute\n"
15348 + "Route Target extened communityt\n"
15349 + "VPN extended community\n")
15351 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_group_in_cmd_vtysh,
15352 + "clear ip bgp peer-group WORD in",
15353 + "Reset functions\n"
15354 + "IP information\n"
15355 + "BGP information\n"
15356 + "Clear all members of peer-group\n"
15357 + "BGP peer-group name\n"
15358 + "Soft reconfig inbound update\n")
15360 +DEFSH (VTYSH_BGPD, show_ip_bgp_prefix_list_cmd_vtysh,
15361 + "show ip bgp prefix-list WORD",
15362 + "Show running system information\n"
15363 + "IP information\n"
15364 + "BGP information\n"
15365 + "Display routes conforming to the prefix-list\n"
15366 + "IP prefix-list name\n")
15368 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_extended_host_mask_cmd_vtysh,
15369 + "access-list (<100-199>|<2000-2699>) (deny|permit) ip host A.B.C.D A.B.C.D A.B.C.D",
15370 + "Add an access list entry\n"
15371 + "IP extended access list\n"
15372 + "IP extended access list (expanded range)\n"
15373 + "Specify packets to reject\n"
15374 + "Specify packets to forward\n"
15375 + "Any Internet Protocol\n"
15376 + "A single source host\n"
15377 + "Source address\n"
15378 + "Destination address\n"
15379 + "Destination Wildcard bits\n")
15381 +DEFSH (VTYSH_RIPNGD, no_ipv6_distribute_list_prefix_all_cmd_vtysh,
15382 + "no distribute-list prefix WORD (in|out)",
15383 + "Negate a command or set its defaults\n"
15384 + "Filter networks in routing updates\n"
15385 + "Filter prefixes in routing updates\n"
15386 + "Name of an IP prefix-list\n"
15387 + "Filter incoming routing updates\n"
15388 + "Filter outgoing routing updates\n")
15390 +DEFSH (VTYSH_BGPD, no_set_aspath_prepend_val_cmd_vtysh,
15391 + "no set as-path prepend .<1-65535>",
15392 + "Negate a command or set its defaults\n"
15393 + "Set values in destination routing protocol\n"
15394 + "Prepend string for a BGP AS-path attribute\n"
15395 + "Prepend to the as-path\n"
15396 + "AS number\n")
15398 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPF6D, router_zebra_cmd_vtysh,
15399 + "router zebra",
15400 + "Enable a routing process\n"
15401 + "Make connection to zebra daemon\n")
15403 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_community_cmd_vtysh,
15404 + "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export)",
15405 + "Show running system information\n"
15406 + "IP information\n"
15407 + "BGP information\n"
15408 + "Address family\n"
15409 + "Address Family modifier\n"
15410 + "Address Family modifier\n"
15411 + "Display routes matching the communities\n"
15412 + "community number\n"
15413 + "Do not send outside local AS (well-known community)\n"
15414 + "Do not advertise to any peer (well-known community)\n"
15415 + "Do not export to next AS (well-known community)\n")
15417 +DEFSH (VTYSH_OSPFD, no_ospf_retransmit_interval_cmd_vtysh,
15418 + "no ospf retransmit-interval",
15419 + "Negate a command or set its defaults\n"
15420 + "OSPF interface commands\n"
15421 + "Time between retransmitting lost link state advertisements\n")
15423 +DEFSH (VTYSH_OSPFD, no_router_ospf_cmd_vtysh,
15424 + "no router ospf",
15425 + "Negate a command or set its defaults\n"
15426 + "Enable a routing process\n"
15427 + "Start OSPF configuration\n")
15429 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_vpnv4_out_cmd_vtysh,
15430 + "clear ip bgp <1-65535> vpnv4 unicast out",
15431 + "Reset functions\n"
15432 + "IP information\n"
15433 + "BGP information\n"
15434 + "Clear peers with the AS number\n"
15435 + "Address family\n"
15436 + "Address Family modifier\n"
15437 + "Soft reconfig outbound update\n")
15439 +DEFSH (VTYSH_RIPNGD, no_ripng_offset_list_ifname_cmd_vtysh,
15440 + "no offset-list WORD (in|out) <0-16> IFNAME",
15441 + "Negate a command or set its defaults\n"
15442 + "Modify RIPng metric\n"
15443 + "Access-list name\n"
15444 + "For incoming updates\n"
15445 + "For outgoing updates\n"
15446 + "Metric value\n"
15447 + "Interface to match\n")
15449 +DEFSH (VTYSH_OSPFD, show_ip_ospf_database_type_cmd_vtysh,
15450 + "show ip ospf database (" "asbr-summary|external|network|router|summary" "" "" "|max-age|self-originate)",
15451 + "Show running system information\n"
15452 + "IP information\n"
15453 + "OSPF information\n"
15454 + "Database summary\n"
15455 + "ASBR summary link states\n" "External link states\n" "Network link states\n" "Router link states\n" "Network summary link states\n" "" "" "" ""
15456 + "LSAs in MaxAge list\n"
15457 + "Self-originated link states\n")
15459 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_ipv4_in_cmd_vtysh,
15460 + "clear ip bgp A.B.C.D ipv4 (unicast|multicast) in",
15461 + "Reset functions\n"
15462 + "IP information\n"
15463 + "BGP information\n"
15464 + "BGP neighbor address to clear\n"
15465 + "Address family\n"
15466 + "Address Family modifier\n"
15467 + "Address Family modifier\n"
15468 + "Soft reconfig inbound update\n")
15470 +DEFSH (VTYSH_OSPFD, no_ospf_area_shortcut_cmd_vtysh,
15471 + "no area (A.B.C.D|<0-4294967295>) shortcut (enable|disable)",
15472 + "Negate a command or set its defaults\n"
15473 + "OSPF area parameters\n"
15474 + "OSPF area ID in IP address format\n"
15475 + "OSPF area ID as a decimal value\n"
15476 + "Deconfigure the area's shortcutting mode\n"
15477 + "Deconfigure enabled shortcutting through the area\n"
15478 + "Deconfigure disabled shortcutting through the area\n")
15480 +DEFSH (VTYSH_OSPFD, no_ip_ospf_cost_cmd_vtysh,
15481 + "no ip ospf cost",
15482 + "Negate a command or set its defaults\n"
15483 + "IP Information\n"
15484 + "OSPF interface commands\n"
15485 + "Interface cost\n")
15487 +DEFSH (VTYSH_OSPF6D, no_ospf6_passive_interface_cmd_vtysh,
15488 + "no passive-interface IFNAME",
15489 + "Negate a command or set its defaults\n"
15490 + "Suppress routing updates on an interface\n"
15491 + "Interface name(e.g. ep0)\n")
15493 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_regexp_cmd_vtysh,
15494 + "show bgp ipv6 regexp .LINE",
15495 + "Show running system information\n"
15496 + "BGP information\n"
15497 + "Address family\n"
15498 + "Display routes matching the AS path regular expression\n"
15499 + "A regular-expression to match the BGP AS paths\n")
15501 +DEFSH (VTYSH_ZEBRA, show_ip_route_prefix_longer_cmd_vtysh,
15502 + "show ip route A.B.C.D/M longer-prefixes",
15503 + "Show running system information\n"
15504 + "IP information\n"
15505 + "IP routing table\n"
15506 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
15507 + "Show route matching the specified Network/Mask pair only\n")
15509 +DEFSH (VTYSH_BGPD, no_ip_extcommunity_list_all_cmd_vtysh,
15510 + "no ip extcommunity-list (<1-99>|<100-199>)",
15511 + "Negate a command or set its defaults\n"
15512 + "IP information\n"
15513 + "Add a extended community list entry\n"
15514 + "Extended Community list number (standard)\n"
15515 + "Extended Community list number (expanded)\n")
15517 +DEFSH (VTYSH_ZEBRA, no_linkdetect_cmd_vtysh,
15518 + "no link-detect",
15519 + "Negate a command or set its defaults\n"
15520 + "Disable link detection on interface\n")
15522 +DEFSH (VTYSH_ZEBRA, show_ipv6_route_prefix_cmd_vtysh,
15523 + "show ipv6 route X:X::X:X/M",
15524 + "Show running system information\n"
15525 + "IP information\n"
15526 + "IPv6 routing table\n"
15527 + "IPv6 prefix\n")
15529 +DEFSH (VTYSH_BGPD, no_set_community_none_cmd_vtysh,
15530 + "no set community none",
15531 + "Negate a command or set its defaults\n"
15532 + "Set values in destination routing protocol\n"
15533 + "BGP community attribute\n"
15534 + "No community attribute\n")
15536 +DEFSH (VTYSH_ZEBRA, ip_route_distance_cmd_vtysh,
15537 + "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) <1-255>",
15538 + "IP information\n"
15539 + "Establish static routes\n"
15540 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
15541 + "IP gateway address\n"
15542 + "IP gateway interface name\n"
15543 + "Null interface\n"
15544 + "Distance value for this route\n")
15546 +DEFSH (VTYSH_BGPD, clear_ip_bgp_instance_all_ipv4_in_prefix_filter_cmd_vtysh,
15547 + "clear ip bgp view WORD * ipv4 (unicast|multicast) in prefix-filter",
15548 + "Reset functions\n"
15549 + "IP information\n"
15550 + "BGP information\n"
15551 + "Clear all peers\n"
15552 + "Address family\n"
15553 + "Address Family modifier\n"
15554 + "Address Family modifier\n"
15555 + "Soft reconfig inbound update\n"
15556 + "Push out prefix-list ORF and do inbound soft reconfig\n")
15558 +DEFSH (VTYSH_BGPD, set_origin_cmd_vtysh,
15559 + "set origin (egp|igp|incomplete)",
15560 + "Set values in destination routing protocol\n"
15561 + "BGP origin code\n"
15562 + "remote EGP\n"
15563 + "local IGP\n"
15564 + "unknown heritage\n")
15566 +DEFSH (VTYSH_RIPD, debug_rip_zebra_cmd_vtysh,
15567 + "debug rip zebra",
15568 + "Debugging functions (see also 'undebug')\n"
15569 + "RIP information\n"
15570 + "RIP and ZEBRA communication\n")
15572 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_all_soft_in_cmd_vtysh,
15573 + "clear bgp ipv6 * soft in",
15574 + "Reset functions\n"
15575 + "BGP information\n"
15576 + "Address family\n"
15577 + "Clear all peers\n"
15578 + "Soft reconfig\n"
15579 + "Soft reconfig inbound update\n")
15581 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_intra_external_cmd_vtysh,
15582 + "distance ospf intra-area <1-255> external <1-255>",
15583 + "Define an administrative distance\n"
15584 + "OSPF Administrative distance\n"
15585 + "Intra-area routes\n"
15586 + "Distance for intra-area routes\n"
15587 + "External routes\n"
15588 + "Distance for external routes\n")
15590 +DEFSH (VTYSH_OSPFD, ip_ospf_authentication_args_addr_cmd_vtysh,
15591 + "ip ospf authentication (null|message-digest) A.B.C.D",
15592 + "IP Information\n"
15593 + "OSPF interface commands\n"
15594 + "Enable authentication on this interface\n"
15595 + "Use null authentication\n"
15596 + "Use message-digest authentication\n"
15597 + "Address of interface")
15599 +DEFSH (VTYSH_BGPD, ipv6_bgp_network_route_map_cmd_vtysh,
15600 + "network X:X::X:X/M route-map WORD",
15601 + "Specify a network to announce via BGP\n"
15602 + "IPv6 prefix <network>/<length>\n"
15603 + "Route-map to modify the attributes\n"
15604 + "Name of the route map\n")
15606 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_area_topology_router_lsid_cmd_vtysh,
15607 + "show ipv6 ospf6 area A.B.C.D topology (A.B.C.D|<0-4294967295>) (A.B.C.D|<0-4294967295>)",
15608 + "Show running system information\n"
15609 + "IPv6 Information\n"
15610 + "Open Shortest Path First (OSPF) for IPv6\n"
15611 + "Area information\n"
15612 + "Area ID (as an IPv4 notation)\n"
15613 + "Shortest Path First tree information\n"
15614 + "Displays SPF topology table\n"
15615 + "Specify Router-ID\n"
15616 + "Specify Router-ID\n"
15617 + "Specify Link State ID\n"
15618 + "Specify Link State ID\n"
15621 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_community3_cmd_vtysh,
15622 + "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
15623 + "Show running system information\n"
15624 + "IPv6 information\n"
15625 + "MBGP information\n"
15626 + "Display routes matching the communities\n"
15627 + "community number\n"
15628 + "Do not send outside local AS (well-known community)\n"
15629 + "Do not advertise to any peer (well-known community)\n"
15630 + "Do not export to next AS (well-known community)\n"
15631 + "community number\n"
15632 + "Do not send outside local AS (well-known community)\n"
15633 + "Do not advertise to any peer (well-known community)\n"
15634 + "Do not export to next AS (well-known community)\n"
15635 + "community number\n"
15636 + "Do not send outside local AS (well-known community)\n"
15637 + "Do not advertise to any peer (well-known community)\n"
15638 + "Do not export to next AS (well-known community)\n")
15640 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_standard_host_cmd_vtysh,
15641 + "no access-list (<1-99>|<1300-1999>) (deny|permit) host A.B.C.D",
15642 + "Negate a command or set its defaults\n"
15643 + "Add an access list entry\n"
15644 + "IP standard access list\n"
15645 + "IP standard access list (expanded range)\n"
15646 + "Specify packets to reject\n"
15647 + "Specify packets to forward\n"
15648 + "A single host address\n"
15649 + "Address to match\n")
15651 +DEFSH (VTYSH_BGPD, show_ip_bgp_flap_prefix_cmd_vtysh,
15652 + "show ip bgp flap-statistics A.B.C.D/M",
15653 + "Show running system information\n"
15654 + "IP information\n"
15655 + "BGP information\n"
15656 + "Display flap statistics of routes\n"
15657 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
15659 +DEFSH (VTYSH_BGPD, bgp_network_route_map_cmd_vtysh,
15660 + "network A.B.C.D/M route-map WORD",
15661 + "Specify a network to announce via BGP\n"
15662 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
15663 + "Route-map to modify the attributes\n"
15664 + "Name of the route map\n")
15666 +DEFSH (VTYSH_BGPD, ipv6_bgp_network_cmd_vtysh,
15667 + "network X:X::X:X/M",
15668 + "Specify a network to announce via BGP\n"
15669 + "IPv6 prefix <network>/<length>\n")
15671 +DEFSH (VTYSH_RIPD, no_rip_redistribute_type_cmd_vtysh,
15672 + "no redistribute (kernel|connected|static|ospf|bgp)",
15673 + "Negate a command or set its defaults\n"
15674 + "Redistribute information from another routing protocol\n"
15675 + "Kernel routes\n"
15676 + "Connected\n"
15677 + "Static routes\n"
15678 + "Open Shortest Path First (OSPF)\n"
15679 + "Border Gateway Protocol (BGP)\n")
15681 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_soft_in_cmd_vtysh,
15682 + "clear bgp ipv6 (A.B.C.D|X:X::X:X) soft in",
15683 + "Reset functions\n"
15684 + "BGP information\n"
15685 + "Address family\n"
15686 + "BGP neighbor address to clear\n"
15687 + "BGP IPv6 neighbor to clear\n"
15688 + "Soft reconfig\n"
15689 + "Soft reconfig inbound update\n")
15691 +DEFSH (VTYSH_ZEBRA, no_bandwidth_if_val_cmd_vtysh,
15692 + "no bandwidth <1-10000000>",
15693 + "Negate a command or set its defaults\n"
15694 + "Set bandwidth informational parameter\n"
15695 + "Bandwidth in kilobits\n")
15697 +DEFSH (VTYSH_OSPFD, ip_ospf_transmit_delay_addr_cmd_vtysh,
15698 + "ip ospf transmit-delay <1-65535> A.B.C.D",
15699 + "IP Information\n"
15700 + "OSPF interface commands\n"
15701 + "Link state transmit delay\n"
15702 + "Seconds\n"
15703 + "Address of interface")
15705 +DEFSH (VTYSH_BGPD, undebug_bgp_update_cmd_vtysh,
15706 + "undebug bgp updates",
15707 + "Disable debugging functions (see also 'debug')\n"
15708 + "BGP information\n"
15709 + "BGP updates\n")
15711 +DEFSH (VTYSH_BGPD, neighbor_nexthop_self_cmd_vtysh,
15712 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "next-hop-self",
15713 + "Specify neighbor router\n"
15714 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
15715 + "Disable the next hop calculation for this neighbor\n")
15717 +DEFSH (VTYSH_BGPD, no_neighbor_enforce_multihop_cmd_vtysh,
15718 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "enforce-multihop",
15719 + "Negate a command or set its defaults\n"
15720 + "Specify neighbor router\n"
15721 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
15722 + "Enforce EBGP neighbors perform multihop\n")
15724 +DEFSH (VTYSH_BGPD, show_bgp_community_cmd_vtysh,
15725 + "show bgp community (AA:NN|local-AS|no-advertise|no-export)",
15726 + "Show running system information\n"
15727 + "BGP information\n"
15728 + "Display routes matching the communities\n"
15729 + "community number\n"
15730 + "Do not send outside local AS (well-known community)\n"
15731 + "Do not advertise to any peer (well-known community)\n"
15732 + "Do not export to next AS (well-known community)\n")
15734 +DEFSH (VTYSH_RIPD, rip_default_information_originate_cmd_vtysh,
15735 + "default-information originate",
15736 + "Control distribution of default route\n"
15737 + "Distribute a default route\n")
15739 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_external_soft_out_cmd_vtysh,
15740 + "clear bgp ipv6 external soft out",
15741 + "Reset functions\n"
15742 + "BGP information\n"
15743 + "Address family\n"
15744 + "Clear all external peers\n"
15745 + "Soft reconfig\n"
15746 + "Soft reconfig outbound update\n")
15748 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, show_ip_prefix_list_detail_cmd_vtysh,
15749 + "show ip prefix-list detail",
15750 + "Show running system information\n"
15751 + "IP information\n"
15752 + "Build a prefix list\n"
15753 + "Detail of prefix lists\n")
15755 +DEFSH (VTYSH_BGPD, show_ip_bgp_community_list_cmd_vtysh,
15756 + "show ip bgp community-list WORD",
15757 + "Show running system information\n"
15758 + "IP information\n"
15759 + "BGP information\n"
15760 + "Display routes matching the community-list\n"
15761 + "community-list name\n")
15763 +DEFSH (VTYSH_BGPD, clear_bgp_peer_group_soft_in_cmd_vtysh,
15764 + "clear bgp peer-group WORD soft in",
15765 + "Reset functions\n"
15766 + "BGP information\n"
15767 + "Clear all members of peer-group\n"
15768 + "BGP peer-group name\n"
15769 + "Soft reconfig\n"
15770 + "Soft reconfig inbound update\n")
15772 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_access_list_remark_cmd_vtysh,
15773 + "no ipv6 access-list WORD remark",
15774 + "Negate a command or set its defaults\n"
15775 + "IPv6 information\n"
15776 + "Add an access list entry\n"
15777 + "IPv6 zebra access-list\n"
15778 + "Access list entry comment\n")
15780 +DEFSH (VTYSH_BGPD, clear_ip_bgp_dampening_cmd_vtysh,
15781 + "clear ip bgp dampening",
15782 + "Reset functions\n"
15783 + "IP information\n"
15784 + "BGP information\n"
15785 + "Clear route flap dampening information\n")
15787 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_group_in_prefix_filter_cmd_vtysh,
15788 + "clear ip bgp peer-group WORD in prefix-filter",
15789 + "Reset functions\n"
15790 + "IP information\n"
15791 + "BGP information\n"
15792 + "Clear all members of peer-group\n"
15793 + "BGP peer-group name\n"
15794 + "Soft reconfig inbound update\n"
15795 + "Push out prefix-list ORF and do inbound soft reconfig\n")
15797 +DEFSH (VTYSH_ZEBRA, ipv6_address_cmd_vtysh,
15798 + "ipv6 address X:X::X:X/M",
15799 + "Interface Internet Protocol config commands\n"
15800 + "Set the IP address of an interface\n"
15801 + "IPv6 address (e.g. 3ffe:506::1/48)\n")
15803 +DEFSH (VTYSH_BGPD, no_match_ipv6_address_cmd_vtysh,
15804 + "no match ipv6 address WORD",
15805 + "Negate a command or set its defaults\n"
15806 + "Match values from routing table\n"
15807 + "IPv6 information\n"
15808 + "Match IPv6 address of route\n"
15809 + "IPv6 access-list name\n")
15811 +DEFSH (VTYSH_ZEBRA, no_ip_forwarding_cmd_vtysh,
15812 + "no ip forwarding",
15813 + "Negate a command or set its defaults\n"
15814 + "IP information\n"
15815 + "Turn off IP forwarding")
15817 +DEFSH (VTYSH_OSPFD, no_ospf_network_area_cmd_vtysh,
15818 + "no network A.B.C.D/M area (A.B.C.D|<0-4294967295>)",
15819 + "Negate a command or set its defaults\n"
15820 + "Enable routing on an IP network\n"
15821 + "OSPF network prefix\n"
15822 + "Set the OSPF area ID\n"
15823 + "OSPF area ID in IP address format\n"
15824 + "OSPF area ID as a decimal value\n")
15826 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_group_in_prefix_filter_cmd_vtysh,
15827 + "clear bgp ipv6 peer-group WORD in prefix-filter",
15828 + "Reset functions\n"
15829 + "BGP information\n"
15830 + "Address family\n"
15831 + "Clear all members of peer-group\n"
15832 + "BGP peer-group name\n"
15833 + "Soft reconfig inbound update\n"
15834 + "Push out prefix-list ORF and do inbound soft reconfig\n")
15836 +DEFSH (VTYSH_RIPNGD, no_ripng_default_information_originate_cmd_vtysh,
15837 + "no default-information originate",
15838 + "Negate a command or set its defaults\n"
15839 + "Default route information\n"
15840 + "Distribute default route\n")
15842 +DEFSH (VTYSH_BGPD, bgp_bestpath_med2_cmd_vtysh,
15843 + "bgp bestpath med confed missing-as-worst",
15844 + "BGP specific commands\n"
15845 + "Change the default bestpath selection\n"
15846 + "MED attribute\n"
15847 + "Compare MED among confederation paths\n"
15848 + "Treat missing MED as the least preferred one\n")
15850 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_standard_cmd_vtysh,
15851 + "access-list (<1-99>|<1300-1999>) (deny|permit) A.B.C.D A.B.C.D",
15852 + "Add an access list entry\n"
15853 + "IP standard access list\n"
15854 + "IP standard access list (expanded range)\n"
15855 + "Specify packets to reject\n"
15856 + "Specify packets to forward\n"
15857 + "Address to match\n"
15858 + "Wildcard bits\n")
15860 +DEFSH (VTYSH_BGPD, show_bgp_view_ipv6_neighbor_advertised_route_cmd_vtysh,
15861 + "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) advertised-routes",
15862 + "Show running system information\n"
15863 + "BGP information\n"
15864 + "BGP view\n"
15865 + "View name\n"
15866 + "Address family\n"
15867 + "Detailed information on TCP and BGP neighbor connections\n"
15868 + "Neighbor to display information about\n"
15869 + "Neighbor to display information about\n"
15870 + "Display the routes advertised to a BGP neighbor\n")
15872 +DEFSH (VTYSH_ZEBRA, ipv6_route_cmd_vtysh,
15873 + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE)",
15874 + "IP information\n"
15875 + "Establish static routes\n"
15876 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
15877 + "IPv6 gateway address\n"
15878 + "IPv6 gateway interface name\n")
15880 +DEFSH (VTYSH_BGPD, show_bgp_community2_exact_cmd_vtysh,
15881 + "show bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
15882 + "Show running system information\n"
15883 + "BGP information\n"
15884 + "Display routes matching the communities\n"
15885 + "community number\n"
15886 + "Do not send outside local AS (well-known community)\n"
15887 + "Do not advertise to any peer (well-known community)\n"
15888 + "Do not export to next AS (well-known community)\n"
15889 + "community number\n"
15890 + "Do not send outside local AS (well-known community)\n"
15891 + "Do not advertise to any peer (well-known community)\n"
15892 + "Do not export to next AS (well-known community)\n"
15893 + "Exact match of the communities")
15895 +DEFSH (VTYSH_ZEBRA, no_ip_address_label_cmd_vtysh,
15896 + "no ip address A.B.C.D/M label LINE",
15897 + "Negate a command or set its defaults\n"
15898 + "Interface Internet Protocol config commands\n"
15899 + "Set the IP address of an interface\n"
15900 + "IP address (e.g. 10.0.0.1/8)\n"
15901 + "Label of this address\n"
15902 + "Label\n")
15904 +DEFSH (VTYSH_BGPD, show_bgp_view_route_cmd_vtysh,
15905 + "show bgp view WORD X:X::X:X",
15906 + "Show running system information\n"
15907 + "BGP information\n"
15908 + "BGP view\n"
15909 + "View name\n"
15910 + "Network in the BGP routing table to display\n")
15912 +DEFSH (VTYSH_RIPNGD, no_ripng_redistribute_type_routemap_cmd_vtysh,
15913 + "no redistribute (kernel|connected|static|ospf6|bgp) route-map WORD",
15914 + "Negate a command or set its defaults\n"
15915 + "Redistribute information from another routing protocol\n"
15916 + "Kernel routes\n"
15917 + "Connected\n"
15918 + "Static routes\n"
15919 + "Open Shortest Path First (OSPFv3)\n"
15920 + "Border Gateway Protocol (BGP)\n"
15921 + "Route map reference\n"
15922 + "Pointer to route-map entries\n")
15924 +DEFSH (VTYSH_BGPD, no_bgp_deterministic_med_cmd_vtysh,
15925 + "no bgp deterministic-med",
15926 + "Negate a command or set its defaults\n"
15927 + "BGP specific commands\n"
15928 + "Pick the best-MED path among paths advertised from the neighboring AS\n")
15930 +DEFSH (VTYSH_BGPD, bgp_redistribute_ipv4_cmd_vtysh,
15931 + "redistribute (connected|kernel|ospf|rip|static)",
15932 + "Redistribute information from another routing protocol\n"
15933 + "Connected\n"
15934 + "Kernel routes\n"
15935 + "Open Shurtest Path First (OSPF)\n"
15936 + "Routing Information Protocol (RIP)\n"
15937 + "Static routes\n")
15939 +DEFSH (VTYSH_BGPD, show_ip_bgp_neighbor_received_routes_cmd_vtysh,
15940 + "show ip bgp neighbors (A.B.C.D|X:X::X:X) received-routes",
15941 + "Show running system information\n"
15942 + "IP information\n"
15943 + "BGP information\n"
15944 + "Detailed information on TCP and BGP neighbor connections\n"
15945 + "Neighbor to display information about\n"
15946 + "Neighbor to display information about\n"
15947 + "Display the received routes from neighbor\n")
15949 +DEFSH (VTYSH_RIPD, no_key_chain_cmd_vtysh,
15950 + "no key chain WORD",
15951 + "Negate a command or set its defaults\n"
15952 + "Authentication key management\n"
15953 + "Key-chain management\n"
15954 + "Key-chain name\n")
15956 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_standard_any_cmd_vtysh,
15957 + "access-list (<1-99>|<1300-1999>) (deny|permit) any",
15958 + "Add an access list entry\n"
15959 + "IP standard access list\n"
15960 + "IP standard access list (expanded range)\n"
15961 + "Specify packets to reject\n"
15962 + "Specify packets to forward\n"
15963 + "Any source host\n")
15965 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_soft_cmd_vtysh,
15966 + "clear ip bgp <1-65535> soft",
15967 + "Reset functions\n"
15968 + "IP information\n"
15969 + "BGP information\n"
15970 + "Clear peers with the AS number\n"
15971 + "Soft reconfig\n")
15973 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_all_in_cmd_vtysh,
15974 + "clear bgp ipv6 * in",
15975 + "Reset functions\n"
15976 + "BGP information\n"
15977 + "Address family\n"
15978 + "Clear all peers\n"
15979 + "Soft reconfig inbound update\n")
15981 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD, no_match_tag_val_cmd_vtysh,
15982 + "no match tag <0-65535>",
15983 + "Negate a command or set its defaults\n"
15984 + "Match values from routing table\n"
15985 + "Match tag of route\n"
15986 + "Metric value\n")
15988 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_match_ip_address_val_cmd_vtysh,
15989 + "no match ip address (<1-199>|<1300-2699>|WORD)",
15990 + "Negate a command or set its defaults\n"
15991 + "Match values from routing table\n"
15992 + "IP information\n"
15993 + "Match address of route\n"
15994 + "IP access-list number\n"
15995 + "IP access-list number (expanded range)\n"
15996 + "IP Access-list name\n")
15998 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD, set_tag_cmd_vtysh,
15999 + "set tag <0-65535>",
16000 + "Set values in destination routing protocol\n"
16001 + "Tag value for routing protocol\n"
16002 + "Tag value\n")
16004 +DEFSH (VTYSH_BGPD, show_ip_bgp_community_cmd_vtysh,
16005 + "show ip bgp community (AA:NN|local-AS|no-advertise|no-export)",
16006 + "Show running system information\n"
16007 + "IP information\n"
16008 + "BGP information\n"
16009 + "Display routes matching the communities\n"
16010 + "community number\n"
16011 + "Do not send outside local AS (well-known community)\n"
16012 + "Do not advertise to any peer (well-known community)\n"
16013 + "Do not export to next AS (well-known community)\n")
16015 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_topology_cmd_vtysh,
16016 + "show ipv6 ospf6 topology",
16017 + "Show running system information\n"
16018 + "IPv6 Information\n"
16019 + "Open Shortest Path First (OSPF) for IPv6\n"
16020 + "Inter Area topology information\n"
16023 +DEFSH (VTYSH_RIPNGD, ripng_timers_cmd_vtysh,
16024 + "timers basic <0-65535> <0-65535> <0-65535>",
16025 + "RIPng timers setup\n"
16026 + "Basic timer\n"
16027 + "Routing table update timer value in second. Default is 30.\n"
16028 + "Routing information timeout timer. Default is 180.\n"
16029 + "Garbage collection timer. Default is 120.\n")
16031 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_area_spf_node_cmd_vtysh,
16032 + "show ipv6 ospf6 area A.B.C.D spf node",
16033 + "Show running system information\n"
16034 + "IPv6 Information\n"
16035 + "Open Shortest Path First (OSPF) for IPv6\n"
16036 + "Area information\n"
16037 + "Area ID (as an IPv4 notation)\n"
16038 + "Shortest Path First caculation\n"
16039 + "vertex infomation\n"
16042 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_ipv4_out_cmd_vtysh,
16043 + "clear ip bgp A.B.C.D ipv4 (unicast|multicast) out",
16044 + "Reset functions\n"
16045 + "IP information\n"
16046 + "BGP information\n"
16047 + "BGP neighbor address to clear\n"
16048 + "Address family\n"
16049 + "Address Family modifier\n"
16050 + "Address Family modifier\n"
16051 + "Soft reconfig outbound update\n")
16053 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_match_ip_next_hop_val_cmd_vtysh,
16054 + "no match ip next-hop (<1-199>|<1300-2699>|WORD)",
16055 + "Negate a command or set its defaults\n"
16056 + "Match values from routing table\n"
16057 + "IP information\n"
16058 + "Match next-hop address of route\n"
16059 + "IP access-list number\n"
16060 + "IP access-list number (expanded range)\n"
16061 + "IP Access-list name\n")
16063 +DEFSH (VTYSH_RIPNGD, ripng_default_information_originate_cmd_vtysh,
16064 + "default-information originate",
16065 + "Default route information\n"
16066 + "Distribute default route\n")
16068 +DEFSH (VTYSH_OSPFD, no_ospf_refresh_timer_val_cmd_vtysh,
16069 + "no refresh timer <10-1800>",
16070 + "Adjust refresh parameters\n"
16071 + "Unset refresh timer\n"
16072 + "Timer value in seconds\n")
16074 +DEFSH (VTYSH_OSPFD, no_ospf_abr_type_cmd_vtysh,
16075 + "no ospf abr-type (cisco|ibm|shortcut)",
16076 + "Negate a command or set its defaults\n"
16077 + "OSPF specific commands\n"
16078 + "Set OSPF ABR type\n"
16079 + "Alternative ABR, cisco implementation\n"
16080 + "Alternative ABR, IBM implementation\n"
16081 + "Shortcut ABR\n")
16083 +DEFSH (VTYSH_BGPD, show_ip_as_path_access_list_cmd_vtysh,
16084 + "show ip as-path-access-list WORD",
16085 + "Show running system information\n"
16086 + "IP information\n"
16087 + "List AS path access lists\n"
16088 + "AS path access list name\n")
16090 +DEFSH (VTYSH_ZEBRA, ip_route_mask_cmd_vtysh,
16091 + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0)",
16092 + "IP information\n"
16093 + "Establish static routes\n"
16094 + "IP destination prefix\n"
16095 + "IP destination prefix mask\n"
16096 + "IP gateway address\n"
16097 + "IP gateway interface name\n"
16098 + "Null interface\n")
16100 +DEFSH (VTYSH_BGPD, clear_ip_bgp_external_ipv4_in_cmd_vtysh,
16101 + "clear ip bgp external ipv4 (unicast|multicast) in",
16102 + "Reset functions\n"
16103 + "IP information\n"
16104 + "BGP information\n"
16105 + "Clear all external peers\n"
16106 + "Address family\n"
16107 + "Address Family modifier\n"
16108 + "Address Family modifier\n"
16109 + "Soft reconfig inbound update\n")
16111 +DEFSH (VTYSH_BGPD, ip_community_list_name_standard_cmd_vtysh,
16112 + "ip community-list standard WORD (deny|permit) .AA:NN",
16113 + "IP information\n"
16114 + "Add a community list entry\n"
16115 + "Add a standard community-list entry\n"
16116 + "Community list name\n"
16117 + "Specify community to reject\n"
16118 + "Specify community to accept\n"
16119 + "Community number in aa:nn format or internet|local-AS|no-advertise|no-export\n")
16121 +DEFSH (VTYSH_BGPD, show_ip_bgp_neighbors_peer_cmd_vtysh,
16122 + "show ip bgp neighbors (A.B.C.D|X:X::X:X)",
16123 + "Show running system information\n"
16124 + "IP information\n"
16125 + "BGP information\n"
16126 + "Detailed information on TCP and BGP neighbor connections\n"
16127 + "Neighbor to display information about\n"
16128 + "Neighbor to display information about\n")
16130 +DEFSH (VTYSH_OSPF6D|VTYSH_BGPD, match_ipv6_address_prefix_list_cmd_vtysh,
16131 + "match ipv6 address prefix-list WORD",
16132 + "Match values from routing table\n"
16133 + "IPv6 information\n"
16134 + "Match address of route\n"
16135 + "Match entries of prefix-lists\n"
16136 + "IP prefix-list name\n")
16138 +DEFSH (VTYSH_OSPFD, ospf_area_vlink_authtype_cmd_vtysh,
16139 + "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
16140 + "(authentication|)",
16141 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
16142 + "Enable authentication on this virtual link\n" "dummy string \n")
16144 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_in_prefix_filter_cmd_vtysh,
16145 + "clear ip bgp A.B.C.D in prefix-filter",
16146 + "Reset functions\n"
16147 + "IP information\n"
16148 + "BGP information\n"
16149 + "BGP neighbor address to clear\n"
16150 + "Soft reconfig inbound update\n"
16151 + "Push out the existing ORF prefix-list\n")
16153 +DEFSH (VTYSH_BGPD, match_aspath_cmd_vtysh,
16154 + "match as-path WORD",
16155 + "Match values from routing table\n"
16156 + "Match BGP AS path list\n"
16157 + "AS path access-list name\n")
16159 +DEFSH (VTYSH_BGPD, no_ipv6_bgp_network_route_map_cmd_vtysh,
16160 + "no network X:X::X:X/M route-map WORD",
16161 + "Negate a command or set its defaults\n"
16162 + "Specify a network to announce via BGP\n"
16163 + "IPv6 prefix <network>/<length>\n"
16164 + "Route-map to modify the attributes\n"
16165 + "Name of the route map\n")
16167 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_prefix_cmd_vtysh,
16168 + "no ipv6 prefix-list WORD (deny|permit) (X:X::X:X/M|any)",
16169 + "Negate a command or set its defaults\n"
16170 + "IPv6 information\n"
16171 + "Build a prefix list\n"
16172 + "Name of a prefix list\n"
16173 + "Specify packets to reject\n"
16174 + "Specify packets to forward\n"
16175 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
16176 + "Any prefix match. Same as \"::0/0 le 128\"\n")
16178 +DEFSH (VTYSH_BGPD, no_neighbor_advertise_interval_cmd_vtysh,
16179 + "no neighbor (A.B.C.D|X:X::X:X) " "advertisement-interval",
16180 + "Negate a command or set its defaults\n"
16181 + "Specify neighbor router\n"
16182 + "Neighbor address\nIPv6 address\n"
16183 + "Minimum interval between sending BGP routing updates\n")
16185 +DEFSH (VTYSH_BGPD, neighbor_attr_unchanged_cmd_vtysh,
16186 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged",
16187 + "Specify neighbor router\n"
16188 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
16189 + "BGP attribute is propagated unchanged to this neighbor\n")
16191 +DEFSH (VTYSH_BGPD, neighbor_attr_unchanged8_cmd_vtysh,
16192 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged next-hop as-path med",
16193 + "Specify neighbor router\n"
16194 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
16195 + "BGP attribute is propagated unchanged to this neighbor\n"
16196 + "Nexthop attribute\n"
16197 + "As-path attribute\n"
16198 + "Med attribute\n")
16200 +DEFSH (VTYSH_BGPD, no_set_origin_val_cmd_vtysh,
16201 + "no set origin (egp|igp|incomplete)",
16202 + "Negate a command or set its defaults\n"
16203 + "Set values in destination routing protocol\n"
16204 + "BGP origin code\n"
16205 + "remote EGP\n"
16206 + "local IGP\n"
16207 + "unknown heritage\n")
16209 +DEFSH (VTYSH_ZEBRA, no_ipv6_route_ifname_flags_pref_cmd_vtysh,
16210 + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) <1-255>",
16211 + "Negate a command or set its defaults\n"
16212 + "IP information\n"
16213 + "Establish static routes\n"
16214 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
16215 + "IPv6 gateway address\n"
16216 + "IPv6 gateway interface name\n"
16217 + "Emit an ICMP unreachable when matched\n"
16218 + "Silently discard pkts when matched\n"
16219 + "Distance value for this prefix\n")
16221 +DEFSH (VTYSH_BGPD, bgp_network_mask_natural_cmd_vtysh,
16222 + "network A.B.C.D",
16223 + "Specify a network to announce via BGP\n"
16224 + "Network number\n")
16226 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_remark_cmd_vtysh,
16227 + "access-list (<1-99>|<100-199>|<1300-1999>|<2000-2699>|WORD) remark .LINE",
16228 + "Add an access list entry\n"
16229 + "IP standard access list\n"
16230 + "IP extended access list\n"
16231 + "IP standard access list (expanded range)\n"
16232 + "IP extended access list (expanded range)\n"
16233 + "IP zebra access-list\n"
16234 + "Access list entry comment\n"
16235 + "Comment up to 100 characters\n")
16237 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_soft_in_cmd_vtysh,
16238 + "clear ip bgp A.B.C.D soft in",
16239 + "Reset functions\n"
16240 + "IP information\n"
16241 + "BGP information\n"
16242 + "BGP neighbor address to clear\n"
16243 + "Soft reconfig\n"
16244 + "Soft reconfig inbound update\n")
16246 +DEFSH (VTYSH_OSPFD, ospf_dead_interval_cmd_vtysh,
16247 + "ospf dead-interval <1-65535>",
16248 + "OSPF interface commands\n"
16249 + "Interval after which a neighbor is declared dead\n"
16250 + "Seconds\n")
16252 +DEFSH (VTYSH_OSPFD, ospf_area_default_cost_cmd_vtysh,
16253 + "area (A.B.C.D|<0-4294967295>) default-cost <0-16777215>",
16254 + "OSPF area parameters\n"
16255 + "OSPF area ID in IP address format\n"
16256 + "OSPF area ID as a decimal value\n"
16257 + "Set the summary-default cost of a NSSA or stub area\n"
16258 + "Stub's advertised default summary cost\n")
16260 +DEFSH (VTYSH_ZEBRA, bandwidth_if_cmd_vtysh,
16261 + "bandwidth <1-10000000>",
16262 + "Set bandwidth informational parameter\n"
16263 + "Bandwidth in kilobits\n")
16265 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_community4_exact_cmd_vtysh,
16266 + "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
16267 + "Show running system information\n"
16268 + "IPv6 information\n"
16269 + "BGP information\n"
16270 + "Display routes matching the communities\n"
16271 + "community number\n"
16272 + "Do not send outside local AS (well-known community)\n"
16273 + "Do not advertise to any peer (well-known community)\n"
16274 + "Do not export to next AS (well-known community)\n"
16275 + "community number\n"
16276 + "Do not send outside local AS (well-known community)\n"
16277 + "Do not advertise to any peer (well-known community)\n"
16278 + "Do not export to next AS (well-known community)\n"
16279 + "community number\n"
16280 + "Do not send outside local AS (well-known community)\n"
16281 + "Do not advertise to any peer (well-known community)\n"
16282 + "Do not export to next AS (well-known community)\n"
16283 + "community number\n"
16284 + "Do not send outside local AS (well-known community)\n"
16285 + "Do not advertise to any peer (well-known community)\n"
16286 + "Do not export to next AS (well-known community)\n"
16287 + "Exact match of the communities")
16289 +DEFSH (VTYSH_ZEBRA, ipv6_route_flags_cmd_vtysh,
16290 + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole)",
16291 + "IP information\n"
16292 + "Establish static routes\n"
16293 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
16294 + "IPv6 gateway address\n"
16295 + "IPv6 gateway interface name\n"
16296 + "Emit an ICMP unreachable when matched\n"
16297 + "Silently discard pkts when matched\n")
16299 +DEFSH (VTYSH_BGPD, clear_bgp_instance_all_soft_cmd_vtysh,
16300 + "clear bgp view WORD * soft",
16301 + "Reset functions\n"
16302 + "BGP information\n"
16303 + "BGP view\n"
16304 + "view name\n"
16305 + "Clear all peers\n"
16306 + "Soft reconfig\n")
16308 +DEFSH (VTYSH_BGPD, show_bgp_view_ipv6_route_cmd_vtysh,
16309 + "show bgp view WORD ipv6 X:X::X:X",
16310 + "Show running system information\n"
16311 + "BGP information\n"
16312 + "BGP view\n"
16313 + "View name\n"
16314 + "Address family\n"
16315 + "Network in the BGP routing table to display\n")
16317 +DEFSH (VTYSH_RIPNGD, if_ipv6_rmap_cmd_vtysh,
16318 + "route-map RMAP_NAME (in|out) IFNAME",
16319 + "Route map set\n"
16320 + "Route map name\n"
16321 + "Route map set for input filtering\n"
16322 + "Route map set for output filtering\n"
16323 + "Route map interface name\n")
16325 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_extended_host_mask_cmd_vtysh,
16326 + "no access-list (<100-199>|<2000-2699>) (deny|permit) ip host A.B.C.D A.B.C.D A.B.C.D",
16327 + "Negate a command or set its defaults\n"
16328 + "Add an access list entry\n"
16329 + "IP extended access list\n"
16330 + "IP extended access list (expanded range)\n"
16331 + "Specify packets to reject\n"
16332 + "Specify packets to forward\n"
16333 + "Any Internet Protocol\n"
16334 + "A single source host\n"
16335 + "Source address\n"
16336 + "Destination address\n"
16337 + "Destination Wildcard bits\n")
16339 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_extended_cmd_vtysh,
16340 + "no access-list (<100-199>|<2000-2699>) (deny|permit) ip A.B.C.D A.B.C.D A.B.C.D A.B.C.D",
16341 + "Negate a command or set its defaults\n"
16342 + "Add an access list entry\n"
16343 + "IP extended access list\n"
16344 + "IP extended access list (expanded range)\n"
16345 + "Specify packets to reject\n"
16346 + "Specify packets to forward\n"
16347 + "Any Internet Protocol\n"
16348 + "Source address\n"
16349 + "Source wildcard bits\n"
16350 + "Destination address\n"
16351 + "Destination Wildcard bits\n")
16353 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_ipv4_soft_in_cmd_vtysh,
16354 + "clear ip bgp A.B.C.D ipv4 (unicast|multicast) soft in",
16355 + "Reset functions\n"
16356 + "IP information\n"
16357 + "BGP information\n"
16358 + "BGP neighbor address to clear\n"
16359 + "Address family\n"
16360 + "Address Family modifier\n"
16361 + "Address Family modifier\n"
16362 + "Soft reconfig\n"
16363 + "Soft reconfig inbound update\n")
16365 +DEFSH (VTYSH_BGPD, no_set_ecommunity_soo_val_cmd_vtysh,
16366 + "no set extcommunity soo .ASN:nn_or_IP-address:nn",
16367 + "Negate a command or set its defaults\n"
16368 + "Set values in destination routing protocol\n"
16369 + "BGP extended community attribute\n"
16370 + "Site-of-Origin extended community\n"
16371 + "VPN extended community\n")
16373 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_always_type_metric_routemap_cmd_vtysh,
16374 + "default-information originate always metric-type (1|2) metric <0-16777214> route-map WORD",
16375 + "Control distribution of default information\n"
16376 + "Distribute a default route\n"
16377 + "Always advertise default route\n"
16378 + "OSPF metric type for default routes\n"
16379 + "Set OSPF External Type 1 metrics\n"
16380 + "Set OSPF External Type 2 metrics\n"
16381 + "OSPF default metric\n"
16382 + "OSPF metric\n"
16383 + "Route map reference\n"
16384 + "Pointer to route-map entries\n")
16386 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, ip_prefix_list_seq_le_ge_cmd_vtysh,
16387 + "ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M le <0-32> ge <0-32>",
16388 + "IP information\n"
16389 + "Build a prefix list\n"
16390 + "Name of a prefix list\n"
16391 + "sequence number of an entry\n"
16392 + "Sequence number\n"
16393 + "Specify packets to reject\n"
16394 + "Specify packets to forward\n"
16395 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
16396 + "Maximum prefix length to be matched\n"
16397 + "Maximum prefix length\n"
16398 + "Minimum prefix length to be matched\n"
16399 + "Minimum prefix length\n")
16401 +DEFSH (VTYSH_BGPD, clear_bgp_peer_soft_cmd_vtysh,
16402 + "clear bgp (A.B.C.D|X:X::X:X) soft",
16403 + "Reset functions\n"
16404 + "BGP information\n"
16405 + "BGP neighbor address to clear\n"
16406 + "BGP IPv6 neighbor to clear\n"
16407 + "Soft reconfig\n")
16409 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_prefix_list_cmd_vtysh,
16410 + "show ipv6 mbgp prefix-list WORD",
16411 + "Show running system information\n"
16412 + "IPv6 information\n"
16413 + "MBGP information\n"
16414 + "Display routes matching the prefix-list\n"
16415 + "IPv6 prefix-list name\n")
16417 +DEFSH (VTYSH_OSPFD, debug_ospf_lsa_sub_cmd_vtysh,
16418 + "debug ospf lsa (generate|flooding|install|refresh)",
16419 + "Debugging functions (see also 'undebug')\n"
16420 + "OSPF information\n"
16421 + "OSPF Link State Advertisement\n"
16422 + "LSA Generation\n"
16423 + "LSA Flooding\n"
16424 + "LSA Install/Delete\n"
16425 + "LSA Refresh\n")
16427 +DEFSH (VTYSH_BGPD, show_bgp_view_ipv6_neighbor_damp_cmd_vtysh,
16428 + "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) dampened-routes",
16429 + "Show running system information\n"
16430 + "BGP information\n"
16431 + "BGP view\n"
16432 + "BGP view name\n"
16433 + "Address family\n"
16434 + "Detailed information on TCP and BGP neighbor connections\n"
16435 + "Neighbor to display information about\n"
16436 + "Neighbor to display information about\n"
16437 + "Display the dampened routes received from neighbor\n")
16439 +DEFSH (VTYSH_RIPD, debug_rip_packet_detail_cmd_vtysh,
16440 + "debug rip packet (recv|send) detail",
16441 + "Debugging functions (see also 'undebug')\n"
16442 + "RIP information\n"
16443 + "RIP packet\n"
16444 + "RIP receive packet\n"
16445 + "RIP send packet\n"
16446 + "Detailed information display\n")
16448 +DEFSH (VTYSH_RIPD, no_key_cmd_vtysh,
16449 + "no key <0-2147483647>",
16450 + "Negate a command or set its defaults\n"
16451 + "Delete a key\n"
16452 + "Key identifier number\n")
16454 +DEFSH (VTYSH_BGPD, aggregate_address_mask_summary_only_cmd_vtysh,
16455 + "aggregate-address A.B.C.D A.B.C.D summary-only",
16456 + "Configure BGP aggregate entries\n"
16457 + "Aggregate address\n"
16458 + "Aggregate mask\n"
16459 + "Filter more specific routes from updates\n")
16461 +DEFSH (VTYSH_BGPD, no_set_atomic_aggregate_cmd_vtysh,
16462 + "no set atomic-aggregate",
16463 + "Negate a command or set its defaults\n"
16464 + "Set values in destination routing protocol\n"
16465 + "BGP atomic aggregate attribute\n" )
16467 +DEFSH (VTYSH_BGPD, clear_bgp_as_soft_cmd_vtysh,
16468 + "clear bgp <1-65535> soft",
16469 + "Reset functions\n"
16470 + "BGP information\n"
16471 + "Clear peers with the AS number\n"
16472 + "Soft reconfig\n")
16474 +DEFSH (VTYSH_BGPD, no_neighbor_unsuppress_map_cmd_vtysh,
16475 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "unsuppress-map WORD",
16476 + "Negate a command or set its defaults\n"
16477 + "Specify neighbor router\n"
16478 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
16479 + "Route-map to selectively unsuppress suppressed routes\n"
16480 + "Name of route map\n")
16482 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_all_prefix_cmd_vtysh,
16483 + "show ip bgp vpnv4 all A.B.C.D/M",
16484 + "Show running system information\n"
16485 + "IP information\n"
16486 + "BGP information\n"
16487 + "Display VPNv4 NLRI specific information\n"
16488 + "Display information about all VPNv4 NLRIs\n"
16489 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
16491 +DEFSH (VTYSH_BGPD, show_bgp_cmd_vtysh,
16492 + "show bgp",
16493 + "Show running system information\n"
16494 + "BGP information\n")
16496 +DEFSH (VTYSH_ZEBRA, show_ip_route_cmd_vtysh,
16497 + "show ip route",
16498 + "Show running system information\n"
16499 + "IP information\n"
16500 + "IP routing table\n")
16502 +DEFSH (VTYSH_OSPFD, no_ip_ospf_message_digest_key_cmd_vtysh,
16503 + "no ip ospf message-digest-key <1-255>",
16504 + "Negate a command or set its defaults\n"
16505 + "IP Information\n"
16506 + "OSPF interface commands\n"
16507 + "Message digest authentication password (key)\n"
16508 + "Key ID\n")
16510 +DEFSH (VTYSH_BGPD, neighbor_maximum_prefix_cmd_vtysh,
16511 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "maximum-prefix <1-4294967295>",
16512 + "Specify neighbor router\n"
16513 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
16514 + "Maximum number of prefix accept from this peer\n"
16515 + "maximum no. of prefix limit\n")
16517 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_prefix_cmd_vtysh,
16518 + "show ipv6 mbgp X:X::X:X/M",
16519 + "Show running system information\n"
16520 + "IP information\n"
16521 + "MBGP information\n"
16522 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n")
16524 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_seq_ge_cmd_vtysh,
16525 + "no ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M ge <0-128>",
16526 + "Negate a command or set its defaults\n"
16527 + "IPv6 information\n"
16528 + "Build a prefix list\n"
16529 + "Name of a prefix list\n"
16530 + "sequence number of an entry\n"
16531 + "Sequence number\n"
16532 + "Specify packets to reject\n"
16533 + "Specify packets to forward\n"
16534 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
16535 + "Minimum prefix length to be matched\n"
16536 + "Minimum prefix length\n")
16538 +DEFSH (VTYSH_BGPD, no_neighbor_timers_connect_val_cmd_vtysh,
16539 + "no neighbor (A.B.C.D|X:X::X:X) " "timers connect <0-65535>",
16540 + "Negate a command or set its defaults\n"
16541 + "Specify neighbor router\n"
16542 + "Neighbor address\nIPv6 address\n"
16543 + "BGP per neighbor timers\n"
16544 + "BGP connect timer\n"
16545 + "Connect timer\n")
16547 +DEFSH (VTYSH_BGPD, no_bgp_network_mask_backdoor_cmd_vtysh,
16548 + "no network A.B.C.D mask A.B.C.D backdoor",
16549 + "Negate a command or set its defaults\n"
16550 + "Specify a network to announce via BGP\n"
16551 + "Network number\n"
16552 + "Network mask\n"
16553 + "Network mask\n"
16554 + "Specify a BGP backdoor route\n")
16556 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_prefix_list_ge_le_cmd_vtysh,
16557 + "ipv6 prefix-list WORD (deny|permit) X:X::X:X/M ge <0-128> le <0-128>",
16558 + "IPv6 information\n"
16559 + "Build a prefix list\n"
16560 + "Name of a prefix list\n"
16561 + "Specify packets to reject\n"
16562 + "Specify packets to forward\n"
16563 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
16564 + "Minimum prefix length to be matched\n"
16565 + "Minimum prefix length\n"
16566 + "Maximum prefix length to be matched\n"
16567 + "Maximum prefix length\n")
16569 +DEFSH (VTYSH_OSPFD, ip_ospf_authentication_cmd_vtysh,
16570 + "ip ospf authentication",
16571 + "IP Information\n"
16572 + "OSPF interface commands\n"
16573 + "Enable authentication on this interface\n")
16575 +DEFSH (VTYSH_BGPD, clear_ip_bgp_instance_all_ipv4_soft_in_cmd_vtysh,
16576 + "clear ip bgp view WORD * ipv4 (unicast|multicast) soft in",
16577 + "Reset functions\n"
16578 + "IP information\n"
16579 + "BGP information\n"
16580 + "BGP view\n"
16581 + "view name\n"
16582 + "Clear all peers\n"
16583 + "Address family\n"
16584 + "Address Family modifier\n"
16585 + "Address Family modifier\n"
16586 + "Soft reconfig\n"
16587 + "Soft reconfig inbound update\n")
16589 +DEFSH (VTYSH_RIPD|VTYSH_BGPD, no_set_ip_nexthop_cmd_vtysh,
16590 + "no set ip next-hop",
16591 + "Negate a command or set its defaults\n"
16592 + "Set values in destination routing protocol\n"
16593 + "Next hop address\n")
16595 +DEFSH (VTYSH_BGPD, match_ipv6_next_hop_cmd_vtysh,
16596 + "match ipv6 next-hop X:X::X:X",
16597 + "Match values from routing table\n"
16598 + "IPv6 information\n"
16599 + "Match IPv6 next-hop address of route\n"
16600 + "IPv6 address of next hop\n")
16602 +DEFSH (VTYSH_BGPD, bgp_client_to_client_reflection_cmd_vtysh,
16603 + "bgp client-to-client reflection",
16604 + "BGP specific commands\n"
16605 + "Configure client to client route reflection\n"
16606 + "reflection of routes allowed\n")
16608 +DEFSH (VTYSH_RIPD, send_lifetime_duration_day_month_cmd_vtysh,
16609 + "send-lifetime HH:MM:SS <1-31> MONTH <1993-2035> duration <1-2147483646>",
16610 + "Set send lifetime of the key\n"
16611 + "Time to start\n"
16612 + "Day of th month to start\n"
16613 + "Month of the year to start\n"
16614 + "Year to start\n"
16615 + "Duration of the key\n"
16616 + "Duration seconds\n")
16618 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_prefix_list_cmd_vtysh,
16619 + "ipv6 prefix-list WORD (deny|permit) (X:X::X:X/M|any)",
16620 + "IPv6 information\n"
16621 + "Build a prefix list\n"
16622 + "Name of a prefix list\n"
16623 + "Specify packets to reject\n"
16624 + "Specify packets to forward\n"
16625 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
16626 + "Any prefix match. Same as \"::0/0 le 128\"\n")
16628 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_all_route_cmd_vtysh,
16629 + "show ip bgp vpnv4 all A.B.C.D",
16630 + "Show running system information\n"
16631 + "IP information\n"
16632 + "BGP information\n"
16633 + "Display VPNv4 NLRI specific information\n"
16634 + "Display information about all VPNv4 NLRIs\n"
16635 + "Network in the BGP routing table to display\n")
16637 +DEFSH (VTYSH_BGPD, set_community_cmd_vtysh,
16638 + "set community .AA:NN",
16639 + "Set values in destination routing protocol\n"
16640 + "BGP community attribute\n"
16641 + "Community number in aa:nn format or local-AS|no-advertise|no-export|internet or additive\n")
16643 +DEFSH (VTYSH_BGPD, no_match_aspath_cmd_vtysh,
16644 + "no match as-path",
16645 + "Negate a command or set its defaults\n"
16646 + "Match values from routing table\n"
16647 + "Match BGP AS path list\n")
16649 +DEFSH (VTYSH_BGPD, no_vpnv4_network_cmd_vtysh,
16650 + "no network A.B.C.D/M rd ASN:nn_or_IP-address:nn tag WORD",
16651 + "Negate a command or set its defaults\n"
16652 + "Specify a network to announce via BGP\n"
16653 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
16654 + "Specify Route Distinguisher\n"
16655 + "VPN Route Distinguisher\n"
16656 + "BGP tag\n"
16657 + "tag value\n")
16659 +DEFSH (VTYSH_BGPD, show_ip_bgp_flap_address_cmd_vtysh,
16660 + "show ip bgp flap-statistics A.B.C.D",
16661 + "Show running system information\n"
16662 + "IP information\n"
16663 + "BGP information\n"
16664 + "Display flap statistics of routes\n"
16665 + "Network in the BGP routing table to display\n")
16667 +DEFSH (VTYSH_ZEBRA, no_mpls_labelspace_cmd_vtysh,
16668 + "no mpls labelspace",
16669 + "Negate a command or set its defaults\n"
16670 + "MPLS interface configuration\n"
16671 + "labelspace\n") {
16672 + struct interface *ifp;
16673 + ifp = vty->index;
16677 + return 0;
16680 +int
16681 +if_config_write (struct vty *vty)
16683 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_all_neighbor_advertised_routes_cmd_vtysh,
16684 + "show ip bgp vpnv4 all neighbors A.B.C.D advertised-routes",
16685 + "Show running system information\n"
16686 + "IP information\n"
16687 + "BGP information\n"
16688 + "Display VPNv4 NLRI specific information\n"
16689 + "Display information about all VPNv4 NLRIs\n"
16690 + "Detailed information on TCP and BGP neighbor connections\n"
16691 + "Neighbor to display information about\n"
16692 + "Display the routes advertised to a BGP neighbor\n")
16694 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_neighbor_damp_cmd_vtysh,
16695 + "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) dampened-routes",
16696 + "Show running system information\n"
16697 + "BGP information\n"
16698 + "Address family\n"
16699 + "Detailed information on TCP and BGP neighbor connections\n"
16700 + "Neighbor to display information about\n"
16701 + "Neighbor to display information about\n"
16702 + "Display the dampened routes received from neighbor\n")
16704 +DEFSH (VTYSH_BGPD, bgp_damp_set_cmd_vtysh,
16705 + "bgp dampening <1-45> <1-20000> <1-20000> <1-255>",
16706 + "BGP Specific commands\n"
16707 + "Enable route-flap dampening\n"
16708 + "Half-life time for the penalty\n"
16709 + "Value to start reusing a route\n"
16710 + "Value to start suppressing a route\n"
16711 + "Maximum duration to suppress a stable route\n")
16713 +DEFSH (VTYSH_BGPD, no_match_community_exact_cmd_vtysh,
16714 + "no match community (<1-99>|<100-199>|WORD) exact-match",
16715 + "Negate a command or set its defaults\n"
16716 + "Match values from routing table\n"
16717 + "Match BGP community list\n"
16718 + "Community-list number (standard)\n"
16719 + "Community-list number (expanded)\n"
16720 + "Community-list name\n"
16721 + "Do exact matching of communities\n")
16723 +DEFSH (VTYSH_BGPD, undebug_bgp_all_cmd_vtysh,
16724 + "undebug all bgp",
16725 + "Disable debugging functions (see also 'debug')\n"
16726 + "Enable all debugging\n"
16727 + "BGP information\n")
16729 +DEFSH (VTYSH_OSPFD, no_debug_ospf_ism_cmd_vtysh,
16730 + "no debug ospf ism",
16731 + "Negate a command or set its defaults\n"
16732 + "Debugging functions (see also 'undebug')\n"
16733 + "OSPF information\n"
16734 + "OSPF Interface State Machine")
16736 +DEFSH (VTYSH_BGPD, show_bgp_view_neighbor_received_prefix_filter_cmd_vtysh,
16737 + "show bgp view WORD neighbors (A.B.C.D|X:X::X:X) received prefix-filter",
16738 + "Show running system information\n"
16739 + "BGP information\n"
16740 + "BGP view\n"
16741 + "View name\n"
16742 + "Detailed information on TCP and BGP neighbor connections\n"
16743 + "Neighbor to display information about\n"
16744 + "Neighbor to display information about\n"
16745 + "Display information received from a BGP neighbor\n"
16746 + "Display the prefixlist filter\n")
16748 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_match_ip_next_hop_prefix_list_val_cmd_vtysh,
16749 + "no match ip next-hop prefix-list WORD",
16750 + "Negate a command or set its defaults\n"
16751 + "Match values from routing table\n"
16752 + "IP information\n"
16753 + "Match next-hop address of route\n"
16754 + "Match entries of prefix-lists\n"
16755 + "IP prefix-list name\n")
16757 +DEFSH (VTYSH_OSPFD, no_ip_ospf_retransmit_interval_cmd_vtysh,
16758 + "no ip ospf retransmit-interval",
16759 + "Negate a command or set its defaults\n"
16760 + "IP Information\n"
16761 + "OSPF interface commands\n"
16762 + "Time between retransmitting lost link state advertisements\n")
16764 +DEFSH (VTYSH_BGPD, show_ip_bgp_flap_filter_list_cmd_vtysh,
16765 + "show ip bgp flap-statistics filter-list WORD",
16766 + "Show running system information\n"
16767 + "IP information\n"
16768 + "BGP information\n"
16769 + "Display flap statistics of routes\n"
16770 + "Display routes conforming to the filter-list\n"
16771 + "Regular expression access list name\n")
16773 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_standard_any_cmd_vtysh,
16774 + "no access-list (<1-99>|<1300-1999>) (deny|permit) any",
16775 + "Negate a command or set its defaults\n"
16776 + "Add an access list entry\n"
16777 + "IP standard access list\n"
16778 + "IP standard access list (expanded range)\n"
16779 + "Specify packets to reject\n"
16780 + "Specify packets to forward\n"
16781 + "Any source host\n")
16783 +DEFSH (VTYSH_RIPD, debug_rip_packet_cmd_vtysh,
16784 + "debug rip packet",
16785 + "Debugging functions (see also 'undebug')\n"
16786 + "RIP information\n"
16787 + "RIP packet\n")
16789 +DEFSH (VTYSH_ZEBRA, ip_route_mask_flags2_cmd_vtysh,
16790 + "ip route A.B.C.D A.B.C.D (reject|blackhole)",
16791 + "IP information\n"
16792 + "Establish static routes\n"
16793 + "IP destination prefix\n"
16794 + "IP destination prefix mask\n"
16795 + "Emit an ICMP unreachable when matched\n"
16796 + "Silently discard pkts when matched\n")
16798 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_paths_cmd_vtysh,
16799 + "show ip bgp ipv4 (unicast|multicast) paths",
16800 + "Show running system information\n"
16801 + "IP information\n"
16802 + "BGP information\n"
16803 + "Address family\n"
16804 + "Address Family modifier\n"
16805 + "Address Family modifier\n"
16806 + "Path information\n")
16808 +DEFSH (VTYSH_BGPD, undebug_bgp_events_cmd_vtysh,
16809 + "undebug bgp events",
16810 + "Disable debugging functions (see also 'debug')\n"
16811 + "BGP information\n"
16812 + "BGP events\n")
16814 +DEFSH (VTYSH_BGPD, no_ip_as_path_all_cmd_vtysh,
16815 + "no ip as-path access-list WORD",
16816 + "Negate a command or set its defaults\n"
16817 + "IP information\n"
16818 + "BGP autonomous system path filter\n"
16819 + "Specify an access list name\n"
16820 + "Regular expression access list name\n")
16822 +DEFSH (VTYSH_OSPFD, no_debug_ospf_packet_all_cmd_vtysh,
16823 + "no debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all)",
16824 + "Negate a command or set its defaults\n"
16825 + "Debugging functions (see also 'undebug')\n"
16826 + "OSPF information\n"
16827 + "OSPF packets\n"
16828 + "OSPF Hello\n"
16829 + "OSPF Database Description\n"
16830 + "OSPF Link State Request\n"
16831 + "OSPF Link State Update\n"
16832 + "OSPF Link State Acknowledgment\n"
16833 + "OSPF all packets\n")
16835 +DEFSH (VTYSH_BGPD, ip_extcommunity_list_name_expanded_cmd_vtysh,
16836 + "ip extcommunity-list expanded WORD (deny|permit) .LINE",
16837 + "IP information\n"
16838 + "Add a extended community list entry\n"
16839 + "Specify expanded extcommunity-list\n"
16840 + "Extended Community list name\n"
16841 + "Specify community to reject\n"
16842 + "Specify community to accept\n"
16843 + "An ordered list as a regular-expression\n")
16845 +DEFSH (VTYSH_BGPD, no_set_community_cmd_vtysh,
16846 + "no set community",
16847 + "Negate a command or set its defaults\n"
16848 + "Set values in destination routing protocol\n"
16849 + "BGP community attribute\n")
16851 +DEFSH (VTYSH_RIPD, no_rip_redistribute_rip_cmd_vtysh,
16852 + "no redistribute rip",
16853 + "Negate a command or set its defaults\n"
16854 + "Redistribute information from another routing protocol\n"
16855 + "Routing Information Protocol (RIP)\n")
16857 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, clear_ip_prefix_list_name_cmd_vtysh,
16858 + "clear ip prefix-list WORD",
16859 + "Reset functions\n"
16860 + "IP information\n"
16861 + "Build a prefix list\n"
16862 + "Name of a prefix list\n")
16864 +DEFSH (VTYSH_RIPD, rip_redistribute_type_metric_cmd_vtysh,
16865 + "redistribute (kernel|connected|static|ospf|bgp) metric <0-16>",
16866 + "Redistribute information from another routing protocol\n"
16867 + "Kernel routes\n"
16868 + "Connected\n"
16869 + "Static routes\n"
16870 + "Open Shortest Path First (OSPF)\n"
16871 + "Border Gateway Protocol (BGP)\n"
16872 + "Metric\n"
16873 + "Metric value\n")
16875 +DEFSH (VTYSH_RIPD, ip_rip_split_horizon_poisoned_reverse_cmd_vtysh,
16876 + "ip rip split-horizon poisoned-reverse",
16877 + "IP information\n"
16878 + "Routing Information Protocol\n"
16879 + "Perform split horizon\n"
16880 + "With poisoned-reverse\n")
16882 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_neighbor_advertised_route_cmd_vtysh,
16883 + "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) advertised-routes",
16884 + "Show running system information\n"
16885 + "BGP information\n"
16886 + "Address family\n"
16887 + "Detailed information on TCP and BGP neighbor connections\n"
16888 + "Neighbor to display information about\n"
16889 + "Neighbor to display information about\n"
16890 + "Display the routes advertised to a BGP neighbor\n")
16892 +DEFSH (VTYSH_RIPD, accept_lifetime_infinite_day_month_cmd_vtysh,
16893 + "accept-lifetime HH:MM:SS <1-31> MONTH <1993-2035> infinite",
16894 + "Set accept lifetime of the key\n"
16895 + "Time to start\n"
16896 + "Day of th month to start\n"
16897 + "Month of the year to start\n"
16898 + "Year to start\n"
16899 + "Never expires")
16901 +DEFSH (VTYSH_BGPD, ipv6_mbgp_neighbor_received_routes_cmd_vtysh,
16902 + "show ipv6 mbgp neighbors (A.B.C.D|X:X::X:X) received-routes",
16903 + "Show running system information\n"
16904 + "IPv6 information\n"
16905 + "MBGP information\n"
16906 + "Detailed information on TCP and BGP neighbor connections\n"
16907 + "Neighbor to display information about\n"
16908 + "Neighbor to display information about\n"
16909 + "Display the received routes from neighbor\n")
16911 +DEFSH (VTYSH_RIPD, no_debug_rip_zebra_cmd_vtysh,
16912 + "no debug rip zebra",
16913 + "Negate a command or set its defaults\n"
16914 + "Debugging functions (see also 'undebug')\n"
16915 + "RIP information\n"
16916 + "RIP and ZEBRA communication\n")
16918 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_le_ge_cmd_vtysh,
16919 + "no ip prefix-list WORD (deny|permit) A.B.C.D/M le <0-32> ge <0-32>",
16920 + "Negate a command or set its defaults\n"
16921 + "IP information\n"
16922 + "Build a prefix list\n"
16923 + "Name of a prefix list\n"
16924 + "Specify packets to reject\n"
16925 + "Specify packets to forward\n"
16926 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
16927 + "Maximum prefix length to be matched\n"
16928 + "Maximum prefix length\n"
16929 + "Minimum prefix length to be matched\n"
16930 + "Minimum prefix length\n")
16932 +DEFSH (VTYSH_BGPD, no_neighbor_weight_cmd_vtysh,
16933 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "weight",
16934 + "Negate a command or set its defaults\n"
16935 + "Specify neighbor router\n"
16936 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
16937 + "Set default weight for routes from this neighbor\n")
16939 +DEFSH (VTYSH_OSPFD, ip_ospf_authentication_key_addr_cmd_vtysh,
16940 + "ip ospf authentication-key AUTH_KEY A.B.C.D",
16941 + "IP Information\n"
16942 + "OSPF interface commands\n"
16943 + "Authentication password (key)\n"
16944 + "The OSPF password (key)\n"
16945 + "Address of interface")
16947 +DEFSH (VTYSH_BGPD, ipv6_mbgp_neighbor_advertised_route_cmd_vtysh,
16948 + "show ipv6 mbgp neighbors (A.B.C.D|X:X::X:X) advertised-routes",
16949 + "Show running system information\n"
16950 + "IPv6 information\n"
16951 + "MBGP information\n"
16952 + "Detailed information on TCP and BGP neighbor connections\n"
16953 + "Neighbor to display information about\n"
16954 + "Neighbor to display information about\n"
16955 + "Display the routes advertised to a BGP neighbor\n")
16957 +DEFSH (VTYSH_BGPD, no_neighbor_set_peer_group_cmd_vtysh,
16958 + "no neighbor (A.B.C.D|X:X::X:X) " "peer-group WORD",
16959 + "Negate a command or set its defaults\n"
16960 + "Specify neighbor router\n"
16961 + "Neighbor address\nIPv6 address\n"
16962 + "Member of the peer-group\n"
16963 + "peer-group name\n")
16965 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_seq_ge_cmd_vtysh,
16966 + "no ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M ge <0-32>",
16967 + "Negate a command or set its defaults\n"
16968 + "IP information\n"
16969 + "Build a prefix list\n"
16970 + "Name of a prefix list\n"
16971 + "sequence number of an entry\n"
16972 + "Sequence number\n"
16973 + "Specify packets to reject\n"
16974 + "Specify packets to forward\n"
16975 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
16976 + "Minimum prefix length to be matched\n"
16977 + "Minimum prefix length\n")
16979 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_community2_exact_cmd_vtysh,
16980 + "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
16981 + "Show running system information\n"
16982 + "IPv6 information\n"
16983 + "MBGP information\n"
16984 + "Display routes matching the communities\n"
16985 + "community number\n"
16986 + "Do not send outside local AS (well-known community)\n"
16987 + "Do not advertise to any peer (well-known community)\n"
16988 + "Do not export to next AS (well-known community)\n"
16989 + "community number\n"
16990 + "Do not send outside local AS (well-known community)\n"
16991 + "Do not advertise to any peer (well-known community)\n"
16992 + "Do not export to next AS (well-known community)\n"
16993 + "Exact match of the communities")
16995 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_any_cmd_vtysh,
16996 + "no access-list WORD (deny|permit) any",
16997 + "Negate a command or set its defaults\n"
16998 + "Add an access list entry\n"
16999 + "IP zebra access-list name\n"
17000 + "Specify packets to reject\n"
17001 + "Specify packets to forward\n"
17002 + "Prefix to match. e.g. 10.0.0.0/8\n")
17004 +DEFSH (VTYSH_OSPFD, ospf_area_authentication_message_digest_cmd_vtysh,
17005 + "area (A.B.C.D|<0-4294967295>) authentication message-digest",
17006 + "OSPF area parameters\n"
17007 + "Enable authentication\n"
17008 + "Use message-digest authentication\n")
17010 +DEFSH (VTYSH_BGPD, bgp_log_neighbor_changes_cmd_vtysh,
17011 + "bgp log-neighbor-changes",
17012 + "BGP specific commands\n"
17013 + "Log neighbor up/down and reset reason\n")
17015 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_area_topology_router_cmd_vtysh,
17016 + "show ipv6 ospf6 area A.B.C.D topology (A.B.C.D|<0-4294967295>|detail)",
17017 + "Show running system information\n"
17018 + "IPv6 Information\n"
17019 + "Open Shortest Path First (OSPF) for IPv6\n"
17020 + "Area information\n"
17021 + "Area ID (as an IPv4 notation)\n"
17022 + "Shortest Path First tree information\n"
17023 + "Displays SPF topology table\n"
17024 + "Specify Router-ID\n"
17025 + "Specify Router-ID\n"
17028 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_type_metric_cmd_vtysh,
17029 + "default-information originate metric-type (1|2) metric <0-16777214>",
17030 + "Control distribution of default information\n"
17031 + "Distribute a default route\n"
17032 + "OSPF metric type for default routes\n"
17033 + "Set OSPF External Type 1 metrics\n"
17034 + "Set OSPF External Type 2 metrics\n"
17035 + "OSPF default metric\n"
17036 + "OSPF metric\n")
17038 +DEFSH (VTYSH_BGPD, clear_ip_bgp_external_in_prefix_filter_cmd_vtysh,
17039 + "clear ip bgp external in prefix-filter",
17040 + "Reset functions\n"
17041 + "IP information\n"
17042 + "BGP information\n"
17043 + "Clear all external peers\n"
17044 + "Soft reconfig inbound update\n"
17045 + "Push out prefix-list ORF and do inbound soft reconfig\n")
17047 +DEFSH (VTYSH_RIPNGD, debug_ripng_zebra_cmd_vtysh,
17048 + "debug ripng zebra",
17049 + "Debugging functions (see also 'undebug')\n"
17050 + "RIPng configuration\n"
17051 + "Debug option set for ripng and zebra communication\n")
17053 +DEFSH (VTYSH_BGPD, no_auto_summary_cmd_vtysh,
17054 + "no auto-summary",
17055 + "Negate a command or set its defaults\n"
17056 + "Enable automatic network number summarization\n")
17058 +DEFSH (VTYSH_ZEBRA, ip_address_cmd_vtysh,
17059 + "ip address A.B.C.D/M",
17060 + "Interface Internet Protocol config commands\n"
17061 + "Set the IP address of an interface\n"
17062 + "IP address (e.g. 10.0.0.1/8)\n")
17064 +DEFSH (VTYSH_BGPD, neighbor_local_as_no_prepend_cmd_vtysh,
17065 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "local-as <1-65535> no-prepend",
17066 + "Specify neighbor router\n"
17067 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
17068 + "Specify a local-as number\n"
17069 + "AS number used as local AS\n"
17070 + "Do not prepend local-as to updates from ebgp peers\n")
17072 +DEFSH (VTYSH_RIPD, no_rip_timers_val_cmd_vtysh,
17073 + "no timers basic <0-65535> <0-65535> <0-65535>",
17074 + "Negate a command or set its defaults\n"
17075 + "Adjust routing timers\n"
17076 + "Basic routing protocol update timers\n"
17077 + "Routing table update timer value in second. Default is 30.\n"
17078 + "Routing information timeout timer. Default is 180.\n"
17079 + "Garbage collection timer. Default is 120.\n")
17081 +DEFSH (VTYSH_RIPNGD, ripng_offset_list_ifname_cmd_vtysh,
17082 + "offset-list WORD (in|out) <0-16> IFNAME",
17083 + "Modify RIPng metric\n"
17084 + "Access-list name\n"
17085 + "For incoming updates\n"
17086 + "For outgoing updates\n"
17087 + "Metric value\n"
17088 + "Interface to match\n")
17090 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_group_ipv4_soft_out_cmd_vtysh,
17091 + "clear ip bgp peer-group WORD ipv4 (unicast|multicast) soft out",
17092 + "Reset functions\n"
17093 + "IP information\n"
17094 + "BGP information\n"
17095 + "Clear all members of peer-group\n"
17096 + "BGP peer-group name\n"
17097 + "Address family\n"
17098 + "Address Family modifier\n"
17099 + "Address Family modifier\n"
17100 + "Soft reconfig\n"
17101 + "Soft reconfig outbound update\n")
17103 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_rd_prefix_cmd_vtysh,
17104 + "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn A.B.C.D/M",
17105 + "Show running system information\n"
17106 + "IP information\n"
17107 + "BGP information\n"
17108 + "Display VPNv4 NLRI specific information\n"
17109 + "Display information for a route distinguisher\n"
17110 + "VPN Route Distinguisher\n"
17111 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
17113 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_prefix_list_ge_cmd_vtysh,
17114 + "ipv6 prefix-list WORD (deny|permit) X:X::X:X/M ge <0-128>",
17115 + "IPv6 information\n"
17116 + "Build a prefix list\n"
17117 + "Name of a prefix list\n"
17118 + "Specify packets to reject\n"
17119 + "Specify packets to forward\n"
17120 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
17121 + "Minimum prefix length to be matched\n"
17122 + "Minimum prefix length\n")
17124 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_neighbor_received_routes_cmd_vtysh,
17125 + "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) received-routes",
17126 + "Show running system information\n"
17127 + "IP information\n"
17128 + "BGP information\n"
17129 + "Address family\n"
17130 + "Address Family modifier\n"
17131 + "Address Family modifier\n"
17132 + "Detailed information on TCP and BGP neighbor connections\n"
17133 + "Neighbor to display information about\n"
17134 + "Neighbor to display information about\n"
17135 + "Display the received routes from neighbor\n")
17137 +DEFSH (VTYSH_OSPFD, show_ip_ospf_database_type_adv_router_cmd_vtysh,
17138 + "show ip ospf database (" "asbr-summary|external|network|router|summary" "" "" ") adv-router A.B.C.D",
17139 + "Show running system information\n"
17140 + "IP information\n"
17141 + "OSPF information\n"
17142 + "Database summary\n"
17143 + "ASBR summary link states\n" "External link states\n" "Network link states\n" "Router link states\n" "Network summary link states\n" "" "" "" ""
17144 + "Advertising Router link states\n"
17145 + "Advertising Router (as an IP address)\n")
17147 +DEFSH (VTYSH_BGPD, no_bgp_timers_cmd_vtysh,
17148 + "no timers bgp",
17149 + "Negate a command or set its defaults\n"
17150 + "Adjust routing timers\n"
17151 + "BGP timers\n")
17153 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_neighbor_routes_cmd_vtysh,
17154 + "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) routes",
17155 + "Show running system information\n"
17156 + "IP information\n"
17157 + "BGP information\n"
17158 + "Address family\n"
17159 + "Address Family modifier\n"
17160 + "Address Family modifier\n"
17161 + "Detailed information on TCP and BGP neighbor connections\n"
17162 + "Neighbor to display information about\n"
17163 + "Neighbor to display information about\n"
17164 + "Display routes learned from neighbor\n")
17166 +DEFSH (VTYSH_OSPFD, ospf_redistribute_source_cmd_vtysh,
17167 + "redistribute (kernel|connected|static|rip|bgp)",
17168 + "Redistribute information from another routing protocol\n"
17169 + "Kernel routes\n"
17170 + "Connected\n"
17171 + "Static routes\n"
17172 + "Routing Information Protocol (RIP)\n"
17173 + "Border Gateway Protocol (BGP)\n")
17175 +DEFSH (VTYSH_RIPD, rip_neighbor_cmd_vtysh,
17176 + "neighbor A.B.C.D",
17177 + "Specify a neighbor router\n"
17178 + "Neighbor address\n")
17180 +DEFSH (VTYSH_OSPFD, ospf_distance_cmd_vtysh,
17181 + "distance <1-255>",
17182 + "Define an administrative distance\n"
17183 + "OSPF Administrative distance\n")
17185 +DEFSH (VTYSH_OSPFD, no_ospf_area_vlink_authtype_cmd_vtysh,
17186 + "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
17187 + "(authentication|)",
17188 + "Negate a command or set its defaults\n"
17189 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
17190 + "Enable authentication on this virtual link\n" "dummy string \n")
17192 +DEFSH (VTYSH_ZEBRA, ip_address_secondary_cmd_vtysh,
17193 + "ip address A.B.C.D/M secondary",
17194 + "Interface Internet Protocol config commands\n"
17195 + "Set the IP address of an interface\n"
17196 + "IP address (e.g. 10.0.0.1/8)\n"
17197 + "Secondary IP address\n")
17199 +DEFSH (VTYSH_BGPD, clear_ip_bgp_instance_all_soft_in_cmd_vtysh,
17200 + "clear ip bgp view WORD * soft in",
17201 + "Reset functions\n"
17202 + "IP information\n"
17203 + "BGP information\n"
17204 + "BGP view\n"
17205 + "view name\n"
17206 + "Clear all peers\n"
17207 + "Soft reconfig\n"
17208 + "Soft reconfig inbound update\n")
17210 +DEFSH (VTYSH_BGPD, no_bgp_log_neighbor_changes_cmd_vtysh,
17211 + "no bgp log-neighbor-changes",
17212 + "Negate a command or set its defaults\n"
17213 + "BGP specific commands\n"
17214 + "Log neighbor up/down and reset reason\n")
17216 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_type_cmd_vtysh,
17217 + "default-information originate metric-type (1|2)",
17218 + "Control distribution of default information\n"
17219 + "Distribute a default route\n"
17220 + "OSPF metric type for default routes\n"
17221 + "Set OSPF External Type 1 metrics\n"
17222 + "Set OSPF External Type 2 metrics\n")
17224 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_access_list_remark_cmd_vtysh,
17225 + "ipv6 access-list WORD remark .LINE",
17226 + "IPv6 information\n"
17227 + "Add an access list entry\n"
17228 + "IPv6 zebra access-list\n"
17229 + "Access list entry comment\n"
17230 + "Comment up to 100 characters\n")
17232 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_as_soft_out_cmd_vtysh,
17233 + "clear bgp ipv6 <1-65535> soft out",
17234 + "Reset functions\n"
17235 + "BGP information\n"
17236 + "Address family\n"
17237 + "Clear peers with the AS number\n"
17238 + "Soft reconfig\n"
17239 + "Soft reconfig outbound update\n")
17241 +DEFSH (VTYSH_BGPD, ip_community_list_cmd_vtysh,
17242 + "ip community-list WORD (deny|permit) .AA:NN",
17243 + "IP information\n"
17244 + "Add a community list entry\n"
17245 + "Community list name\n"
17246 + "Specify community to reject\n"
17247 + "Specify community to accept\n"
17248 + "Community number in aa:nn format or internet|local-AS|no-advertise|no-export\n")
17250 +DEFSH (VTYSH_RIPD, no_ip_rip_authentication_string_cmd_vtysh,
17251 + "no ip rip authentication string",
17252 + "Negate a command or set its defaults\n"
17253 + "IP information\n"
17254 + "Routing Information Protocol\n"
17255 + "Authentication control\n"
17256 + "Authentication string\n")
17258 +DEFSH (VTYSH_BGPD, no_neighbor_description_val_cmd_vtysh,
17259 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "description .LINE",
17260 + "Negate a command or set its defaults\n"
17261 + "Specify neighbor router\n"
17262 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
17263 + "Neighbor specific description\n"
17264 + "Up to 80 characters describing this neighbor\n")
17266 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_community_cmd_vtysh,
17267 + "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export)",
17268 + "Show running system information\n"
17269 + "IPv6 information\n"
17270 + "BGP information\n"
17271 + "Display routes matching the communities\n"
17272 + "community number\n"
17273 + "Do not send outside local AS (well-known community)\n"
17274 + "Do not advertise to any peer (well-known community)\n"
17275 + "Do not export to next AS (well-known community)\n")
17277 +DEFSH (VTYSH_BGPD, no_ip_community_list_standard_cmd_vtysh,
17278 + "no ip community-list <1-99> (deny|permit) .AA:NN",
17279 + "Negate a command or set its defaults\n"
17280 + "IP information\n"
17281 + "Add a community list entry\n"
17282 + "Community list number (standard)\n"
17283 + "Specify community to reject\n"
17284 + "Specify community to accept\n"
17285 + "Community number in aa:nn format or internet|local-AS|no-advertise|no-export\n")
17287 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_community3_cmd_vtysh,
17288 + "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
17289 + "Show running system information\n"
17290 + "IP information\n"
17291 + "BGP information\n"
17292 + "Address family\n"
17293 + "Address Family modifier\n"
17294 + "Address Family modifier\n"
17295 + "Display routes matching the communities\n"
17296 + "community number\n"
17297 + "Do not send outside local AS (well-known community)\n"
17298 + "Do not advertise to any peer (well-known community)\n"
17299 + "Do not export to next AS (well-known community)\n"
17300 + "community number\n"
17301 + "Do not send outside local AS (well-known community)\n"
17302 + "Do not advertise to any peer (well-known community)\n"
17303 + "Do not export to next AS (well-known community)\n"
17304 + "community number\n"
17305 + "Do not send outside local AS (well-known community)\n"
17306 + "Do not advertise to any peer (well-known community)\n"
17307 + "Do not export to next AS (well-known community)\n")
17309 +DEFSH (VTYSH_BGPD, no_bgp_distance_source_access_list_cmd_vtysh,
17310 + "no distance <1-255> A.B.C.D/M WORD",
17311 + "Negate a command or set its defaults\n"
17312 + "Define an administrative distance\n"
17313 + "Administrative distance\n"
17314 + "IP source prefix\n"
17315 + "Access list name\n")
17317 +DEFSH (VTYSH_BGPD, show_ip_bgp_neighbor_flap_cmd_vtysh,
17318 + "show ip bgp neighbors (A.B.C.D|X:X::X:X) flap-statistics",
17319 + "Show running system information\n"
17320 + "IP information\n"
17321 + "BGP information\n"
17322 + "Detailed information on TCP and BGP neighbor connections\n"
17323 + "Neighbor to display information about\n"
17324 + "Neighbor to display information about\n"
17325 + "Display flap statistics of the routes learned from neighbor\n")
17327 +DEFSH (VTYSH_BGPD, no_dump_bgp_updates_cmd_vtysh,
17328 + "no dump bgp updates [PATH] [INTERVAL]",
17329 + "Negate a command or set its defaults\n"
17330 + "Dump packet\n"
17331 + "BGP packet dump\n"
17332 + "Dump BGP updates only\n")
17334 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, show_ipv6_prefix_list_detail_cmd_vtysh,
17335 + "show ipv6 prefix-list detail",
17336 + "Show running system information\n"
17337 + "IPv6 information\n"
17338 + "Build a prefix list\n"
17339 + "Detail of prefix lists\n")
17341 +DEFSH (VTYSH_BGPD, neighbor_attr_unchanged4_cmd_vtysh,
17342 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged med (as-path|next-hop)",
17343 + "Specify neighbor router\n"
17344 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
17345 + "BGP attribute is propagated unchanged to this neighbor\n"
17346 + "Med attribute\n"
17347 + "As-path attribute\n"
17348 + "Nexthop attribute\n")
17350 +DEFSH (VTYSH_BGPD, clear_ip_bgp_external_soft_out_cmd_vtysh,
17351 + "clear ip bgp external soft out",
17352 + "Reset functions\n"
17353 + "IP information\n"
17354 + "BGP information\n"
17355 + "Clear all external peers\n"
17356 + "Soft reconfig\n"
17357 + "Soft reconfig outbound update\n")
17359 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_access_list_cmd_vtysh,
17360 + "no ipv6 access-list WORD (deny|permit) X:X::X:X/M",
17361 + "Negate a command or set its defaults\n"
17362 + "IPv6 information\n"
17363 + "Add an access list entry\n"
17364 + "IPv6 zebra access-list\n"
17365 + "Specify packets to reject\n"
17366 + "Specify packets to forward\n"
17367 + "Prefix to match. e.g. 3ffe:506::/32\n")
17369 +DEFSH (VTYSH_BGPD, no_neighbor_maximum_prefix_cmd_vtysh,
17370 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "maximum-prefix",
17371 + "Negate a command or set its defaults\n"
17372 + "Specify neighbor router\n"
17373 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
17374 + "Maximum number of prefix accept from this peer\n")
17376 +DEFSH (VTYSH_BGPD, clear_bgp_all_cmd_vtysh,
17377 + "clear bgp *",
17378 + "Reset functions\n"
17379 + "BGP information\n"
17380 + "Clear all peers\n")
17382 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, ip_prefix_list_seq_ge_le_cmd_vtysh,
17383 + "ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M ge <0-32> le <0-32>",
17384 + "IP information\n"
17385 + "Build a prefix list\n"
17386 + "Name of a prefix list\n"
17387 + "sequence number of an entry\n"
17388 + "Sequence number\n"
17389 + "Specify packets to reject\n"
17390 + "Specify packets to forward\n"
17391 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
17392 + "Minimum prefix length to be matched\n"
17393 + "Minimum prefix length\n"
17394 + "Maximum prefix length to be matched\n"
17395 + "Maximum prefix length\n")
17397 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_community2_cmd_vtysh,
17398 + "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
17399 + "Show running system information\n"
17400 + "IP information\n"
17401 + "BGP information\n"
17402 + "Address family\n"
17403 + "Address Family modifier\n"
17404 + "Address Family modifier\n"
17405 + "Display routes matching the communities\n"
17406 + "community number\n"
17407 + "Do not send outside local AS (well-known community)\n"
17408 + "Do not advertise to any peer (well-known community)\n"
17409 + "Do not export to next AS (well-known community)\n"
17410 + "community number\n"
17411 + "Do not send outside local AS (well-known community)\n"
17412 + "Do not advertise to any peer (well-known community)\n"
17413 + "Do not export to next AS (well-known community)\n")
17415 +DEFSH (VTYSH_BGPD, show_bgp_neighbor_flap_cmd_vtysh,
17416 + "show bgp neighbors (A.B.C.D|X:X::X:X) flap-statistics",
17417 + "Show running system information\n"
17418 + "BGP information\n"
17419 + "Detailed information on TCP and BGP neighbor connections\n"
17420 + "Neighbor to display information about\n"
17421 + "Neighbor to display information about\n"
17422 + "Display flap statistics of the routes learned from neighbor\n")
17424 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_route_cmd_vtysh,
17425 + "show ipv6 ospf6 route",
17426 + "Show running system information\n"
17427 + "IPv6 Information\n"
17428 + "Open Shortest Path First (OSPF) for IPv6\n"
17429 + "Routing table\n"
17432 +DEFSH (VTYSH_BGPD, neighbor_capability_route_refresh_cmd_vtysh,
17433 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "capability route-refresh",
17434 + "Specify neighbor router\n"
17435 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
17436 + "Advertise capability to the peer\n"
17437 + "Advertise route-refresh capability to this neighbor\n")
17439 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_cmd_vtysh,
17440 + "show ipv6 mbgp",
17441 + "Show running system information\n"
17442 + "IP information\n"
17443 + "MBGP information\n")
17445 +DEFSH (VTYSH_OSPFD, ospf_area_vlink_param2_cmd_vtysh,
17446 + "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
17447 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535> "
17448 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535>",
17449 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
17450 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n"
17451 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n")
17453 +DEFSH (VTYSH_BGPD, no_aggregate_address_as_set_cmd_vtysh,
17454 + "no aggregate-address A.B.C.D/M as-set",
17455 + "Negate a command or set its defaults\n"
17456 + "Configure BGP aggregate entries\n"
17457 + "Aggregate prefix\n"
17458 + "Generate AS set path information\n")
17460 +DEFSH (VTYSH_BGPD, clear_bgp_peer_group_out_cmd_vtysh,
17461 + "clear bgp peer-group WORD out",
17462 + "Reset functions\n"
17463 + "BGP information\n"
17464 + "Clear all members of peer-group\n"
17465 + "BGP peer-group name\n"
17466 + "Soft reconfig outbound update\n")
17468 +DEFSH (VTYSH_BGPD, no_ip_extcommunity_list_standard_cmd_vtysh,
17469 + "no ip extcommunity-list <1-99> (deny|permit) .AA:NN",
17470 + "Negate a command or set its defaults\n"
17471 + "IP information\n"
17472 + "Add a extended community list entry\n"
17473 + "Extended Community list number (standard)\n"
17474 + "Specify community to reject\n"
17475 + "Specify community to accept\n"
17476 + "Extended community attribute in 'rt aa:nn_or_IPaddr:nn' OR 'soo aa:nn_or_IPaddr:nn' format\n")
17478 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_soft_out_cmd_vtysh,
17479 + "clear ip bgp * soft out",
17480 + "Reset functions\n"
17481 + "IP information\n"
17482 + "BGP information\n"
17483 + "Clear all peers\n"
17484 + "Soft reconfig\n"
17485 + "Soft reconfig outbound update\n")
17487 +DEFSH (VTYSH_BGPD, show_ip_bgp_flap_statistics_cmd_vtysh,
17488 + "show ip bgp flap-statistics",
17489 + "Show running system information\n"
17490 + "IP information\n"
17491 + "BGP information\n"
17492 + "Display flap statistics of routes\n")
17494 +DEFSH (VTYSH_ZEBRA, no_ip_address_secondary_cmd_vtysh,
17495 + "no ip address A.B.C.D/M secondary",
17496 + "Negate a command or set its defaults\n"
17497 + "Interface Internet Protocol config commands\n"
17498 + "Set the IP address of an interface\n"
17499 + "IP address (e.g. 10.0.0.1/8)\n"
17500 + "Secondary IP address\n")
17502 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_rd_summary_cmd_vtysh,
17503 + "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn summary",
17504 + "Show running system information\n"
17505 + "IP information\n"
17506 + "BGP information\n"
17507 + "Display VPNv4 NLRI specific information\n"
17508 + "Display information for a route distinguisher\n"
17509 + "VPN Route Distinguisher\n"
17510 + "Summary of BGP neighbor status\n")
17512 +DEFSH (VTYSH_BGPD, no_neighbor_allowas_in_cmd_vtysh,
17513 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "allowas-in",
17514 + "Negate a command or set its defaults\n"
17515 + "Specify neighbor router\n"
17516 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
17517 + "allow local ASN appears in aspath attribute\n")
17519 +DEFSH (VTYSH_BGPD, show_bgp_summary_cmd_vtysh,
17520 + "show bgp summary",
17521 + "Show running system information\n"
17522 + "BGP information\n"
17523 + "Summary of BGP neighbor status\n")
17525 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_database_type_id_adv_router_dump_cmd_vtysh,
17526 + "show ipv6 ospf6 database (router|network|as-external|intra-prefix|inter-prefix|inter-router|link|*|HEX) (A.B.C.D|*) (A.B.C.D|*) (dump|detail|)",
17527 + "Show running system information\n"
17528 + "IPv6 Information\n"
17529 + "Open Shortest Path First (OSPF) for IPv6\n"
17530 + "LSA Database\n"
17531 + "Router-LSA\n"
17532 + "Network-LSA\n"
17533 + "AS-External-LSA\n"
17534 + "Intra-Area-Prefix-LSA\n"
17535 + "Inter-Area-Router-LSA\n"
17536 + "Inter-Area-Prefix-LSA\n"
17537 + "Link-LSA\n"
17538 + "All LS Type\n"
17539 + "Specify LS Type by Hex\n"
17540 + "Link State ID\n"
17541 + "All Link State ID\n"
17542 + "Advertising Router\n"
17543 + "All Advertising Router\n"
17544 + "Dump raw LSA data in Hex\n"
17545 + "show detail of LSAs\n"
17548 +DEFSH (VTYSH_OSPFD, no_ospf_area_stub_cmd_vtysh,
17549 + "no area (A.B.C.D|<0-4294967295>) stub",
17550 + "Negate a command or set its defaults\n"
17551 + "OSPF area parameters\n"
17552 + "OSPF area ID in IP address format\n"
17553 + "OSPF area ID as a decimal value\n"
17554 + "Configure OSPF area as stub\n")
17556 +DEFSH (VTYSH_BGPD, no_neighbor_attr_unchanged7_cmd_vtysh,
17557 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged next-hop med as-path",
17558 + "Negate a command or set its defaults\n"
17559 + "Specify neighbor router\n"
17560 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
17561 + "BGP attribute is propagated unchanged to this neighbor\n"
17562 + "Nexthop attribute\n"
17563 + "Med attribute\n"
17564 + "As-path attribute\n")
17566 +DEFSH (VTYSH_BGPD, show_bgp_route_cmd_vtysh,
17567 + "show bgp X:X::X:X",
17568 + "Show running system information\n"
17569 + "BGP information\n"
17570 + "Network in the BGP routing table to display\n")
17572 +DEFSH (VTYSH_OSPFD, no_ospf_area_range_cmd_vtysh,
17573 + "no area (A.B.C.D|<0-4294967295>) range A.B.C.D/M",
17574 + "Negate a command or set its defaults\n"
17575 + "OSPF area parameters\n"
17576 + "OSPF area ID in IP address format\n"
17577 + "OSPF area ID as a decimal value\n"
17578 + "Summarize routes matching address/mask (border routers only)\n"
17579 + "Area range prefix\n")
17581 +DEFSH (VTYSH_BGPD, clear_bgp_as_out_cmd_vtysh,
17582 + "clear bgp <1-65535> out",
17583 + "Reset functions\n"
17584 + "BGP information\n"
17585 + "Clear peers with the AS number\n"
17586 + "Soft reconfig outbound update\n")
17588 +DEFSH (VTYSH_OSPFD, no_ip_ospf_hello_interval_cmd_vtysh,
17589 + "no ip ospf hello-interval",
17590 + "Negate a command or set its defaults\n"
17591 + "IP Information\n"
17592 + "OSPF interface commands\n"
17593 + "Time between HELLO packets\n")
17595 +DEFSH (VTYSH_RIPD, no_distribute_list_cmd_vtysh,
17596 + "no distribute-list WORD (in|out) WORD",
17597 + "Negate a command or set its defaults\n"
17598 + "Filter networks in routing updates\n"
17599 + "Access-list name\n"
17600 + "Filter incoming routing updates\n"
17601 + "Filter outgoing routing updates\n"
17602 + "Interface name\n")
17604 +DEFSH (VTYSH_OSPFD, no_ip_ospf_network_cmd_vtysh,
17605 + "no ip ospf network",
17606 + "Negate a command or set its defaults\n"
17607 + "IP Information\n"
17608 + "OSPF interface commands\n"
17609 + "Network type\n")
17611 +DEFSH (VTYSH_ZEBRA, no_ipv6_route_ifname_pref_cmd_vtysh,
17612 + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE <1-255>",
17613 + "Negate a command or set its defaults\n"
17614 + "IP information\n"
17615 + "Establish static routes\n"
17616 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
17617 + "IPv6 gateway address\n"
17618 + "IPv6 gateway interface name\n"
17619 + "Distance value for this prefix\n")
17621 +DEFSH (VTYSH_OSPFD, ospf_area_vlink_authtype_md5_cmd_vtysh,
17622 + "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
17623 + "(authentication|) "
17624 + "(message-digest-key|) <1-255> md5 KEY",
17625 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
17626 + "Enable authentication on this virtual link\n" "dummy string \n"
17627 + "Message digest authentication password (key)\n" "dummy string \n" "Key ID\n" "Use MD5 algorithm\n" "The OSPF password (key)")
17629 +DEFSH (VTYSH_RIPD, no_distribute_list_prefix_all_cmd_vtysh,
17630 + "no distribute-list prefix WORD (in|out)",
17631 + "Negate a command or set its defaults\n"
17632 + "Filter networks in routing updates\n"
17633 + "Filter prefixes in routing updates\n"
17634 + "Name of an IP prefix-list\n"
17635 + "Filter incoming routing updates\n"
17636 + "Filter outgoing routing updates\n")
17638 +DEFSH (VTYSH_OSPFD, no_ospf_hello_interval_cmd_vtysh,
17639 + "no ospf hello-interval",
17640 + "Negate a command or set its defaults\n"
17641 + "OSPF interface commands\n"
17642 + "Time between HELLO packets\n")
17644 +DEFSH (VTYSH_BGPD, neighbor_advertise_interval_cmd_vtysh,
17645 + "neighbor (A.B.C.D|X:X::X:X) " "advertisement-interval <0-600>",
17646 + "Specify neighbor router\n"
17647 + "Neighbor address\nIPv6 address\n"
17648 + "Minimum interval between sending BGP routing updates\n"
17649 + "time in seconds\n")
17651 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_community_cmd_vtysh,
17652 + "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export)",
17653 + "Show running system information\n"
17654 + "IPv6 information\n"
17655 + "MBGP information\n"
17656 + "Display routes matching the communities\n"
17657 + "community number\n"
17658 + "Do not send outside local AS (well-known community)\n"
17659 + "Do not advertise to any peer (well-known community)\n"
17660 + "Do not export to next AS (well-known community)\n")
17662 +DEFSH (VTYSH_BGPD, no_debug_bgp_filter_cmd_vtysh,
17663 + "no debug bgp filters",
17664 + "Negate a command or set its defaults\n"
17665 + "Debugging functions (see also 'undebug')\n"
17666 + "BGP information\n"
17667 + "BGP filters\n")
17669 +DEFSH (VTYSH_BGPD, clear_bgp_all_soft_in_cmd_vtysh,
17670 + "clear bgp * soft in",
17671 + "Reset functions\n"
17672 + "BGP information\n"
17673 + "Clear all peers\n"
17674 + "Soft reconfig\n"
17675 + "Soft reconfig inbound update\n")
17677 +DEFSH (VTYSH_OSPF6D, ospf6_area_range_cmd_vtysh,
17678 + "area A.B.C.D range X:X::X:X/M",
17679 + "OSPFv3 area parameters\n"
17680 + "OSPFv3 area ID in IPv4 address format\n"
17681 + "Summarize routes matching address/mask (border routers only)\n"
17682 + "IPv6 address range\n")
17684 +DEFSH (VTYSH_OSPFD, ospf_area_vlink_md5_cmd_vtysh,
17685 + "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
17686 + "(message-digest-key|) <1-255> md5 KEY",
17687 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
17688 + "Message digest authentication password (key)\n" "dummy string \n" "Key ID\n" "Use MD5 algorithm\n" "The OSPF password (key)")
17690 +DEFSH (VTYSH_OSPFD, show_ip_ospf_database_type_id_self_cmd_vtysh,
17691 + "show ip ospf database (" "asbr-summary|external|network|router|summary" "" "" ") A.B.C.D (self-originate|)",
17692 + "Show running system information\n"
17693 + "IP information\n"
17694 + "OSPF information\n"
17695 + "Database summary\n"
17696 + "ASBR summary link states\n" "External link states\n" "Network link states\n" "Router link states\n" "Network summary link states\n" "" "" "" ""
17697 + "Link State ID (as an IP address)\n"
17698 + "Self-originated link states\n"
17699 + "\n")
17701 +DEFSH (VTYSH_BGPD, bgp_timers_cmd_vtysh,
17702 + "timers bgp <0-65535> <0-65535>",
17703 + "Adjust routing timers\n"
17704 + "BGP timers\n"
17705 + "Keepalive interval\n"
17706 + "Holdtime\n")
17708 +DEFSH (VTYSH_OSPFD, no_debug_ospf_packet_send_recv_detail_cmd_vtysh,
17709 + "no debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) (detail|)",
17710 + "Negate a command or set its defaults\n"
17711 + "Debugging functions\n"
17712 + "OSPF information\n"
17713 + "OSPF packets\n"
17714 + "OSPF Hello\n"
17715 + "OSPF Database Description\n"
17716 + "OSPF Link State Request\n"
17717 + "OSPF Link State Update\n"
17718 + "OSPF Link State Acknowledgment\n"
17719 + "OSPF all packets\n"
17720 + "Packet sent\n"
17721 + "Packet received\n"
17722 + "Detail Information\n")
17724 +DEFSH (VTYSH_RIPNGD, ripng_passive_interface_cmd_vtysh,
17725 + "passive-interface IFNAME",
17726 + "Suppress routing updates on an interface\n"
17727 + "Interface name\n")
17729 +DEFSH (VTYSH_RIPD, ip_rip_receive_version_2_cmd_vtysh,
17730 + "ip rip receive version 2 1",
17731 + "IP information\n"
17732 + "Routing Information Protocol\n"
17733 + "Advertisement reception\n"
17734 + "Version control\n"
17735 + "RIP version 2\n"
17736 + "RIP version 1\n")
17738 +DEFSH (VTYSH_OSPFD, no_debug_ospf_lsa_cmd_vtysh,
17739 + "no debug ospf lsa",
17740 + "Negate a command or set its defaults\n"
17741 + "Debugging functions (see also 'undebug')\n"
17742 + "OSPF information\n"
17743 + "OSPF Link State Advertisement\n")
17745 +DEFSH (VTYSH_ZEBRA, mpls_labelspace_cmd_vtysh,
17746 + "mpls labelspace <1-255>",
17747 + "MPLS interface configuration\n"
17748 + "labelspace\n"
17749 + "labelspace number\n") {
17750 + struct interface *ifp;
17752 + ifp = vty->index;
17753 + ifp->mpls_labelspace = atoi(argv[0])
17755 +DEFSH (VTYSH_BGPD, no_neighbor_dont_capability_negotiate_cmd_vtysh,
17756 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "dont-capability-negotiate",
17757 + "Negate a command or set its defaults\n"
17758 + "Specify neighbor router\n"
17759 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
17760 + "Do not perform capability negotiation\n")
17762 +DEFSH (VTYSH_ZEBRA, ip_route_cmd_vtysh,
17763 + "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0)",
17764 + "IP information\n"
17765 + "Establish static routes\n"
17766 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
17767 + "IP gateway address\n"
17768 + "IP gateway interface name\n"
17769 + "Null interface\n")
17771 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_rd_neighbor_routes_cmd_vtysh,
17772 + "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn neighbors A.B.C.D routes",
17773 + "Show running system information\n"
17774 + "IP information\n"
17775 + "BGP information\n"
17776 + "Display VPNv4 NLRI specific information\n"
17777 + "Display information for a route distinguisher\n"
17778 + "VPN Route Distinguisher\n"
17779 + "Detailed information on TCP and BGP neighbor connections\n"
17780 + "Neighbor to display information about\n"
17781 + "Display routes learned from neighbor\n")
17783 +DEFSH (VTYSH_BGPD, no_set_ecommunity_rt_cmd_vtysh,
17784 + "no set extcommunity rt",
17785 + "Negate a command or set its defaults\n"
17786 + "Set values in destination routing protocol\n"
17787 + "BGP extended community attribute\n"
17788 + "Route Target extened communityt\n")
17790 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_access_list_any_cmd_vtysh,
17791 + "ipv6 access-list WORD (deny|permit) any",
17792 + "IPv6 information\n"
17793 + "Add an access list entry\n"
17794 + "IPv6 zebra access-list\n"
17795 + "Specify packets to reject\n"
17796 + "Specify packets to forward\n"
17797 + "Any prefixi to match\n")
17799 +DEFSH (VTYSH_RIPD, distribute_list_prefix_all_cmd_vtysh,
17800 + "distribute-list prefix WORD (in|out)",
17801 + "Filter networks in routing updates\n"
17802 + "Filter prefixes in routing updates\n"
17803 + "Name of an IP prefix-list\n"
17804 + "Filter incoming routing updates\n"
17805 + "Filter outgoing routing updates\n")
17807 +DEFSH (VTYSH_BGPD, no_neighbor_local_as_val_cmd_vtysh,
17808 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "local-as <1-65535>",
17809 + "Negate a command or set its defaults\n"
17810 + "Specify neighbor router\n"
17811 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
17812 + "Specify a local-as number\n"
17813 + "AS number used as local AS\n")
17815 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_seq_le_ge_cmd_vtysh,
17816 + "no ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M le <0-128> ge <0-128>",
17817 + "Negate a command or set its defaults\n"
17818 + "IPv6 information\n"
17819 + "Build a prefix list\n"
17820 + "Name of a prefix list\n"
17821 + "sequence number of an entry\n"
17822 + "Sequence number\n"
17823 + "Specify packets to reject\n"
17824 + "Specify packets to forward\n"
17825 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
17826 + "Maximum prefix length to be matched\n"
17827 + "Maximum prefix length\n"
17828 + "Minimum prefix length to be matched\n"
17829 + "Minimum prefix length\n")
17831 +DEFSH (VTYSH_BGPD, neighbor_allowas_in_cmd_vtysh,
17832 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "allowas-in",
17833 + "Specify neighbor router\n"
17834 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
17835 + "Accept as-path with my AS present in it\n")
17837 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, show_ip_access_list_cmd_vtysh,
17838 + "show ip access-list",
17839 + "Show running system information\n"
17840 + "IP information\n"
17841 + "List IP access lists\n")
17843 +DEFSH (VTYSH_OSPFD, no_ospf_area_vlink_param1_cmd_vtysh,
17844 + "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
17845 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval)",
17846 + "Negate a command or set its defaults\n"
17847 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
17848 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n")
17850 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_match_ip_address_cmd_vtysh,
17851 + "no match ip address",
17852 + "Negate a command or set its defaults\n"
17853 + "Match values from routing table\n"
17854 + "IP information\n"
17855 + "Match address of route\n")
17857 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_soft_in_cmd_vtysh,
17858 + "clear ip bgp <1-65535> soft in",
17859 + "Reset functions\n"
17860 + "IP information\n"
17861 + "BGP information\n"
17862 + "Clear peers with the AS number\n"
17863 + "Soft reconfig\n"
17864 + "Soft reconfig inbound update\n")
17866 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_ipv4_out_cmd_vtysh,
17867 + "clear ip bgp <1-65535> ipv4 (unicast|multicast) out",
17868 + "Reset functions\n"
17869 + "IP information\n"
17870 + "BGP information\n"
17871 + "Clear peers with the AS number\n"
17872 + "Address family\n"
17873 + "Address Family modifier\n"
17874 + "Address Family modifier\n"
17875 + "Soft reconfig outbound update\n")
17877 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_group_ipv4_in_cmd_vtysh,
17878 + "clear ip bgp peer-group WORD ipv4 (unicast|multicast) in",
17879 + "Reset functions\n"
17880 + "IP information\n"
17881 + "BGP information\n"
17882 + "Clear all members of peer-group\n"
17883 + "BGP peer-group name\n"
17884 + "Address family\n"
17885 + "Address Family modifier\n"
17886 + "Address Family modifier\n"
17887 + "Soft reconfig inbound update\n")
17889 +DEFSH (VTYSH_BGPD, clear_bgp_external_cmd_vtysh,
17890 + "clear bgp external",
17891 + "Reset functions\n"
17892 + "BGP information\n"
17893 + "Clear all external peers\n")
17895 +DEFSH (VTYSH_BGPD, no_set_aggregator_as_val_cmd_vtysh,
17896 + "no set aggregator as <1-65535> A.B.C.D",
17897 + "Negate a command or set its defaults\n"
17898 + "Set values in destination routing protocol\n"
17899 + "BGP aggregator attribute\n"
17900 + "AS number of aggregator\n"
17901 + "AS number\n"
17902 + "IP address of aggregator\n")
17904 +DEFSH (VTYSH_BGPD, neighbor_route_server_client_cmd_vtysh,
17905 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "route-server-client",
17906 + "Specify neighbor router\n"
17907 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
17908 + "Configure a neighbor as Route Server client\n")
17910 +DEFSH (VTYSH_BGPD, no_set_ipv6_nexthop_global_cmd_vtysh,
17911 + "no set ipv6 next-hop global",
17912 + "Negate a command or set its defaults\n"
17913 + "Set values in destination routing protocol\n"
17914 + "IPv6 information\n"
17915 + "IPv6 next-hop address\n"
17916 + "IPv6 global address\n")
17918 +DEFSH (VTYSH_ZEBRA, no_label_map_cmd_vtysh,
17919 + "no label-map <TYPE> <VALUE> FWD <INDEX>",
17920 + "Negate a command or set its defaults\n"
17921 + "Remove a static incoming label-map (ILM)\n"
17922 + "Type of label <gen|atm|fr>\n"
17923 + "Value of the label gen = >16, atm = vpi/vci, fr = DLCI\n")
17925 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_community_list_exact_cmd_vtysh,
17926 + "show ip bgp ipv4 (unicast|multicast) community-list WORD exact-match",
17927 + "Show running system information\n"
17928 + "IP information\n"
17929 + "BGP information\n"
17930 + "Address family\n"
17931 + "Address Family modifier\n"
17932 + "Address Family modifier\n"
17933 + "Display routes matching the community-list\n"
17934 + "community-list name\n"
17935 + "Exact match of the communities\n")
17937 +DEFSH (VTYSH_OSPFD, ospf_compatible_rfc1583_cmd_vtysh,
17938 + "compatible rfc1583",
17939 + "OSPF compatibility list\n"
17940 + "compatible with RFC 1583\n")
17942 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_group_soft_out_cmd_vtysh,
17943 + "clear bgp ipv6 peer-group WORD soft out",
17944 + "Reset functions\n"
17945 + "BGP information\n"
17946 + "Address family\n"
17947 + "Clear all members of peer-group\n"
17948 + "BGP peer-group name\n"
17949 + "Soft reconfig\n"
17950 + "Soft reconfig outbound update\n")
17952 +DEFSH (VTYSH_OSPF6D, show_debug_ospf6_cmd_vtysh,
17953 + "show debugging ospf6",
17954 + "Show running system information\n"
17955 + "Debugging functions (see also 'undebug')\n"
17956 + "Open Shortest Path First (OSPF) for IPv6\n")
17958 +DEFSH (VTYSH_RIPD, rip_passive_interface_cmd_vtysh,
17959 + "passive-interface (IFNAME|default)",
17960 + "Suppress routing updates on an interface\n"
17961 + "Interface name\n"
17962 + "default for all interfaces\n")
17964 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_rd_neighbors_cmd_vtysh,
17965 + "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn neighbors",
17966 + "Show running system information\n"
17967 + "IP information\n"
17968 + "BGP information\n"
17969 + "Display VPNv4 NLRI specific information\n"
17970 + "Display information for a route distinguisher\n"
17971 + "VPN Route Distinguisher\n"
17972 + "Detailed information on TCP and BGP neighbor connections\n")
17974 +DEFSH (VTYSH_BGPD, no_debug_bgp_events_cmd_vtysh,
17975 + "no debug bgp events",
17976 + "Negate a command or set its defaults\n"
17977 + "Debugging functions (see also 'undebug')\n"
17978 + "BGP information\n"
17979 + "BGP events\n")
17981 +DEFSH (VTYSH_BGPD, no_neighbor_send_community_cmd_vtysh,
17982 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "send-community",
17983 + "Negate a command or set its defaults\n"
17984 + "Specify neighbor router\n"
17985 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
17986 + "Send Community attribute to this neighbor\n")
17988 +DEFSH (VTYSH_OSPFD, no_ospf_distribute_list_out_cmd_vtysh,
17989 + "no distribute-list WORD out (kernel|connected|static|rip|bgp)",
17990 + "Negate a command or set its defaults\n"
17991 + "Filter networks in routing updates\n"
17992 + "Access-list name\n"
17993 + "Filter outgoing routing updates\n"
17994 + "Kernel routes\n"
17995 + "Connected\n"
17996 + "Static routes\n"
17997 + "Routing Information Protocol (RIP)\n"
17998 + "Border Gateway Protocol (BGP)\n")
18000 +DEFSH (VTYSH_BGPD, show_bgp_neighbors_cmd_vtysh,
18001 + "show bgp neighbors",
18002 + "Show running system information\n"
18003 + "BGP information\n"
18004 + "Detailed information on TCP and BGP neighbor connections\n")
18006 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_description_cmd_vtysh,
18007 + "no ipv6 prefix-list WORD description",
18008 + "Negate a command or set its defaults\n"
18009 + "IPv6 information\n"
18010 + "Build a prefix list\n"
18011 + "Name of a prefix list\n"
18012 + "Prefix-list specific description\n")
18014 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_ipv4_in_prefix_filter_cmd_vtysh,
18015 + "clear ip bgp * ipv4 (unicast|multicast) in prefix-filter",
18016 + "Reset functions\n"
18017 + "IP information\n"
18018 + "BGP information\n"
18019 + "Clear all peers\n"
18020 + "Address family\n"
18021 + "Address Family modifier\n"
18022 + "Address Family modifier\n"
18023 + "Soft reconfig inbound update\n"
18024 + "Push out prefix-list ORF and do inbound soft reconfig\n")
18026 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_external_cmd_vtysh,
18027 + "clear bgp ipv6 external",
18028 + "Reset functions\n"
18029 + "BGP information\n"
18030 + "Address family\n"
18031 + "Clear all external peers\n")
18033 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_cmd_vtysh,
18034 + "show ip bgp ipv4 (unicast|multicast)",
18035 + "Show running system information\n"
18036 + "IP information\n"
18037 + "BGP information\n"
18038 + "Address family\n"
18039 + "Address Family modifier\n"
18040 + "Address Family modifier\n")
18042 +DEFSH (VTYSH_RIPNGD, ripng_redistribute_ripng_cmd_vtysh,
18043 + "redistribute ripng",
18044 + "Redistribute information from another routing protocol\n"
18045 + "RIPng route\n")
18047 +DEFSH (VTYSH_BGPD, no_neighbor_update_source_cmd_vtysh,
18048 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "update-source",
18049 + "Negate a command or set its defaults\n"
18050 + "Specify neighbor router\n"
18051 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
18052 + "Source of routing updates\n"
18053 + "Interface name\n")
18055 +DEFSH (VTYSH_BGPD, neighbor_soft_reconfiguration_cmd_vtysh,
18056 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "soft-reconfiguration inbound",
18057 + "Specify neighbor router\n"
18058 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
18059 + "Per neighbor soft reconfiguration\n"
18060 + "Allow inbound soft reconfiguration for this neighbor\n")
18062 +DEFSH (VTYSH_BGPD, no_bgp_redistribute_ipv6_cmd_vtysh,
18063 + "no redistribute (connected|kernel|ospf6|ripng|static)",
18064 + "Negate a command or set its defaults\n"
18065 + "Redistribute information from another routing protocol\n"
18066 + "Connected\n"
18067 + "Kernel routes\n"
18068 + "Open Shurtest Path First (OSPFv3)\n"
18069 + "Routing Information Protocol (RIPng)\n"
18070 + "Static routes\n")
18072 +DEFSH (VTYSH_BGPD, clear_ip_bgp_instance_all_ipv4_soft_cmd_vtysh,
18073 + "clear ip bgp view WORD * ipv4 (unicast|multicast) soft",
18074 + "Reset functions\n"
18075 + "IP information\n"
18076 + "BGP information\n"
18077 + "BGP view\n"
18078 + "view name\n"
18079 + "Clear all peers\n"
18080 + "Address family\n"
18081 + "Address Family Modifier\n"
18082 + "Address Family Modifier\n"
18083 + "Soft reconfig\n")
18085 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, show_ipv6_prefix_list_detail_name_cmd_vtysh,
18086 + "show ipv6 prefix-list detail WORD",
18087 + "Show running system information\n"
18088 + "IPv6 information\n"
18089 + "Build a prefix list\n"
18090 + "Detail of prefix lists\n"
18091 + "Name of a prefix list\n")
18093 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_neighbor_received_routes_cmd_vtysh,
18094 + "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) received-routes",
18095 + "Show running system information\n"
18096 + "BGP information\n"
18097 + "Address family\n"
18098 + "Detailed information on TCP and BGP neighbor connections\n"
18099 + "Neighbor to display information about\n"
18100 + "Neighbor to display information about\n"
18101 + "Display the received routes from neighbor\n")
18103 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_in_prefix_filter_cmd_vtysh,
18104 + "clear ip bgp <1-65535> in prefix-filter",
18105 + "Reset functions\n"
18106 + "IP information\n"
18107 + "BGP information\n"
18108 + "Clear peers with the AS number\n"
18109 + "Soft reconfig inbound update\n"
18110 + "Push out prefix-list ORF and do inbound soft reconfig\n")
18112 +DEFSH (VTYSH_OSPFD, ospf_area_range_cmd_vtysh,
18113 + "area (A.B.C.D|<0-4294967295>) range A.B.C.D/M",
18114 + "OSPF area parameters\n"
18115 + "OSPF area ID in IP address format\n"
18116 + "OSPF area ID as a decimal value\n"
18117 + "Summarize routes matching address/mask (border routers only)\n"
18118 + "Area range prefix\n")
18120 +DEFSH (VTYSH_BGPD, no_neighbor_attr_unchanged5_cmd_vtysh,
18121 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged as-path next-hop med",
18122 + "Negate a command or set its defaults\n"
18123 + "Specify neighbor router\n"
18124 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
18125 + "BGP attribute is propagated unchanged to this neighbor\n"
18126 + "As-path attribute\n"
18127 + "Nexthop attribute\n"
18128 + "Med attribute\n")
18130 +DEFSH (VTYSH_BGPD, bgp_cluster_id_cmd_vtysh,
18131 + "bgp cluster-id A.B.C.D",
18132 + "BGP information\n"
18133 + "Configure Route-Reflector Cluster-id\n"
18134 + "Route-Reflector Cluster-id in IP address format\n")
18136 +DEFSH (VTYSH_OSPF6D, redistribute_ospf6_cmd_vtysh,
18137 + "redistribute ospf6",
18138 + "Redistribute control\n"
18139 + "OSPF6 route\n")
18141 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_as_in_cmd_vtysh,
18142 + "clear bgp ipv6 <1-65535> in",
18143 + "Reset functions\n"
18144 + "BGP information\n"
18145 + "Address family\n"
18146 + "Clear peers with the AS number\n"
18147 + "Soft reconfig inbound update\n")
18149 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_access_list_exact_cmd_vtysh,
18150 + "no ipv6 access-list WORD (deny|permit) X:X::X:X/M exact-match",
18151 + "Negate a command or set its defaults\n"
18152 + "IPv6 information\n"
18153 + "Add an access list entry\n"
18154 + "IPv6 zebra access-list\n"
18155 + "Specify packets to reject\n"
18156 + "Specify packets to forward\n"
18157 + "Prefix to match. e.g. 3ffe:506::/32\n"
18158 + "Exact match of the prefixes\n")
18160 +DEFSH (VTYSH_BGPD, show_ip_bgp_community3_exact_cmd_vtysh,
18161 + "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
18162 + "Show running system information\n"
18163 + "IP information\n"
18164 + "BGP information\n"
18165 + "Display routes matching the communities\n"
18166 + "community number\n"
18167 + "Do not send outside local AS (well-known community)\n"
18168 + "Do not advertise to any peer (well-known community)\n"
18169 + "Do not export to next AS (well-known community)\n"
18170 + "community number\n"
18171 + "Do not send outside local AS (well-known community)\n"
18172 + "Do not advertise to any peer (well-known community)\n"
18173 + "Do not export to next AS (well-known community)\n"
18174 + "community number\n"
18175 + "Do not send outside local AS (well-known community)\n"
18176 + "Do not advertise to any peer (well-known community)\n"
18177 + "Do not export to next AS (well-known community)\n"
18178 + "Exact match of the communities")
18180 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, show_ip_prefix_list_name_cmd_vtysh,
18181 + "show ip prefix-list WORD",
18182 + "Show running system information\n"
18183 + "IP information\n"
18184 + "Build a prefix list\n"
18185 + "Name of a prefix list\n")
18187 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_soft_cmd_vtysh,
18188 + "clear bgp ipv6 (A.B.C.D|X:X::X:X) soft",
18189 + "Reset functions\n"
18190 + "BGP information\n"
18191 + "Address family\n"
18192 + "BGP neighbor address to clear\n"
18193 + "BGP IPv6 neighbor to clear\n"
18194 + "Soft reconfig\n")
18196 +DEFSH (VTYSH_BGPD, dump_bgp_updates_interval_cmd_vtysh,
18197 + "dump bgp updates PATH INTERVAL",
18198 + "Dump packet\n"
18199 + "BGP packet dump\n"
18200 + "Dump BGP updates only\n"
18201 + "Output filename\n"
18202 + "Interval of output\n")
18204 +DEFSH (VTYSH_BGPD, neighbor_allowas_in_arg_cmd_vtysh,
18205 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "allowas-in <1-10>",
18206 + "Specify neighbor router\n"
18207 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
18208 + "Accept as-path with my AS present in it\n"
18209 + "Number of occurances of AS number\n")
18211 +DEFSH (VTYSH_BGPD, show_bgp_community_list_exact_cmd_vtysh,
18212 + "show bgp community-list WORD exact-match",
18213 + "Show running system information\n"
18214 + "BGP information\n"
18215 + "Display routes matching the community-list\n"
18216 + "community-list name\n"
18217 + "Exact match of the communities\n")
18219 +DEFSH (VTYSH_OSPFD, ospf_area_range_advertise_cmd_vtysh,
18220 + "area (A.B.C.D|<0-4294967295>) range A.B.C.D/M advertise",
18221 + "OSPF area parameters\n"
18222 + "OSPF area ID in IP address format\n"
18223 + "OSPF area ID as a decimal value\n"
18224 + "OSPF area range for route advertise (default)\n"
18225 + "Area range prefix\n"
18226 + "Advertise this range (default)\n")
18228 +DEFSH (VTYSH_BGPD, no_neighbor_remote_as_cmd_vtysh,
18229 + "no neighbor (A.B.C.D|X:X::X:X) " "remote-as <1-65535>",
18230 + "Negate a command or set its defaults\n"
18231 + "Specify neighbor router\n"
18232 + "Neighbor address\nIPv6 address\n"
18233 + "Specify a BGP neighbor\n"
18234 + "AS number\n")
18236 +DEFSH (VTYSH_RIPNGD, ipv6_distribute_list_cmd_vtysh,
18237 + "distribute-list WORD (in|out) WORD",
18238 + "Filter networks in routing updates\n"
18239 + "Access-list name\n"
18240 + "Filter incoming routing updates\n"
18241 + "Filter outgoing routing updates\n"
18242 + "Interface name\n")
18244 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_ipv4_soft_in_cmd_vtysh,
18245 + "clear ip bgp * ipv4 (unicast|multicast) soft in",
18246 + "Reset functions\n"
18247 + "IP information\n"
18248 + "BGP information\n"
18249 + "Clear all peers\n"
18250 + "Address family\n"
18251 + "Address Family modifier\n"
18252 + "Address Family modifier\n"
18253 + "Soft reconfig\n"
18254 + "Soft reconfig inbound update\n")
18256 +DEFSH (VTYSH_BGPD, ipv6_mbgp_neighbor_routes_cmd_vtysh,
18257 + "show ipv6 mbgp neighbors (A.B.C.D|X:X::X:X) routes",
18258 + "Show running system information\n"
18259 + "IPv6 information\n"
18260 + "MBGP information\n"
18261 + "Detailed information on TCP and BGP neighbor connections\n"
18262 + "Neighbor to display information about\n"
18263 + "Neighbor to display information about\n"
18264 + "Display routes learned from neighbor\n")
18266 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_prefix_list_le_ge_cmd_vtysh,
18267 + "ipv6 prefix-list WORD (deny|permit) X:X::X:X/M le <0-128> ge <0-128>",
18268 + "IPv6 information\n"
18269 + "Build a prefix list\n"
18270 + "Name of a prefix list\n"
18271 + "Specify packets to reject\n"
18272 + "Specify packets to forward\n"
18273 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
18274 + "Maximum prefix length to be matched\n"
18275 + "Maximum prefix length\n"
18276 + "Minimum prefix length to be matched\n"
18277 + "Minimum prefix length\n")
18279 +DEFSH (VTYSH_BGPD, no_set_weight_val_cmd_vtysh,
18280 + "no set weight <0-4294967295>",
18281 + "Negate a command or set its defaults\n"
18282 + "Set values in destination routing protocol\n"
18283 + "BGP weight for routing table\n"
18284 + "Weight value\n")
18286 +DEFSH (VTYSH_OSPF6D, ospf6_router_id_cmd_vtysh,
18287 + "router-id ROUTER_ID",
18288 + "Configure ospf Router-ID.\n"
18289 + "specify by IPv4 address notation(e.g. 0.0.0.0)\n")
18291 +DEFSH (VTYSH_ZEBRA, no_ip_route_flags_distance2_cmd_vtysh,
18292 + "no ip route A.B.C.D/M (reject|blackhole) <1-255>",
18293 + "Negate a command or set its defaults\n"
18294 + "IP information\n"
18295 + "Establish static routes\n"
18296 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
18297 + "Emit an ICMP unreachable when matched\n"
18298 + "Silently discard pkts when matched\n"
18299 + "Distance value for this route\n")
18301 +DEFSH (VTYSH_BGPD, no_neighbor_port_val_cmd_vtysh,
18302 + "no neighbor (A.B.C.D|X:X::X:X) " "port <0-65535>",
18303 + "Negate a command or set its defaults\n"
18304 + "Specify neighbor router\n"
18305 + "Neighbor address\nIPv6 address\n"
18306 + "Neighbor's BGP port\n"
18307 + "TCP port number\n")
18309 +DEFSH (VTYSH_BGPD, dump_bgp_updates_cmd_vtysh,
18310 + "dump bgp updates PATH",
18311 + "Dump packet\n"
18312 + "BGP packet dump\n"
18313 + "Dump BGP updates only\n"
18314 + "Output filename\n")
18316 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_seq_cmd_vtysh,
18317 + "no ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) (X:X::X:X/M|any)",
18318 + "Negate a command or set its defaults\n"
18319 + "IPv6 information\n"
18320 + "Build a prefix list\n"
18321 + "Name of a prefix list\n"
18322 + "sequence number of an entry\n"
18323 + "Sequence number\n"
18324 + "Specify packets to reject\n"
18325 + "Specify packets to forward\n"
18326 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
18327 + "Any prefix match. Same as \"::0/0 le 128\"\n")
18329 +DEFSH (VTYSH_BGPD, show_bgp_view_ipv6_neighbor_routes_cmd_vtysh,
18330 + "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) routes",
18331 + "Show running system information\n"
18332 + "BGP information\n"
18333 + "BGP view\n"
18334 + "BGP view name\n"
18335 + "Address family\n"
18336 + "Detailed information on TCP and BGP neighbor connections\n"
18337 + "Neighbor to display information about\n"
18338 + "Neighbor to display information about\n"
18339 + "Display routes learned from neighbor\n")
18341 +DEFSH (VTYSH_OSPF6D, ipv6_ospf6_transmitdelay_cmd_vtysh,
18342 + "ipv6 ospf6 transmit-delay TRANSMITDELAY",
18343 + "IPv6 Information\n"
18344 + "Open Shortest Path First (OSPF) for IPv6\n"
18345 + "Link state transmit delay\n"
18346 + "<1-65535> Seconds\n"
18349 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD, match_interface_cmd_vtysh,
18350 + "match interface WORD",
18351 + "Match values from routing table\n"
18352 + "Match first hop interface of route\n"
18353 + "Interface name\n")
18355 +DEFSH (VTYSH_RIPD, no_ip_rip_split_horizon_poisoned_reverse_cmd_vtysh,
18356 + "no ip rip split-horizon poisoned-reverse",
18357 + "Negate a command or set its defaults\n"
18358 + "IP information\n"
18359 + "Routing Information Protocol\n"
18360 + "Perform split horizon\n"
18361 + "With poisoned-reverse\n")
18363 +DEFSH (VTYSH_BGPD, no_debug_bgp_normal_cmd_vtysh,
18364 + "no debug bgp",
18365 + "Negate a command or set its defaults\n"
18366 + "Debugging functions (see also 'undebug')\n"
18367 + "BGP information\n")
18369 +DEFSH (VTYSH_OSPF6D, ipv6_ospf6_hellointerval_cmd_vtysh,
18370 + "ipv6 ospf6 hello-interval HELLO_INTERVAL",
18371 + "IPv6 Information\n"
18372 + "Open Shortest Path First (OSPF) for IPv6\n"
18373 + "Time between HELLO packets\n"
18374 + "<1-65535> Seconds\n"
18377 +DEFSH (VTYSH_RIPD, rip_redistribute_type_routemap_cmd_vtysh,
18378 + "redistribute (kernel|connected|static|ospf|bgp) route-map WORD",
18379 + "Redistribute information from another routing protocol\n"
18380 + "Kernel routes\n"
18381 + "Connected\n"
18382 + "Static routes\n"
18383 + "Open Shortest Path First (OSPF)\n"
18384 + "Border Gateway Protocol (BGP)\n"
18385 + "Route map reference\n"
18386 + "Pointer to route-map entries\n")
18388 +DEFSH (VTYSH_BGPD, dump_bgp_all_cmd_vtysh,
18389 + "dump bgp all PATH",
18390 + "Dump packet\n"
18391 + "BGP packet dump\n"
18392 + "Dump all BGP packets\n"
18393 + "Output filename\n")
18395 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_match_ip_address_prefix_list_cmd_vtysh,
18396 + "no match ip address prefix-list",
18397 + "Negate a command or set its defaults\n"
18398 + "Match values from routing table\n"
18399 + "IP information\n"
18400 + "Match address of route\n"
18401 + "Match entries of prefix-lists\n")
18403 +DEFSH (VTYSH_BGPD, no_neighbor_attr_unchanged2_cmd_vtysh,
18404 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged as-path (next-hop|med)",
18405 + "Negate a command or set its defaults\n"
18406 + "Specify neighbor router\n"
18407 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
18408 + "BGP attribute is propagated unchanged to this neighbor\n"
18409 + "As-path attribute\n"
18410 + "Nexthop attribute\n"
18411 + "Med attribute\n")
18413 +DEFSH (VTYSH_BGPD, bgp_network_mask_cmd_vtysh,
18414 + "network A.B.C.D mask A.B.C.D",
18415 + "Specify a network to announce via BGP\n"
18416 + "Network number\n"
18417 + "Network mask\n"
18418 + "Network mask\n")
18420 +DEFSH (VTYSH_BGPD, show_bgp_view_prefix_cmd_vtysh,
18421 + "show bgp view WORD X:X::X:X/M",
18422 + "Show running system information\n"
18423 + "BGP information\n"
18424 + "BGP view\n"
18425 + "View name\n"
18426 + "IPv6 prefix <network>/<length>\n")
18428 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_community3_exact_cmd_vtysh,
18429 + "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
18430 + "Show running system information\n"
18431 + "IPv6 information\n"
18432 + "BGP information\n"
18433 + "Display routes matching the communities\n"
18434 + "community number\n"
18435 + "Do not send outside local AS (well-known community)\n"
18436 + "Do not advertise to any peer (well-known community)\n"
18437 + "Do not export to next AS (well-known community)\n"
18438 + "community number\n"
18439 + "Do not send outside local AS (well-known community)\n"
18440 + "Do not advertise to any peer (well-known community)\n"
18441 + "Do not export to next AS (well-known community)\n"
18442 + "community number\n"
18443 + "Do not send outside local AS (well-known community)\n"
18444 + "Do not advertise to any peer (well-known community)\n"
18445 + "Do not export to next AS (well-known community)\n"
18446 + "Exact match of the communities")
18448 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_all_cmd_vtysh,
18449 + "clear bgp ipv6 *",
18450 + "Reset functions\n"
18451 + "BGP information\n"
18452 + "Address family\n"
18453 + "Clear all peers\n")
18455 +DEFSH (VTYSH_OSPF6D, show_version_ospf6_cmd_vtysh,
18456 + "show version ospf6",
18457 + "Show running system information\n"
18458 + "Displays ospf6d version\n")
18460 +DEFSH (VTYSH_BGPD, neighbor_ebgp_multihop_ttl_cmd_vtysh,
18461 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "ebgp-multihop <1-255>",
18462 + "Specify neighbor router\n"
18463 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
18464 + "Allow EBGP neighbors not on directly connected networks\n"
18465 + "maximum hop count\n")
18467 +DEFSH (VTYSH_BGPD, no_neighbor_peer_group_cmd_vtysh,
18468 + "no neighbor WORD peer-group",
18469 + "Negate a command or set its defaults\n"
18470 + "Specify neighbor router\n"
18471 + "Neighbor tag\n"
18472 + "Configure peer-group\n")
18474 +DEFSH (VTYSH_BGPD, neighbor_override_capability_cmd_vtysh,
18475 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "override-capability",
18476 + "Specify neighbor router\n"
18477 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
18478 + "Override capability negotiation result\n")
18480 +DEFSH (VTYSH_BGPD, show_ip_bgp_filter_list_cmd_vtysh,
18481 + "show ip bgp filter-list WORD",
18482 + "Show running system information\n"
18483 + "IP information\n"
18484 + "BGP information\n"
18485 + "Display routes conforming to the filter-list\n"
18486 + "Regular expression access list name\n")
18488 +DEFSH (VTYSH_OSPF6D, ospf6_redistribute_routemap_cmd_vtysh,
18489 + "redistribute (static|kernel|connected|ripng|bgp) route-map WORD",
18490 + "Redistribute\n"
18491 + "Static routes\n"
18492 + "Kernel route\n"
18493 + "Connected route\n"
18494 + "RIPng route\n"
18495 + "BGP route\n"
18496 + "Route map reference\n"
18497 + "Route map name\n"
18500 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_inter_external_intra_cmd_vtysh,
18501 + "distance ospf inter-area <1-255> external <1-255> intra-area <1-255>",
18502 + "Define an administrative distance\n"
18503 + "OSPF Administrative distance\n"
18504 + "Inter-area routes\n"
18505 + "Distance for inter-area routes\n"
18506 + "External routes\n"
18507 + "Distance for external routes\n"
18508 + "Intra-area routes\n"
18509 + "Distance for intra-area routes\n")
18511 +DEFSH (VTYSH_OSPF6D, ospf6_routemap_no_set_forwarding_cmd_vtysh,
18512 + "no set forwarding-address X:X::X:X",
18513 + "Negate a command or set its defaults\n"
18514 + "Set value\n"
18515 + "Forwarding Address\n"
18516 + "IPv6 Address\n")
18518 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_soft_cmd_vtysh,
18519 + "clear ip bgp * soft",
18520 + "Reset functions\n"
18521 + "IP information\n"
18522 + "BGP information\n"
18523 + "Clear all peers\n"
18524 + "Soft reconfig\n")
18526 +DEFSH (VTYSH_RIPD, accept_lifetime_duration_month_day_cmd_vtysh,
18527 + "accept-lifetime HH:MM:SS MONTH <1-31> <1993-2035> duration <1-2147483646>",
18528 + "Set accept lifetime of the key\n"
18529 + "Time to start\n"
18530 + "Month of the year to start\n"
18531 + "Day of th month to start\n"
18532 + "Year to start\n"
18533 + "Duration of the key\n"
18534 + "Duration seconds\n")
18536 +DEFSH (VTYSH_RIPD, no_rip_default_metric_val_cmd_vtysh,
18537 + "no default-metric <1-16>",
18538 + "Negate a command or set its defaults\n"
18539 + "Set a metric of redistribute routes\n"
18540 + "Default metric\n")
18542 +DEFSH (VTYSH_ZEBRA, ip_route_mask_flags_distance2_cmd_vtysh,
18543 + "ip route A.B.C.D A.B.C.D (reject|blackhole) <1-255>",
18544 + "IP information\n"
18545 + "Establish static routes\n"
18546 + "IP destination prefix\n"
18547 + "IP destination prefix mask\n"
18548 + "Distance value for this route\n"
18549 + "Emit an ICMP unreachable when matched\n"
18550 + "Silently discard pkts when matched\n")
18552 +DEFSH (VTYSH_BGPD, clear_ip_bgp_instance_all_soft_cmd_vtysh,
18553 + "clear ip bgp view WORD * soft",
18554 + "Reset functions\n"
18555 + "IP information\n"
18556 + "BGP information\n"
18557 + "BGP view\n"
18558 + "view name\n"
18559 + "Clear all peers\n"
18560 + "Soft reconfig\n")
18562 +DEFSH (VTYSH_BGPD, bgp_bestpath_compare_router_id_cmd_vtysh,
18563 + "bgp bestpath compare-routerid",
18564 + "BGP specific commands\n"
18565 + "Change the default bestpath selection\n"
18566 + "Compare router-id for identical EBGP paths\n")
18568 +DEFSH (VTYSH_BGPD, neighbor_attr_unchanged3_cmd_vtysh,
18569 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged next-hop (as-path|med)",
18570 + "Specify neighbor router\n"
18571 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
18572 + "BGP attribute is propagated unchanged to this neighbor\n"
18573 + "Nexthop attribute\n"
18574 + "As-path attribute\n"
18575 + "Med attribute\n")
18577 +DEFSH (VTYSH_OSPFD, no_ip_ospf_authentication_key_addr_cmd_vtysh,
18578 + "no ip ospf authentication-key A.B.C.D",
18579 + "Negate a command or set its defaults\n"
18580 + "IP Information\n"
18581 + "OSPF interface commands\n"
18582 + "Authentication password (key)\n"
18583 + "Address of interface")
18585 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, ip_prefix_list_le_cmd_vtysh,
18586 + "ip prefix-list WORD (deny|permit) A.B.C.D/M le <0-32>",
18587 + "IP information\n"
18588 + "Build a prefix list\n"
18589 + "Name of a prefix list\n"
18590 + "Specify packets to reject\n"
18591 + "Specify packets to forward\n"
18592 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
18593 + "Maximum prefix length to be matched\n"
18594 + "Maximum prefix length\n")
18596 +DEFSH (VTYSH_BGPD, no_bgp_fast_external_failover_cmd_vtysh,
18597 + "no bgp fast-external-failover",
18598 + "Negate a command or set its defaults\n"
18599 + "BGP information\n"
18600 + "Immediately reset session if a link to a directly connected external peer goes down\n")
18602 +DEFSH (VTYSH_BGPD, clear_ip_bgp_instance_all_soft_out_cmd_vtysh,
18603 + "clear ip bgp view WORD * soft out",
18604 + "Reset functions\n"
18605 + "IP information\n"
18606 + "BGP information\n"
18607 + "BGP view\n"
18608 + "view name\n"
18609 + "Clear all peers\n"
18610 + "Soft reconfig\n"
18611 + "Soft reconfig outbound update\n")
18613 +DEFSH (VTYSH_BGPD, show_ip_bgp_paths_cmd_vtysh,
18614 + "show ip bgp paths",
18615 + "Show running system information\n"
18616 + "IP information\n"
18617 + "BGP information\n"
18618 + "Path information\n")
18620 +DEFSH (VTYSH_OSPFD, ospf_redistribute_source_metric_type_cmd_vtysh,
18621 + "redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> metric-type (1|2)",
18622 + "Redistribute information from another routing protocol\n"
18623 + "Kernel routes\n"
18624 + "Connected\n"
18625 + "Static routes\n"
18626 + "Routing Information Protocol (RIP)\n"
18627 + "Border Gateway Protocol (BGP)\n"
18628 + "Metric for redistributed routes\n"
18629 + "OSPF default metric\n"
18630 + "OSPF exterior metric type for redistributed routes\n"
18631 + "Set OSPF External Type 1 metrics\n"
18632 + "Set OSPF External Type 2 metrics\n")
18634 +DEFSH (VTYSH_ZEBRA, linkdetect_cmd_vtysh,
18635 + "link-detect",
18636 + "Enable link detection on interface\n")
18638 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_all_cmd_vtysh,
18639 + "show ip bgp vpnv4 all",
18640 + "Show running system information\n"
18641 + "IP information\n"
18642 + "BGP information\n"
18643 + "Display VPNv4 NLRI specific information\n"
18644 + "Display information about all VPNv4 NLRIs\n")
18646 +DEFSH (VTYSH_RIPNGD, ripng_redistribute_type_metric_cmd_vtysh,
18647 + "redistribute (kernel|connected|static|ospf6|bgp) metric <0-16>",
18648 + "Redistribute information from another routing protocol\n"
18649 + "Kernel routes\n"
18650 + "Connected\n"
18651 + "Static routes\n"
18652 + "Open Shortest Path First (OSPFv3)\n"
18653 + "Border Gateway Protocol (BGP)\n"
18654 + "Metric\n"
18655 + "Metric value\n")
18657 +DEFSH (VTYSH_RIPD, rip_distance_cmd_vtysh,
18658 + "distance <1-255>",
18659 + "Administrative distance\n"
18660 + "Distance value\n")
18662 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_group_soft_cmd_vtysh,
18663 + "clear ip bgp peer-group WORD soft",
18664 + "Reset functions\n"
18665 + "IP information\n"
18666 + "BGP information\n"
18667 + "Clear all members of peer-group\n"
18668 + "BGP peer-group name\n"
18669 + "Soft reconfig\n")
18671 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_neighbor_cmd_vtysh,
18672 + "show ipv6 ospf6 neighbor",
18673 + "Show running system information\n"
18674 + "IPv6 Information\n"
18675 + "Open Shortest Path First (OSPF) for IPv6\n"
18676 + "Neighbor list\n"
18679 +DEFSH (VTYSH_RIPD, accept_lifetime_duration_day_month_cmd_vtysh,
18680 + "accept-lifetime HH:MM:SS <1-31> MONTH <1993-2035> duration <1-2147483646>",
18681 + "Set accept lifetime of the key\n"
18682 + "Time to start\n"
18683 + "Day of th month to start\n"
18684 + "Month of the year to start\n"
18685 + "Year to start\n"
18686 + "Duration of the key\n"
18687 + "Duration seconds\n")
18689 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_neighbors_peer_cmd_vtysh,
18690 + "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X)",
18691 + "Show running system information\n"
18692 + "BGP information\n"
18693 + "Address family\n"
18694 + "Detailed information on TCP and BGP neighbor connections\n"
18695 + "Neighbor to display information about\n"
18696 + "Neighbor to display information about\n")
18698 +DEFSH (VTYSH_ZEBRA, label_map_pop_cmd_vtysh,
18699 + "label-map <TYPE> <VALUE> POP",
18700 + "Create a static incoming label-map (ILM)\n"
18701 + "Type of label <gen|atm|fr>\n"
18702 + "Value of the label gen = >16, atm = vpi/vci, fr = DLCI\n"
18703 + "Pop and lookup\n")
18705 +DEFSH (VTYSH_BGPD, no_bgp_confederation_identifier_cmd_vtysh,
18706 + "no bgp confederation identifier",
18707 + "Negate a command or set its defaults\n"
18708 + "BGP specific commands\n"
18709 + "AS confederation parameters\n"
18710 + "AS number\n")
18712 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_external_inter_intra_cmd_vtysh,
18713 + "distance ospf external <1-255> inter-area <1-255> intra-area <1-255>",
18714 + "Define an administrative distance\n"
18715 + "OSPF Administrative distance\n"
18716 + "External routes\n"
18717 + "Distance for external routes\n"
18718 + "Inter-area routes\n"
18719 + "Distance for inter-area routes\n"
18720 + "Intra-area routes\n"
18721 + "Distance for intra-area routes\n")
18723 +DEFSH (VTYSH_BGPD, no_bgp_redistribute_ipv6_metric_rmap_cmd_vtysh,
18724 + "no redistribute (connected|kernel|ospf6|ripng|static) metric <0-4294967295> route-map WORD",
18725 + "Negate a command or set its defaults\n"
18726 + "Redistribute information from another routing protocol\n"
18727 + "Connected\n"
18728 + "Kernel routes\n"
18729 + "Open Shurtest Path First (OSPFv3)\n"
18730 + "Routing Information Protocol (RIPng)\n"
18731 + "Static routes\n"
18732 + "Metric for redistributed routes\n"
18733 + "Default metric\n"
18734 + "Route map reference\n"
18735 + "Pointer to route-map entries\n")
18737 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_group_ipv4_soft_in_cmd_vtysh,
18738 + "clear ip bgp peer-group WORD ipv4 (unicast|multicast) soft in",
18739 + "Reset functions\n"
18740 + "IP information\n"
18741 + "BGP information\n"
18742 + "Clear all members of peer-group\n"
18743 + "BGP peer-group name\n"
18744 + "Address family\n"
18745 + "Address Family modifier\n"
18746 + "Address Family modifier\n"
18747 + "Soft reconfig\n"
18748 + "Soft reconfig inbound update\n")
18750 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_always_type_cmd_vtysh,
18751 + "default-information originate always metric-type (1|2)",
18752 + "Control distribution of default information\n"
18753 + "Distribute a default route\n"
18754 + "Always advertise default route\n"
18755 + "OSPF metric type for default routes\n"
18756 + "Set OSPF External Type 1 metrics\n"
18757 + "Set OSPF External Type 2 metrics\n")
18759 +DEFSH (VTYSH_BGPD, no_ip_community_list_name_all_cmd_vtysh,
18760 + "no ip community-list (standard|expanded) WORD",
18761 + "Negate a command or set its defaults\n"
18762 + "IP information\n"
18763 + "Add a community list entry\n"
18764 + "Add a standard community-list entry\n"
18765 + "Add an expanded community-list entry\n"
18766 + "Community list name\n")
18768 +DEFSH (VTYSH_BGPD, no_bgp_config_type_cmd_vtysh,
18769 + "no bgp config-type",
18770 + "Negate a command or set its defaults\n"
18771 + "BGP information\n"
18772 + "Display configuration type\n")
18774 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_route_cmd_vtysh,
18775 + "show bgp ipv6 X:X::X:X",
18776 + "Show running system information\n"
18777 + "BGP information\n"
18778 + "Address family\n"
18779 + "Network in the BGP routing table to display\n")
18781 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_rd_route_cmd_vtysh,
18782 + "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn A.B.C.D",
18783 + "Show running system information\n"
18784 + "IP information\n"
18785 + "BGP information\n"
18786 + "Display VPNv4 NLRI specific information\n"
18787 + "Display information for a route distinguisher\n"
18788 + "VPN Route Distinguisher\n"
18789 + "Network in the BGP routing table to display\n")
18791 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_out_cmd_vtysh,
18792 + "clear ip bgp A.B.C.D out",
18793 + "Reset functions\n"
18794 + "IP information\n"
18795 + "BGP information\n"
18796 + "BGP neighbor address to clear\n"
18797 + "Soft reconfig outbound update\n")
18799 +DEFSH (VTYSH_OSPF6D, ipv6_ospf6_retransmitinterval_cmd_vtysh,
18800 + "ipv6 ospf6 retransmit-interval RXMTINTERVAL",
18801 + "IPv6 Information\n"
18802 + "Open Shortest Path First (OSPF) for IPv6\n"
18803 + "Time between retransmitting lost link state advertisements\n"
18804 + "<1-65535> Seconds\n"
18807 +DEFSH (VTYSH_RIPD, no_rip_network_cmd_vtysh,
18808 + "no network (A.B.C.D/M|WORD)",
18809 + "Negate a command or set its defaults\n"
18810 + "Enable routing on an IP network\n"
18811 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
18812 + "Interface name\n")
18814 +DEFSH (VTYSH_BGPD, bgp_network_mask_backdoor_cmd_vtysh,
18815 + "network A.B.C.D mask A.B.C.D backdoor",
18816 + "Specify a network to announce via BGP\n"
18817 + "Network number\n"
18818 + "Network mask\n"
18819 + "Network mask\n"
18820 + "Specify a BGP backdoor route\n")
18822 +DEFSH (VTYSH_BGPD, aggregate_address_mask_as_set_cmd_vtysh,
18823 + "aggregate-address A.B.C.D A.B.C.D as-set",
18824 + "Configure BGP aggregate entries\n"
18825 + "Aggregate address\n"
18826 + "Aggregate mask\n"
18827 + "Generate AS set path information\n")
18829 +DEFSH (VTYSH_BGPD, no_neighbor_capability_dynamic_cmd_vtysh,
18830 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "capability dynamic",
18831 + "Negate a command or set its defaults\n"
18832 + "Specify neighbor router\n"
18833 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
18834 + "Advertise capability to the peer\n"
18835 + "Advertise dynamic capability to this neighbor\n")
18837 +DEFSH (VTYSH_BGPD, clear_ip_bgp_instance_all_ipv4_soft_out_cmd_vtysh,
18838 + "clear ip bgp view WORD * ipv4 (unicast|multicast) soft out",
18839 + "Reset functions\n"
18840 + "IP information\n"
18841 + "BGP information\n"
18842 + "BGP view\n"
18843 + "view name\n"
18844 + "Clear all peers\n"
18845 + "Address family\n"
18846 + "Address Family modifier\n"
18847 + "Address Family modifier\n"
18848 + "Soft reconfig outbound update\n")
18850 +DEFSH (VTYSH_BGPD, no_neighbor_peer_group_remote_as_cmd_vtysh,
18851 + "no neighbor WORD remote-as <1-65535>",
18852 + "Negate a command or set its defaults\n"
18853 + "Specify neighbor router\n"
18854 + "Neighbor tag\n"
18855 + "Specify a BGP neighbor\n"
18856 + "AS number\n")
18858 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_external_intra_inter_cmd_vtysh,
18859 + "distance ospf external <1-255> intra-area <1-255> inter-area <1-255>",
18860 + "Define an administrative distance\n"
18861 + "OSPF Administrative distance\n"
18862 + "External routes\n"
18863 + "Distance for external routes\n"
18864 + "Intra-area routes\n"
18865 + "Distance for intra-area routes\n"
18866 + "Inter-area routes\n"
18867 + "Distance for inter-area routes\n")
18869 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_exact_cmd_vtysh,
18870 + "no access-list WORD (deny|permit) A.B.C.D/M exact-match",
18871 + "Negate a command or set its defaults\n"
18872 + "Add an access list entry\n"
18873 + "IP zebra access-list name\n"
18874 + "Specify packets to reject\n"
18875 + "Specify packets to forward\n"
18876 + "Prefix to match. e.g. 10.0.0.0/8\n"
18877 + "Exact match of the prefixes\n")
18879 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_community2_cmd_vtysh,
18880 + "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
18881 + "Show running system information\n"
18882 + "BGP information\n"
18883 + "Address family\n"
18884 + "Display routes matching the communities\n"
18885 + "community number\n"
18886 + "Do not send outside local AS (well-known community)\n"
18887 + "Do not advertise to any peer (well-known community)\n"
18888 + "Do not export to next AS (well-known community)\n"
18889 + "community number\n"
18890 + "Do not send outside local AS (well-known community)\n"
18891 + "Do not advertise to any peer (well-known community)\n"
18892 + "Do not export to next AS (well-known community)\n")
18894 +DEFSH (VTYSH_ZEBRA, no_ipv6_route_flags_pref_cmd_vtysh,
18895 + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) <1-255>",
18896 + "Negate a command or set its defaults\n"
18897 + "IP information\n"
18898 + "Establish static routes\n"
18899 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
18900 + "IPv6 gateway address\n"
18901 + "IPv6 gateway interface name\n"
18902 + "Emit an ICMP unreachable when matched\n"
18903 + "Silently discard pkts when matched\n"
18904 + "Distance value for this prefix\n")
18906 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_ge_le_cmd_vtysh,
18907 + "no ipv6 prefix-list WORD (deny|permit) X:X::X:X/M ge <0-128> le <0-128>",
18908 + "Negate a command or set its defaults\n"
18909 + "IPv6 information\n"
18910 + "Build a prefix list\n"
18911 + "Name of a prefix list\n"
18912 + "Specify packets to reject\n"
18913 + "Specify packets to forward\n"
18914 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
18915 + "Minimum prefix length to be matched\n"
18916 + "Minimum prefix length\n"
18917 + "Maximum prefix length to be matched\n"
18918 + "Maximum prefix length\n")
18920 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_area_topology_cmd_vtysh,
18921 + "show ipv6 ospf6 area A.B.C.D topology",
18922 + "Show running system information\n"
18923 + "IPv6 Information\n"
18924 + "Open Shortest Path First (OSPF) for IPv6\n"
18925 + "Area information\n"
18926 + "Area ID (as an IPv4 notation)\n"
18927 + "Shortest Path First tree information\n"
18928 + "Displays SPF topology table\n")
18930 +DEFSH (VTYSH_BGPD, bgp_redistribute_ipv4_metric_rmap_cmd_vtysh,
18931 + "redistribute (connected|kernel|ospf|rip|static) metric <0-4294967295> route-map WORD",
18932 + "Redistribute information from another routing protocol\n"
18933 + "Connected\n"
18934 + "Kernel routes\n"
18935 + "Open Shurtest Path First (OSPF)\n"
18936 + "Routing Information Protocol (RIP)\n"
18937 + "Static routes\n"
18938 + "Metric for redistributed routes\n"
18939 + "Default metric\n"
18940 + "Route map reference\n"
18941 + "Pointer to route-map entries\n")
18943 +DEFSH (VTYSH_OSPFD, ip_ospf_priority_addr_cmd_vtysh,
18944 + "ip ospf priority <0-255> A.B.C.D",
18945 + "IP Information\n"
18946 + "OSPF interface commands\n"
18947 + "Router priority\n"
18948 + "Priority\n"
18949 + "Address of interface")
18951 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_route_map_cmd_vtysh,
18952 + "show ip bgp ipv4 (unicast|multicast) route-map WORD",
18953 + "Show running system information\n"
18954 + "IP information\n"
18955 + "BGP information\n"
18956 + "Address family\n"
18957 + "Address Family modifier\n"
18958 + "Address Family modifier\n"
18959 + "Display routes matching the route-map\n"
18960 + "A route-map to match on\n")
18962 +DEFSH (VTYSH_RIPD, no_ip_rip_send_version_num_cmd_vtysh,
18963 + "no ip rip send version (1|2)",
18964 + "Negate a command or set its defaults\n"
18965 + "IP information\n"
18966 + "Routing Information Protocol\n"
18967 + "Advertisement transmission\n"
18968 + "Version control\n"
18969 + "Version 1\n"
18970 + "Version 2\n")
18972 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_always_metric_type_cmd_vtysh,
18973 + "default-information originate always metric <0-16777214> metric-type (1|2)",
18974 + "Control distribution of default information\n"
18975 + "Distribute a default route\n"
18976 + "Always advertise default route\n"
18977 + "OSPF default metric\n"
18978 + "OSPF metric\n"
18979 + "OSPF metric type for default routes\n"
18980 + "Set OSPF External Type 1 metrics\n"
18981 + "Set OSPF External Type 2 metrics\n")
18983 +DEFSH (VTYSH_OSPFD|VTYSH_OSPF6D, set_metric_type_cmd_vtysh,
18984 + "set metric-type (type-1|type-2)",
18985 + "Set values in destination routing protocol\n"
18986 + "Type of metric for destination routing protocol\n"
18987 + "OSPF[6] external type 1 metric\n"
18988 + "OSPF[6] external type 2 metric\n")
18990 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, ip_prefix_list_cmd_vtysh,
18991 + "ip prefix-list WORD (deny|permit) (A.B.C.D/M|any)",
18992 + "IP information\n"
18993 + "Build a prefix list\n"
18994 + "Name of a prefix list\n"
18995 + "Specify packets to reject\n"
18996 + "Specify packets to forward\n"
18997 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
18998 + "Any prefix match. Same as \"0.0.0.0/0 le 32\"\n")
19000 +DEFSH (VTYSH_BGPD, bgp_redistribute_ipv4_metric_cmd_vtysh,
19001 + "redistribute (connected|kernel|ospf|rip|static) metric <0-4294967295>",
19002 + "Redistribute information from another routing protocol\n"
19003 + "Connected\n"
19004 + "Kernel routes\n"
19005 + "Open Shurtest Path First (OSPF)\n"
19006 + "Routing Information Protocol (RIP)\n"
19007 + "Static routes\n"
19008 + "Metric for redistributed routes\n"
19009 + "Default metric\n")
19011 +DEFSH (VTYSH_BGPD, no_bgp_network_backdoor_cmd_vtysh,
19012 + "no network A.B.C.D/M backdoor",
19013 + "Negate a command or set its defaults\n"
19014 + "Specify a network to announce via BGP\n"
19015 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
19016 + "Specify a BGP backdoor route\n")
19018 +DEFSH (VTYSH_BGPD, no_neighbor_cmd_vtysh,
19019 + "no neighbor (A.B.C.D|X:X::X:X|WORD) ",
19020 + "Negate a command or set its defaults\n"
19021 + "Specify neighbor router\n"
19022 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n")
19024 +DEFSH (VTYSH_ZEBRA, show_interface_cmd_vtysh,
19025 + "show interface [IFNAME]",
19026 + "Show running system information\n"
19027 + "Interface status and configuration\n"
19028 + "Inteface name\n")
19030 +DEFSH (VTYSH_RIPD, rip_redistribute_type_cmd_vtysh,
19031 + "redistribute (kernel|connected|static|ospf|bgp)",
19032 + "Redistribute information from another routing protocol\n"
19033 + "Kernel routes\n"
19034 + "Connected\n"
19035 + "Static routes\n"
19036 + "Open Shortest Path First (OSPF)\n"
19037 + "Border Gateway Protocol (BGP)\n")
19039 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_match_ip_next_hop_cmd_vtysh,
19040 + "no match ip next-hop",
19041 + "Negate a command or set its defaults\n"
19042 + "Match values from routing table\n"
19043 + "IP information\n"
19044 + "Match next-hop address of route\n")
19046 +DEFSH (VTYSH_RIPNGD, no_ripng_route_cmd_vtysh,
19047 + "no route IPV6ADDR",
19048 + "Negate a command or set its defaults\n"
19049 + "Static route setup\n"
19050 + "Delete static RIPng route announcement\n")
19052 +DEFSH (VTYSH_BGPD, set_aspath_prepend_cmd_vtysh,
19053 + "set as-path prepend .<1-65535>",
19054 + "Set values in destination routing protocol\n"
19055 + "Prepend string for a BGP AS-path attribute\n"
19056 + "Prepend to the as-path\n"
19057 + "AS number\n")
19059 +DEFSH (VTYSH_BGPD, no_neighbor_maximum_prefix_val2_cmd_vtysh,
19060 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "maximum-prefix <1-4294967295> warning-only",
19061 + "Negate a command or set its defaults\n"
19062 + "Specify neighbor router\n"
19063 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
19064 + "Maximum number of prefix accept from this peer\n"
19065 + "maximum no. of prefix limit\n"
19066 + "Only give warning message when limit is exceeded\n")
19068 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_BGPD, match_metric_cmd_vtysh,
19069 + "match metric <0-4294967295>",
19070 + "Match values from routing table\n"
19071 + "Match metric of route\n"
19072 + "Metric value\n")
19074 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_prefix_list_cmd_vtysh,
19075 + "show ipv6 bgp prefix-list WORD",
19076 + "Show running system information\n"
19077 + "IPv6 information\n"
19078 + "BGP information\n"
19079 + "Display routes matching the prefix-list\n"
19080 + "IPv6 prefix-list name\n")
19082 +DEFSH (VTYSH_ZEBRA, show_ip_route_supernets_cmd_vtysh,
19083 + "show ip route supernets-only",
19084 + "Show running system information\n"
19085 + "IP information\n"
19086 + "IP routing table\n"
19087 + "Show supernet entries only\n")
19089 +DEFSH (VTYSH_OSPFD, show_ip_ospf_interface_cmd_vtysh,
19090 + "show ip ospf interface [INTERFACE]",
19091 + "Show running system information\n"
19092 + "IP information\n"
19093 + "OSPF information\n"
19094 + "Interface information\n"
19095 + "Interface name\n")
19097 +DEFSH (VTYSH_BGPD, neighbor_interface_cmd_vtysh,
19098 + "neighbor (A.B.C.D|X:X::X:X) " "interface WORD",
19099 + "Specify neighbor router\n"
19100 + "Neighbor address\nIPv6 address\n"
19101 + "Interface\n"
19102 + "Interface name\n")
19104 +DEFSH (VTYSH_BGPD, set_weight_cmd_vtysh,
19105 + "set weight <0-4294967295>",
19106 + "Set values in destination routing protocol\n"
19107 + "BGP weight for routing table\n"
19108 + "Weight value\n")
19110 +DEFSH (VTYSH_RIPD, debug_rip_events_cmd_vtysh,
19111 + "debug rip events",
19112 + "Debugging functions (see also 'undebug')\n"
19113 + "RIP information\n"
19114 + "RIP events\n")
19116 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_extended_any_mask_cmd_vtysh,
19117 + "no access-list (<100-199>|<2000-2699>) (deny|permit) ip any A.B.C.D A.B.C.D",
19118 + "Negate a command or set its defaults\n"
19119 + "Add an access list entry\n"
19120 + "IP extended access list\n"
19121 + "IP extended access list (expanded range)\n"
19122 + "Specify packets to reject\n"
19123 + "Specify packets to forward\n"
19124 + "Any Internet Protocol\n"
19125 + "Any source host\n"
19126 + "Destination address\n"
19127 + "Destination Wildcard bits\n")
19129 +DEFSH (VTYSH_BGPD, no_match_origin_cmd_vtysh,
19130 + "no match origin",
19131 + "Negate a command or set its defaults\n"
19132 + "Match values from routing table\n"
19133 + "BGP origin code\n")
19135 +DEFSH (VTYSH_RIPD, distribute_list_all_cmd_vtysh,
19136 + "distribute-list WORD (in|out)",
19137 + "Filter networks in routing updates\n"
19138 + "Access-list name\n"
19139 + "Filter incoming routing updates\n"
19140 + "Filter outgoing routing updates\n")
19142 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_prefix_cmd_vtysh,
19143 + "show ipv6 bgp X:X::X:X/M",
19144 + "Show running system information\n"
19145 + "IP information\n"
19146 + "BGP information\n"
19147 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n")
19149 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, show_ipv6_prefix_list_summary_cmd_vtysh,
19150 + "show ipv6 prefix-list summary",
19151 + "Show running system information\n"
19152 + "IPv6 information\n"
19153 + "Build a prefix list\n"
19154 + "Summary of prefix lists\n")
19156 +DEFSH (VTYSH_BGPD, show_bgp_neighbors_peer_cmd_vtysh,
19157 + "show bgp neighbors (A.B.C.D|X:X::X:X)",
19158 + "Show running system information\n"
19159 + "BGP information\n"
19160 + "Detailed information on TCP and BGP neighbor connections\n"
19161 + "Neighbor to display information about\n"
19162 + "Neighbor to display information about\n")
19164 +DEFSH (VTYSH_RIPD, no_distribute_list_all_cmd_vtysh,
19165 + "no distribute-list WORD (in|out)",
19166 + "Negate a command or set its defaults\n"
19167 + "Filter networks in routing updates\n"
19168 + "Access-list name\n"
19169 + "Filter incoming routing updates\n"
19170 + "Filter outgoing routing updates\n")
19172 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_route_cmd_vtysh,
19173 + "show ipv6 bgp X:X::X:X",
19174 + "Show running system information\n"
19175 + "IP information\n"
19176 + "BGP information\n"
19177 + "Network in the BGP routing table to display\n")
19179 +DEFSH (VTYSH_OSPFD, ospf_area_authentication_cmd_vtysh,
19180 + "area (A.B.C.D|<0-4294967295>) authentication",
19181 + "OSPF area parameters\n"
19182 + "OSPF area ID in IP address format\n"
19183 + "OSPF area ID as a decimal value\n"
19184 + "Enable authentication\n")
19186 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_intra_external_inter_cmd_vtysh,
19187 + "distance ospf intra-area <1-255> external <1-255> inter-area <1-255>",
19188 + "Define an administrative distance\n"
19189 + "OSPF Administrative distance\n"
19190 + "Intra-area routes\n"
19191 + "Distance for intra-area routes\n"
19192 + "External routes\n"
19193 + "Distance for external routes\n"
19194 + "Inter-area routes\n"
19195 + "Distance for inter-area routes\n")
19197 +DEFSH (VTYSH_RIPD, send_lifetime_day_month_month_day_cmd_vtysh,
19198 + "send-lifetime HH:MM:SS <1-31> MONTH <1993-2035> HH:MM:SS MONTH <1-31> <1993-2035>",
19199 + "Set send lifetime of the key\n"
19200 + "Time to start\n"
19201 + "Day of th month to start\n"
19202 + "Month of the year to start\n"
19203 + "Year to start\n"
19204 + "Time to expire\n"
19205 + "Month of the year to expire\n"
19206 + "Day of th month to expire\n"
19207 + "Year to expire\n")
19209 +DEFSH (VTYSH_BGPD, set_aggregator_as_cmd_vtysh,
19210 + "set aggregator as <1-65535> A.B.C.D",
19211 + "Set values in destination routing protocol\n"
19212 + "BGP aggregator attribute\n"
19213 + "AS number of aggregator\n"
19214 + "AS number\n"
19215 + "IP address of aggregator\n")
19217 +DEFSH (VTYSH_BGPD, neighbor_strict_capability_cmd_vtysh,
19218 + "neighbor (A.B.C.D|X:X::X:X) " "strict-capability-match",
19219 + "Specify neighbor router\n"
19220 + "Neighbor address\nIPv6 address\n"
19221 + "Strict capability negotiation match\n")
19223 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_extended_mask_host_cmd_vtysh,
19224 + "no access-list (<100-199>|<2000-2699>) (deny|permit) ip A.B.C.D A.B.C.D host A.B.C.D",
19225 + "Negate a command or set its defaults\n"
19226 + "Add an access list entry\n"
19227 + "IP extended access list\n"
19228 + "IP extended access list (expanded range)\n"
19229 + "Specify packets to reject\n"
19230 + "Specify packets to forward\n"
19231 + "Any Internet Protocol\n"
19232 + "Source address\n"
19233 + "Source wildcard bits\n"
19234 + "A single destination host\n"
19235 + "Destination address\n")
19237 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, show_ip_prefix_list_prefix_first_match_cmd_vtysh,
19238 + "show ip prefix-list WORD A.B.C.D/M first-match",
19239 + "Show running system information\n"
19240 + "IP information\n"
19241 + "Build a prefix list\n"
19242 + "Name of a prefix list\n"
19243 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
19244 + "First matched prefix\n")
19246 +DEFSH (VTYSH_OSPFD, no_debug_ospf_packet_send_recv_cmd_vtysh,
19247 + "no debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv|detail)",
19248 + "Negate a command or set its defaults\n"
19249 + "Debugging functions\n"
19250 + "OSPF information\n"
19251 + "OSPF packets\n"
19252 + "OSPF Hello\n"
19253 + "OSPF Database Description\n"
19254 + "OSPF Link State Request\n"
19255 + "OSPF Link State Update\n"
19256 + "OSPF Link State Acknowledgment\n"
19257 + "OSPF all packets\n"
19258 + "Packet sent\n"
19259 + "Packet received\n"
19260 + "Detail Information\n")
19262 +DEFSH (VTYSH_BGPD, bgp_redistribute_ipv6_cmd_vtysh,
19263 + "redistribute (connected|kernel|ospf6|ripng|static)",
19264 + "Redistribute information from another routing protocol\n"
19265 + "Connected\n"
19266 + "Kernel routes\n"
19267 + "Open Shurtest Path First (OSPFv3)\n"
19268 + "Routing Information Protocol (RIPng)\n"
19269 + "Static routes\n")
19271 +DEFSH (VTYSH_BGPD, neighbor_route_reflector_client_cmd_vtysh,
19272 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "route-reflector-client",
19273 + "Specify neighbor router\n"
19274 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
19275 + "Configure a neighbor as Route Reflector client\n")
19277 +DEFSH (VTYSH_BGPD, neighbor_port_cmd_vtysh,
19278 + "neighbor (A.B.C.D|X:X::X:X) " "port <0-65535>",
19279 + "Specify neighbor router\n"
19280 + "Neighbor address\nIPv6 address\n"
19281 + "Neighbor's BGP port\n"
19282 + "TCP port number\n")
19284 +DEFSH (VTYSH_OSPFD, no_debug_ospf_lsa_sub_cmd_vtysh,
19285 + "no debug ospf lsa (generate|flooding|install|refresh)",
19286 + "Negate a command or set its defaults\n"
19287 + "Debugging functions (see also 'undebug')\n"
19288 + "OSPF information\n"
19289 + "OSPF Link State Advertisement\n"
19290 + "LSA Generation\n"
19291 + "LSA Flooding\n"
19292 + "LSA Install/Delete\n"
19293 + "LSA Refres\n")
19295 +DEFSH (VTYSH_BGPD, neighbor_remove_private_as_cmd_vtysh,
19296 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "remove-private-AS",
19297 + "Specify neighbor router\n"
19298 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
19299 + "Remove private AS number from outbound updates\n")
19301 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_prefix_cmd_vtysh,
19302 + "no ip prefix-list WORD (deny|permit) (A.B.C.D/M|any)",
19303 + "Negate a command or set its defaults\n"
19304 + "IP information\n"
19305 + "Build a prefix list\n"
19306 + "Name of a prefix list\n"
19307 + "Specify packets to reject\n"
19308 + "Specify packets to forward\n"
19309 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
19310 + "Any prefix match. Same as \"0.0.0.0/0 le 32\"\n")
19312 +DEFSH (VTYSH_OSPF6D, debug_ospf6_damp_cmd_vtysh,
19313 + "debug ospf6 damp",
19314 + "Debugging functions (see also 'undebug')\n"
19315 + "Open Shortest Path First (OSPF) for IPv6\n"
19316 + "Flap-dampening information\n"
19319 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, no_ipv6_prefix_list_ge_cmd_vtysh,
19320 + "no ipv6 prefix-list WORD (deny|permit) X:X::X:X/M ge <0-128>",
19321 + "Negate a command or set its defaults\n"
19322 + "IPv6 information\n"
19323 + "Build a prefix list\n"
19324 + "Name of a prefix list\n"
19325 + "Specify packets to reject\n"
19326 + "Specify packets to forward\n"
19327 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
19328 + "Minimum prefix length to be matched\n"
19329 + "Minimum prefix length\n")
19331 +DEFSH (VTYSH_OSPFD, no_ospf_auto_cost_reference_bandwidth_cmd_vtysh,
19332 + "no auto-cost reference-bandwidth",
19333 + "Negate a command or set its defaults\n"
19334 + "Calculate OSPF interface cost according to bandwidth\n"
19335 + "Use reference bandwidth method to assign OSPF cost\n")
19337 +DEFSH (VTYSH_BGPD, undebug_bgp_filter_cmd_vtysh,
19338 + "undebug bgp filters",
19339 + "Disable debugging functions (see also 'debug')\n"
19340 + "BGP information\n"
19341 + "BGP filters\n")
19343 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_all_out_cmd_vtysh,
19344 + "clear bgp ipv6 * out",
19345 + "Reset functions\n"
19346 + "BGP information\n"
19347 + "Address family\n"
19348 + "Clear all peers\n"
19349 + "Soft reconfig outbound update\n")
19351 +DEFSH (VTYSH_RIPNGD, ripng_route_cmd_vtysh,
19352 + "route IPV6ADDR",
19353 + "Static route setup\n"
19354 + "Set static RIPng route announcement\n")
19356 +DEFSH (VTYSH_ZEBRA, no_ipv6_route_pref_cmd_vtysh,
19357 + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) <1-255>",
19358 + "Negate a command or set its defaults\n"
19359 + "IP information\n"
19360 + "Establish static routes\n"
19361 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
19362 + "IPv6 gateway address\n"
19363 + "IPv6 gateway interface name\n"
19364 + "Distance value for this prefix\n")
19366 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, show_ipv6_access_list_cmd_vtysh,
19367 + "show ipv6 access-list",
19368 + "Show running system information\n"
19369 + "IPv6 information\n"
19370 + "List IPv6 access lists\n")
19372 +DEFSH (VTYSH_OSPFD, show_ip_ospf_cmd_vtysh,
19373 + "show ip ospf",
19374 + "Show running system information\n"
19375 + "IP information\n"
19376 + "OSPF information\n")
19378 +DEFSH (VTYSH_BGPD, bgp_network_mask_route_map_cmd_vtysh,
19379 + "network A.B.C.D mask A.B.C.D route-map WORD",
19380 + "Specify a network to announce via BGP\n"
19381 + "Network number\n"
19382 + "Network mask\n"
19383 + "Network mask\n"
19384 + "Route-map to modify the attributes\n"
19385 + "Name of the route map\n")
19387 +DEFSH (VTYSH_BGPD, no_ip_extcommunity_list_expanded_cmd_vtysh,
19388 + "no ip extcommunity-list <100-199> (deny|permit) .LINE",
19389 + "Negate a command or set its defaults\n"
19390 + "IP information\n"
19391 + "Add a extended community list entry\n"
19392 + "Extended Community list number (expanded)\n"
19393 + "Specify community to reject\n"
19394 + "Specify community to accept\n"
19395 + "An ordered list as a regular-expression\n")
19397 +DEFSH (VTYSH_BGPD, no_neighbor_port_cmd_vtysh,
19398 + "no neighbor (A.B.C.D|X:X::X:X) " "port",
19399 + "Negate a command or set its defaults\n"
19400 + "Specify neighbor router\n"
19401 + "Neighbor address\nIPv6 address\n"
19402 + "Neighbor's BGP port\n")
19404 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_cmd_vtysh,
19405 + "clear bgp ipv6 (A.B.C.D|X:X::X:X)",
19406 + "Reset functions\n"
19407 + "BGP information\n"
19408 + "Address family\n"
19409 + "BGP neighbor address to clear\n"
19410 + "BGP IPv6 neighbor to clear\n")
19412 +DEFSH (VTYSH_ZEBRA, show_ipv6_route_addr_cmd_vtysh,
19413 + "show ipv6 route X:X::X:X",
19414 + "Show running system information\n"
19415 + "IP information\n"
19416 + "IPv6 routing table\n"
19417 + "IPv6 Address\n")
19419 +DEFSH (VTYSH_BGPD, neighbor_send_community_type_cmd_vtysh,
19420 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "send-community (both|extended|standard)",
19421 + "Specify neighbor router\n"
19422 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
19423 + "Send Community attribute to this neighbor\n"
19424 + "Send Standard and Extended Community attributes\n"
19425 + "Send Extended Community attributes\n"
19426 + "Send Standard Community attributes\n")
19428 +DEFSH (VTYSH_OSPFD, no_ip_ospf_hello_interval_addr_cmd_vtysh,
19429 + "no ip ospf hello-interval A.B.C.D",
19430 + "Negate a command or set its defaults\n"
19431 + "IP Information\n"
19432 + "OSPF interface commands\n"
19433 + "Time between HELLO packets\n"
19434 + "Address of interface")
19436 +DEFSH (VTYSH_BGPD, no_neighbor_default_originate_cmd_vtysh,
19437 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "default-originate",
19438 + "Negate a command or set its defaults\n"
19439 + "Specify neighbor router\n"
19440 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
19441 + "Originate default route to this neighbor\n")
19443 +DEFSH (VTYSH_BGPD, neighbor_default_originate_rmap_cmd_vtysh,
19444 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "default-originate route-map WORD",
19445 + "Specify neighbor router\n"
19446 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
19447 + "Originate default route to this neighbor\n"
19448 + "Route-map to specify criteria to originate default\n"
19449 + "route-map name\n")
19451 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_cmd_vtysh,
19452 + "show ipv6 bgp",
19453 + "Show running system information\n"
19454 + "IP information\n"
19455 + "BGP information\n")
19457 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, clear_ipv6_prefix_list_name_prefix_cmd_vtysh,
19458 + "clear ipv6 prefix-list WORD X:X::X:X/M",
19459 + "Reset functions\n"
19460 + "IPv6 information\n"
19461 + "Build a prefix list\n"
19462 + "Name of a prefix list\n"
19463 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n")
19465 +DEFSH (VTYSH_OSPFD, debug_ospf_packet_send_recv_detail_cmd_vtysh,
19466 + "debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) (detail|)",
19467 + "Debugging functions\n"
19468 + "OSPF information\n"
19469 + "OSPF packets\n"
19470 + "OSPF Hello\n"
19471 + "OSPF Database Description\n"
19472 + "OSPF Link State Request\n"
19473 + "OSPF Link State Update\n"
19474 + "OSPF Link State Acknowledgment\n"
19475 + "OSPF all packets\n"
19476 + "Packet sent\n"
19477 + "Packet received\n"
19478 + "Detail Information\n")
19480 +DEFSH (VTYSH_RIPD, no_rip_redistribute_type_routemap_cmd_vtysh,
19481 + "no redistribute (kernel|connected|static|ospf|bgp) route-map WORD",
19482 + "Negate a command or set its defaults\n"
19483 + "Redistribute information from another routing protocol\n"
19484 + "Kernel routes\n"
19485 + "Connected\n"
19486 + "Static routes\n"
19487 + "Open Shortest Path First (OSPF)\n"
19488 + "Border Gateway Protocol (BGP)\n"
19489 + "Route map reference\n"
19490 + "Pointer to route-map entries\n")
19492 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_cmd_vtysh,
19493 + "show ipv6 ospf6",
19494 + "Show running system information\n"
19495 + "IPv6 Information\n"
19496 + "Open Shortest Path First (OSPF) for IPv6\n")
19498 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, show_ip_prefix_list_cmd_vtysh,
19499 + "show ip prefix-list",
19500 + "Show running system information\n"
19501 + "IP information\n"
19502 + "Build a prefix list\n")
19504 +DEFSH (VTYSH_RIPNGD, no_ripng_redistribute_type_cmd_vtysh,
19505 + "no redistribute (kernel|connected|static|ospf6|bgp)",
19506 + "Negate a command or set its defaults\n"
19507 + "Redistribute information from another routing protocol\n"
19508 + "Kernel routes\n"
19509 + "Connected\n"
19510 + "Static routes\n"
19511 + "Open Shortest Path First (OSPFv3)\n"
19512 + "Border Gateway Protocol (BGP)\n")
19514 +DEFSH (VTYSH_ZEBRA, ip_forwarding_cmd_vtysh,
19515 + "ip forwarding",
19516 + "IP information\n"
19517 + "Turn on IP forwarding")
19519 +DEFSH (VTYSH_BGPD, show_bgp_prefix_cmd_vtysh,
19520 + "show bgp X:X::X:X/M",
19521 + "Show running system information\n"
19522 + "BGP information\n"
19523 + "IPv6 prefix <network>/<length>\n")
19525 +DEFSH (VTYSH_OSPFD, ospf_area_vlink_param1_cmd_vtysh,
19526 + "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
19527 + "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535>",
19528 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
19529 + "Time between HELLO packets\n" "Time between retransmitting lost link state advertisements\n" "Link state transmit delay\n" "Interval after which a neighbor is declared dead\n" "Seconds\n")
19531 +DEFSH (VTYSH_RIPD, no_ip_rip_receive_version_cmd_vtysh,
19532 + "no ip rip receive version",
19533 + "Negate a command or set its defaults\n"
19534 + "IP information\n"
19535 + "Routing Information Protocol\n"
19536 + "Advertisement reception\n"
19537 + "Version control\n")
19539 +DEFSH (VTYSH_BGPD, neighbor_unsuppress_map_cmd_vtysh,
19540 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "unsuppress-map WORD",
19541 + "Specify neighbor router\n"
19542 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
19543 + "Route-map to selectively unsuppress suppressed routes\n"
19544 + "Name of route map\n")
19546 +DEFSH (VTYSH_RIPNGD, no_ipv6_distribute_list_prefix_cmd_vtysh,
19547 + "no distribute-list prefix WORD (in|out) WORD",
19548 + "Negate a command or set its defaults\n"
19549 + "Filter networks in routing updates\n"
19550 + "Filter prefixes in routing updates\n"
19551 + "Name of an IP prefix-list\n"
19552 + "Filter incoming routing updates\n"
19553 + "Filter outgoing routing updates\n"
19554 + "Interface name\n")
19556 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_group_cmd_vtysh,
19557 + "clear bgp ipv6 peer-group WORD",
19558 + "Reset functions\n"
19559 + "BGP information\n"
19560 + "Address family\n"
19561 + "Clear all members of peer-group\n"
19562 + "BGP peer-group name\n")
19564 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_group_ipv4_out_cmd_vtysh,
19565 + "clear ip bgp peer-group WORD ipv4 (unicast|multicast) out",
19566 + "Reset functions\n"
19567 + "IP information\n"
19568 + "BGP information\n"
19569 + "Clear all members of peer-group\n"
19570 + "BGP peer-group name\n"
19571 + "Address family\n"
19572 + "Address Family modifier\n"
19573 + "Address Family modifier\n"
19574 + "Soft reconfig outbound update\n")
19576 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_extended_mask_host_cmd_vtysh,
19577 + "access-list (<100-199>|<2000-2699>) (deny|permit) ip A.B.C.D A.B.C.D host A.B.C.D",
19578 + "Add an access list entry\n"
19579 + "IP extended access list\n"
19580 + "IP extended access list (expanded range)\n"
19581 + "Specify packets to reject\n"
19582 + "Specify packets to forward\n"
19583 + "Any Internet Protocol\n"
19584 + "Source address\n"
19585 + "Source wildcard bits\n"
19586 + "A single destination host\n"
19587 + "Destination address\n")
19589 +DEFSH (VTYSH_RIPNGD, ripng_redistribute_type_metric_routemap_cmd_vtysh,
19590 + "redistribute (kernel|connected|static|ospf6|bgp) metric <0-16> route-map WORD",
19591 + "Redistribute information from another routing protocol\n"
19592 + "Kernel routes\n"
19593 + "Connected\n"
19594 + "Static routes\n"
19595 + "Open Shortest Path First (OSPFv3)\n"
19596 + "Border Gateway Protocol (BGP)\n"
19597 + "Metric\n"
19598 + "Metric value\n"
19599 + "Route map reference\n"
19600 + "Pointer to route-map entries\n")
19602 +DEFSH (VTYSH_RIPNGD, no_ripng_network_cmd_vtysh,
19603 + "no network IF_OR_ADDR",
19604 + "Negate a command or set its defaults\n"
19605 + "RIPng enable on specified interface or network.\n"
19606 + "Interface or address")
19608 +DEFSH (VTYSH_BGPD, show_ipv6_mbgp_community_exact_cmd_vtysh,
19609 + "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) exact-match",
19610 + "Show running system information\n"
19611 + "IPv6 information\n"
19612 + "MBGP information\n"
19613 + "Display routes matching the communities\n"
19614 + "community number\n"
19615 + "Do not send outside local AS (well-known community)\n"
19616 + "Do not advertise to any peer (well-known community)\n"
19617 + "Do not export to next AS (well-known community)\n"
19618 + "Exact match of the communities")
19620 +DEFSH (VTYSH_BGPD, neighbor_remote_as_cmd_vtysh,
19621 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "remote-as <1-65535>",
19622 + "Specify neighbor router\n"
19623 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
19624 + "Specify a BGP neighbor\n"
19625 + "AS number\n")
19627 +DEFSH (VTYSH_BGPD, old_ipv6_bgp_network_cmd_vtysh,
19628 + "ipv6 bgp network X:X::X:X/M",
19629 + "IPv6 information\n"
19630 + "BGP information\n"
19631 + "Specify a network to announce via BGP\n"
19632 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n")
19634 +DEFSH (VTYSH_BGPD, no_aggregate_address_as_set_summary_cmd_vtysh,
19635 + "no aggregate-address A.B.C.D/M as-set summary-only",
19636 + "Negate a command or set its defaults\n"
19637 + "Configure BGP aggregate entries\n"
19638 + "Aggregate prefix\n"
19639 + "Generate AS set path information\n"
19640 + "Filter more specific routes from updates\n")
19642 +DEFSH (VTYSH_ZEBRA, shutdown_if_cmd_vtysh,
19643 + "shutdown",
19644 + "Shutdown the selected interface\n")
19646 +DEFSH (VTYSH_BGPD, no_bgp_bestpath_med2_cmd_vtysh,
19647 + "no bgp bestpath med confed missing-as-worst",
19648 + "Negate a command or set its defaults\n"
19649 + "BGP specific commands\n"
19650 + "Change the default bestpath selection\n"
19651 + "MED attribute\n"
19652 + "Compare MED among confederation paths\n"
19653 + "Treat missing MED as the least preferred one\n")
19655 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_ip_prefix_list_description_arg_cmd_vtysh,
19656 + "no ip prefix-list WORD description .LINE",
19657 + "Negate a command or set its defaults\n"
19658 + "IP information\n"
19659 + "Build a prefix list\n"
19660 + "Name of a prefix list\n"
19661 + "Prefix-list specific description\n"
19662 + "Up to 80 characters describing this prefix-list\n")
19664 +DEFSH (VTYSH_BGPD, undebug_bgp_fsm_cmd_vtysh,
19665 + "undebug bgp fsm",
19666 + "Disable debugging functions (see also 'debug')\n"
19667 + "Debugging functions (see also 'undebug')\n"
19668 + "BGP information\n"
19669 + "Finite State Machine\n")
19671 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_in_cmd_vtysh,
19672 + "clear ip bgp * in",
19673 + "Reset functions\n"
19674 + "IP information\n"
19675 + "BGP information\n"
19676 + "Clear all peers\n"
19677 + "Soft reconfig inbound update\n")
19679 +DEFSH (VTYSH_OSPFD, ospf_neighbor_priority_poll_interval_cmd_vtysh,
19680 + "neighbor A.B.C.D priority <0-255> poll-interval <1-65535>",
19681 + "Specify neighbor router\n"
19682 + "Neighbor IP address\n"
19683 + "Neighbor Priority\n"
19684 + "Priority\n"
19685 + "Dead Neighbor Polling interval\n"
19686 + "Seconds\n")
19688 +DEFSH (VTYSH_BGPD, no_router_bgp_view_cmd_vtysh,
19689 + "no router bgp <1-65535> view WORD",
19690 + "Negate a command or set its defaults\n"
19691 + "Enable a routing process\n"
19692 + "BGP information\n"
19693 + "AS number\n"
19694 + "BGP view\n"
19695 + "view name\n")
19697 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_vpnv4_soft_cmd_vtysh,
19698 + "clear ip bgp <1-65535> vpnv4 unicast soft",
19699 + "Reset functions\n"
19700 + "IP information\n"
19701 + "BGP information\n"
19702 + "Clear peers with the AS number\n"
19703 + "Address family\n"
19704 + "Address Family Modifier\n"
19705 + "Soft reconfig\n")
19707 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_ipv4_soft_cmd_vtysh,
19708 + "clear ip bgp <1-65535> ipv4 (unicast|multicast) soft",
19709 + "Reset functions\n"
19710 + "IP information\n"
19711 + "BGP information\n"
19712 + "Clear peers with the AS number\n"
19713 + "Address family\n"
19714 + "Address Family Modifier\n"
19715 + "Address Family Modifier\n"
19716 + "Soft reconfig\n")
19718 +DEFSH (VTYSH_RIPNGD, no_ipv6_ripng_split_horizon_poisoned_reverse_cmd_vtysh,
19719 + "no ipv6 ripng split-horizon poisoned-reverse",
19720 + "Negate a command or set its defaults\n"
19721 + "IPv6 information\n"
19722 + "Routing Information Protocol\n"
19723 + "Perform split horizon\n"
19724 + "With poisoned-reverse\n")
19726 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_ipv4_out_cmd_vtysh,
19727 + "clear ip bgp * ipv4 (unicast|multicast) out",
19728 + "Reset functions\n"
19729 + "IP information\n"
19730 + "BGP information\n"
19731 + "Clear all peers\n"
19732 + "Address family\n"
19733 + "Address Family modifier\n"
19734 + "Address Family modifier\n"
19735 + "Soft reconfig outbound update\n")
19737 +DEFSH (VTYSH_OSPFD, no_ip_ospf_transmit_delay_addr_cmd_vtysh,
19738 + "no ip ospf transmit-delay A.B.C.D",
19739 + "Negate a command or set its defaults\n"
19740 + "IP Information\n"
19741 + "OSPF interface commands\n"
19742 + "Link state transmit delay\n"
19743 + "Address of interface")
19745 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, clear_ipv6_prefix_list_name_cmd_vtysh,
19746 + "clear ipv6 prefix-list WORD",
19747 + "Reset functions\n"
19748 + "IPv6 information\n"
19749 + "Build a prefix list\n"
19750 + "Name of a prefix list\n")
19752 +DEFSH (VTYSH_OSPF6D, reload_cmd_vtysh,
19753 + "reload",
19754 + "Reloads\n")
19756 +DEFSH (VTYSH_BGPD, clear_bgp_instance_all_cmd_vtysh,
19757 + "clear bgp view WORD *",
19758 + "Reset functions\n"
19759 + "BGP information\n"
19760 + "BGP view\n"
19761 + "view name\n"
19762 + "Clear all peers\n")
19764 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD, no_set_tag_cmd_vtysh,
19765 + "no set tag",
19766 + "Negate a command or set its defaults\n"
19767 + "Set values in destination routing protocol\n"
19768 + "Tag value for routing protocol\n")
19770 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_peer_group_soft_cmd_vtysh,
19771 + "clear bgp ipv6 peer-group WORD soft",
19772 + "Reset functions\n"
19773 + "BGP information\n"
19774 + "Address family\n"
19775 + "Clear all members of peer-group\n"
19776 + "BGP peer-group name\n"
19777 + "Soft reconfig\n")
19779 +DEFSH (VTYSH_RIPNGD, no_debug_ripng_packet_cmd_vtysh,
19780 + "no debug ripng packet",
19781 + "Negate a command or set its defaults\n"
19782 + "Debugging functions (see also 'undebug')\n"
19783 + "RIPng configuration\n"
19784 + "Debug option set for ripng packet\n")
19786 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_standard_nomask_cmd_vtysh,
19787 + "no access-list (<1-99>|<1300-1999>) (deny|permit) A.B.C.D",
19788 + "Negate a command or set its defaults\n"
19789 + "Add an access list entry\n"
19790 + "IP standard access list\n"
19791 + "IP standard access list (expanded range)\n"
19792 + "Specify packets to reject\n"
19793 + "Specify packets to forward\n"
19794 + "Address to match\n")
19796 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, show_ip_prefix_list_detail_name_cmd_vtysh,
19797 + "show ip prefix-list detail WORD",
19798 + "Show running system information\n"
19799 + "IP information\n"
19800 + "Build a prefix list\n"
19801 + "Detail of prefix lists\n"
19802 + "Name of a prefix list\n")
19804 +DEFSH (VTYSH_BGPD, clear_bgp_external_in_cmd_vtysh,
19805 + "clear bgp external in",
19806 + "Reset functions\n"
19807 + "BGP information\n"
19808 + "Clear all external peers\n"
19809 + "Soft reconfig inbound update\n")
19811 +DEFSH (VTYSH_OSPF6D, no_redistribute_ospf6_cmd_vtysh,
19812 + "no redistribute ospf6",
19813 + "Negate a command or set its defaults\n"
19814 + "Redistribute control\n"
19815 + "OSPF6 route\n")
19817 +DEFSH (VTYSH_BGPD, clear_bgp_external_soft_in_cmd_vtysh,
19818 + "clear bgp external soft in",
19819 + "Reset functions\n"
19820 + "BGP information\n"
19821 + "Clear all external peers\n"
19822 + "Soft reconfig\n"
19823 + "Soft reconfig inbound update\n")
19825 +DEFSH (VTYSH_OSPFD, no_ospf_distance_cmd_vtysh,
19826 + "no distance <1-255>",
19827 + "Negate a command or set its defaults\n"
19828 + "Define an administrative distance\n"
19829 + "OSPF Administrative distance\n")
19831 +DEFSH (VTYSH_BGPD, no_bgp_default_local_preference_val_cmd_vtysh,
19832 + "no bgp default local-preference <0-4294967295>",
19833 + "Negate a command or set its defaults\n"
19834 + "BGP specific commands\n"
19835 + "Configure BGP defaults\n"
19836 + "local preference (higher=more preferred)\n"
19837 + "Configure default local preference value\n")
19839 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_always_metric_type_routemap_cmd_vtysh,
19840 + "default-information originate always metric <0-16777214> metric-type (1|2) route-map WORD",
19841 + "Control distribution of default information\n"
19842 + "Distribute a default route\n"
19843 + "Always advertise default route\n"
19844 + "OSPF default metric\n"
19845 + "OSPF metric\n"
19846 + "OSPF metric type for default routes\n"
19847 + "Set OSPF External Type 1 metrics\n"
19848 + "Set OSPF External Type 2 metrics\n"
19849 + "Route map reference\n"
19850 + "Pointer to route-map entries\n")
19852 +DEFSH (VTYSH_OSPFD, no_debug_ospf_zebra_sub_cmd_vtysh,
19853 + "no debug ospf zebra (interface|redistribute)",
19854 + "Negate a command or set its defaults\n"
19855 + "Debugging functions (see also 'undebug')\n"
19856 + "OSPF information\n"
19857 + "OSPF Zebra information\n"
19858 + "Zebra interface\n"
19859 + "Zebra redistribute\n")
19861 +DEFSH (VTYSH_BGPD, no_ip_community_list_all_cmd_vtysh,
19862 + "no ip community-list (WORD|<1-99>|<100-199>)",
19863 + "Negate a command or set its defaults\n"
19864 + "IP information\n"
19865 + "Add a community list entry\n"
19866 + "Community list name\n"
19867 + "Community list number (standard)\n"
19868 + "Community list number (expanded)\n")
19870 +DEFSH (VTYSH_RIPNGD, no_ipv6_ripng_split_horizon_cmd_vtysh,
19871 + "no ipv6 ripng split-horizon",
19872 + "Negate a command or set its defaults\n"
19873 + "IPv6 information\n"
19874 + "Routing Information Protocol\n"
19875 + "Perform split horizon\n")
19877 +DEFSH (VTYSH_BGPD, neighbor_route_map_cmd_vtysh,
19878 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "route-map WORD (in|out)",
19879 + "Specify neighbor router\n"
19880 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
19881 + "Apply route map to neighbor\n"
19882 + "Name of route map\n"
19883 + "Apply map to incoming routes\n"
19884 + "Apply map to outbound routes\n")
19886 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD, no_match_tag_cmd_vtysh,
19887 + "no match tag",
19888 + "Negate a command or set its defaults\n"
19889 + "Match values from routing table\n"
19890 + "Match tag of route\n")
19892 +DEFSH (VTYSH_OSPFD, no_ip_ospf_message_digest_key_addr_cmd_vtysh,
19893 + "no ip ospf message-digest-key <1-255> A.B.C.D",
19894 + "Negate a command or set its defaults\n"
19895 + "IP Information\n"
19896 + "OSPF interface commands\n"
19897 + "Message digest authentication password (key)\n"
19898 + "Key ID\n"
19899 + "Address of interface")
19901 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD, match_tag_cmd_vtysh,
19902 + "match tag <0-65535>",
19903 + "Match values from routing table\n"
19904 + "Match tag of route\n"
19905 + "Metric value\n")
19907 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_area_spf_tree_cmd_vtysh,
19908 + "show ipv6 ospf6 area A.B.C.D spf tree",
19909 + "Show running system information\n"
19910 + "IPv6 Information\n"
19911 + "Open Shortest Path First (OSPF) for IPv6\n"
19912 + "Area information\n"
19913 + "Area ID (as an IPv4 notation)\n"
19914 + "Shortest Path First caculation\n"
19915 + "Displays spf tree\n")
19917 +DEFSH (VTYSH_OSPF6D, ipv6_ospf6_advertise_force_prefix_cmd_vtysh,
19918 + "ipv6 ospf6 advertise force-prefix",
19919 + "IPv6 Information\n"
19920 + "Open Shortest Path First (OSPF) for IPv6\n"
19921 + "Advertising options\n"
19922 + "Force advertising prefix, applicable if Loopback or P-to-P\n"
19925 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_community2_cmd_vtysh,
19926 + "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
19927 + "Show running system information\n"
19928 + "IPv6 information\n"
19929 + "BGP information\n"
19930 + "Display routes matching the communities\n"
19931 + "community number\n"
19932 + "Do not send outside local AS (well-known community)\n"
19933 + "Do not advertise to any peer (well-known community)\n"
19934 + "Do not export to next AS (well-known community)\n"
19935 + "community number\n"
19936 + "Do not send outside local AS (well-known community)\n"
19937 + "Do not advertise to any peer (well-known community)\n"
19938 + "Do not export to next AS (well-known community)\n")
19940 +DEFSH (VTYSH_BGPD, no_neighbor_activate_cmd_vtysh,
19941 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "activate",
19942 + "Negate a command or set its defaults\n"
19943 + "Specify neighbor router\n"
19944 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
19945 + "Enable the Address Family for this Neighbor\n")
19947 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_all_in_prefix_filter_cmd_vtysh,
19948 + "clear bgp ipv6 * in prefix-filter",
19949 + "Reset functions\n"
19950 + "BGP information\n"
19951 + "Address family\n"
19952 + "Clear all peers\n"
19953 + "Soft reconfig inbound update\n"
19954 + "Push out prefix-list ORF and do inbound soft reconfig\n")
19956 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_route_flapping_cmd_vtysh,
19957 + "show ipv6 ospf6 route flapping",
19958 + "Show running system information\n"
19959 + "IPv6 Information\n"
19960 + "Open Shortest Path First (OSPF) for IPv6\n")
19962 +DEFSH (VTYSH_BGPD, no_neighbor_attr_unchanged6_cmd_vtysh,
19963 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged as-path med next-hop",
19964 + "Negate a command or set its defaults\n"
19965 + "Specify neighbor router\n"
19966 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
19967 + "BGP attribute is propagated unchanged to this neighbor\n"
19968 + "As-path attribute\n"
19969 + "Med attribute\n"
19970 + "Nexthop attribute\n")
19972 +DEFSH (VTYSH_OSPFD, ip_ospf_retransmit_interval_addr_cmd_vtysh,
19973 + "ip ospf retransmit-interval <3-65535> A.B.C.D",
19974 + "IP Information\n"
19975 + "OSPF interface commands\n"
19976 + "Time between retransmitting lost link state advertisements\n"
19977 + "Seconds\n"
19978 + "Address of interface")
19980 +DEFSH (VTYSH_OSPFD, ospf_passive_interface_cmd_vtysh,
19981 + "passive-interface IFNAME",
19982 + "Suppress routing updates on an interface\n"
19983 + "Interface's name\n")
19985 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, ip_prefix_list_seq_le_cmd_vtysh,
19986 + "ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M le <0-32>",
19987 + "IP information\n"
19988 + "Build a prefix list\n"
19989 + "Name of a prefix list\n"
19990 + "sequence number of an entry\n"
19991 + "Sequence number\n"
19992 + "Specify packets to reject\n"
19993 + "Specify packets to forward\n"
19994 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
19995 + "Maximum prefix length to be matched\n"
19996 + "Maximum prefix length\n")
19998 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_exact_cmd_vtysh,
19999 + "access-list WORD (deny|permit) A.B.C.D/M exact-match",
20000 + "Add an access list entry\n"
20001 + "IP zebra access-list name\n"
20002 + "Specify packets to reject\n"
20003 + "Specify packets to forward\n"
20004 + "Prefix to match. e.g. 10.0.0.0/8\n"
20005 + "Exact match of the prefixes\n")
20007 +DEFSH (VTYSH_BGPD, show_bgp_view_neighbor_received_routes_cmd_vtysh,
20008 + "show bgp view WORD neighbors (A.B.C.D|X:X::X:X) received-routes",
20009 + "Show running system information\n"
20010 + "BGP information\n"
20011 + "BGP view\n"
20012 + "View name\n"
20013 + "Detailed information on TCP and BGP neighbor connections\n"
20014 + "Neighbor to display information about\n"
20015 + "Neighbor to display information about\n"
20016 + "Display the received routes from neighbor\n")
20018 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_area_route_prefix_cmd_vtysh,
20019 + "show ipv6 ospf6 area A.B.C.D route (X::X|detail)",
20020 + "Show running system information\n"
20021 + "IPv6 Information\n"
20022 + "Open Shortest Path First (OSPF) for IPv6\n"
20023 + "Area information\n"
20024 + "Area ID (as an IPv4 notation)\n"
20025 + "Routing Table\n"
20026 + "Specify IPv6 address\n"
20027 + "Detailed information\n"
20030 +DEFSH (VTYSH_OSPFD, ospf_area_range_substitute_cmd_vtysh,
20031 + "area (A.B.C.D|<0-4294967295>) range A.B.C.D/M substitute A.B.C.D/M",
20032 + "OSPF area parameters\n"
20033 + "OSPF area ID in IP address format\n"
20034 + "OSPF area ID as a decimal value\n"
20035 + "Summarize routes matching address/mask (border routers only)\n"
20036 + "Area range prefix\n"
20037 + "Announce area range as another prefix\n"
20038 + "Network prefix to be announced instead of range\n")
20040 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD, rmap_onmatch_next_cmd_vtysh,
20041 + "on-match next",
20042 + "Exit policy on matches\n"
20043 + "Next clause\n")
20045 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_topology_router_cmd_vtysh,
20046 + "show ipv6 ospf6 topology (A.B.C.D|<0-4294967295>|detail)",
20047 + "Show running system information\n"
20048 + "IPv6 Information\n"
20049 + "Open Shortest Path First (OSPF) for IPv6\n"
20050 + "Inter Area topology information\n"
20051 + "Specify Router-ID\n"
20052 + "Specify Router-ID\n"
20053 + "Detailed information\n"
20056 +DEFSH (VTYSH_BGPD, clear_ip_bgp_external_cmd_vtysh,
20057 + "clear ip bgp external",
20058 + "Reset functions\n"
20059 + "IP information\n"
20060 + "BGP information\n"
20061 + "Clear all external peers\n")
20063 +DEFSH (VTYSH_BGPD, bgp_default_local_preference_cmd_vtysh,
20064 + "bgp default local-preference <0-4294967295>",
20065 + "BGP specific commands\n"
20066 + "Configure BGP defaults\n"
20067 + "local preference (higher=more preferred)\n"
20068 + "Configure default local preference value\n")
20070 +DEFSH (VTYSH_BGPD, no_router_bgp_cmd_vtysh,
20071 + "no router bgp <1-65535>",
20072 + "Negate a command or set its defaults\n"
20073 + "Enable a routing process\n"
20074 + "BGP information\n"
20075 + "AS number\n")
20077 +DEFSH (VTYSH_BGPD, no_neighbor_route_map_cmd_vtysh,
20078 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "route-map WORD (in|out)",
20079 + "Negate a command or set its defaults\n"
20080 + "Specify neighbor router\n"
20081 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
20082 + "Apply route map to neighbor\n"
20083 + "Name of route map\n"
20084 + "Apply map to incoming routes\n"
20085 + "Apply map to outbound routes\n")
20087 +DEFSH (VTYSH_BGPD, bgp_fast_external_failover_cmd_vtysh,
20088 + "bgp fast-external-failover",
20089 + "BGP information\n"
20090 + "Immediately reset session if a link to a directly connected external peer goes down\n")
20092 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_route_prefix_cmd_vtysh,
20093 + "show ipv6 ospf6 route (X::X|detail)",
20094 + "Show running system information\n"
20095 + "IPv6 Information\n"
20096 + "Open Shortest Path First (OSPF) for IPv6\n"
20097 + "Routing table\n"
20098 + "match IPv6 prefix\n"
20101 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_prefix_longer_cmd_vtysh,
20102 + "show ipv6 bgp X:X::X:X/M longer-prefixes",
20103 + "Show running system information\n"
20104 + "IPv6 information\n"
20105 + "BGP information\n"
20106 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
20107 + "Display route and more specific routes\n")
20109 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_always_metric_cmd_vtysh,
20110 + "default-information originate always metric <0-16777214>",
20111 + "Control distribution of default information\n"
20112 + "Distribute a default route\n"
20113 + "Always advertise default route\n"
20114 + "OSPF default metric\n"
20115 + "OSPF metric\n"
20116 + "OSPF metric type for default routes\n")
20118 +DEFSH (VTYSH_BGPD, no_match_ecommunity_val_cmd_vtysh,
20119 + "no match extcommunity (<1-99>|<100-199>|WORD)",
20120 + "Negate a command or set its defaults\n"
20121 + "Match values from routing table\n"
20122 + "Match BGP/VPN extended community list\n"
20123 + "Extended community-list number (standard)\n"
20124 + "Extended community-list number (expanded)\n"
20125 + "Extended community-list name\n")
20127 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_external_out_cmd_vtysh,
20128 + "clear bgp ipv6 external WORD out",
20129 + "Reset functions\n"
20130 + "BGP information\n"
20131 + "Address family\n"
20132 + "Clear all external peers\n"
20133 + "Soft reconfig outbound update\n")
20135 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, match_ip_address_prefix_list_cmd_vtysh,
20136 + "match ip address prefix-list WORD",
20137 + "Match values from routing table\n"
20138 + "IP information\n"
20139 + "Match address of route\n"
20140 + "Match entries of prefix-lists\n"
20141 + "IP prefix-list name\n")
20143 +DEFSH (VTYSH_BGPD, ipv6_aggregate_address_summary_only_cmd_vtysh,
20144 + "aggregate-address X:X::X:X/M summary-only",
20145 + "Configure BGP aggregate entries\n"
20146 + "Aggregate prefix\n"
20147 + "Filter more specific routes from updates\n")
20149 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_standard_nomask_cmd_vtysh,
20150 + "access-list (<1-99>|<1300-1999>) (deny|permit) A.B.C.D",
20151 + "Add an access list entry\n"
20152 + "IP standard access list\n"
20153 + "IP standard access list (expanded range)\n"
20154 + "Specify packets to reject\n"
20155 + "Specify packets to forward\n"
20156 + "Address to match\n")
20158 +DEFSH (VTYSH_BGPD, clear_bgp_ipv6_external_soft_in_cmd_vtysh,
20159 + "clear bgp ipv6 external soft in",
20160 + "Reset functions\n"
20161 + "BGP information\n"
20162 + "Address family\n"
20163 + "Clear all external peers\n"
20164 + "Soft reconfig\n"
20165 + "Soft reconfig inbound update\n")
20167 +DEFSH (VTYSH_RIPD, accept_lifetime_infinite_month_day_cmd_vtysh,
20168 + "accept-lifetime HH:MM:SS MONTH <1-31> <1993-2035> infinite",
20169 + "Set accept lifetime of the key\n"
20170 + "Time to start\n"
20171 + "Month of the year to start\n"
20172 + "Day of th month to start\n"
20173 + "Year to start\n"
20174 + "Never expires")
20176 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_neighbor_advertised_route_cmd_vtysh,
20177 + "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) advertised-routes",
20178 + "Show running system information\n"
20179 + "IP information\n"
20180 + "BGP information\n"
20181 + "Address family\n"
20182 + "Address Family modifier\n"
20183 + "Address Family modifier\n"
20184 + "Detailed information on TCP and BGP neighbor connections\n"
20185 + "Neighbor to display information about\n"
20186 + "Neighbor to display information about\n"
20187 + "Display the routes advertised to a BGP neighbor\n")
20189 +DEFSH (VTYSH_BGPD, clear_ip_bgp_peer_group_ipv4_soft_cmd_vtysh,
20190 + "clear ip bgp peer-group WORD ipv4 (unicast|multicast) soft",
20191 + "Reset functions\n"
20192 + "IP information\n"
20193 + "BGP information\n"
20194 + "Clear all members of peer-group\n"
20195 + "BGP peer-group name\n"
20196 + "Address family\n"
20197 + "Address Family modifier\n"
20198 + "Address Family modifier\n"
20199 + "Soft reconfig\n")
20201 +DEFSH (VTYSH_OSPFD, no_ospf_transmit_delay_cmd_vtysh,
20202 + "no ospf transmit-delay",
20203 + "Negate a command or set its defaults\n"
20204 + "OSPF interface commands\n"
20205 + "Link state transmit delay\n")
20207 +DEFSH (VTYSH_BGPD, show_ip_bgp_vpnv4_rd_cmd_vtysh,
20208 + "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn",
20209 + "Show running system information\n"
20210 + "IP information\n"
20211 + "BGP information\n"
20212 + "Display VPNv4 NLRI specific information\n"
20213 + "Display information for a route distinguisher\n"
20214 + "VPN Route Distinguisher\n")
20216 +DEFSH (VTYSH_BGPD, bgp_enforce_first_as_cmd_vtysh,
20217 + "bgp enforce-first-as",
20218 + "BGP information\n"
20219 + "Enforce the first AS for EBGP routes\n")
20221 +DEFSH (VTYSH_BGPD, no_bgp_router_id_val_cmd_vtysh,
20222 + "no bgp router-id A.B.C.D",
20223 + "Negate a command or set its defaults\n"
20224 + "BGP information\n"
20225 + "Override configured router identifier\n"
20226 + "Manually configured router identifier\n")
20228 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_route_map_cmd_vtysh,
20229 + "show bgp ipv6 route-map WORD",
20230 + "Show running system information\n"
20231 + "BGP information\n"
20232 + "Address family\n"
20233 + "Display routes matching the route-map\n"
20234 + "A route-map to match on\n")
20236 +DEFSH (VTYSH_OSPFD, ip_ospf_message_digest_key_addr_cmd_vtysh,
20237 + "ip ospf message-digest-key <1-255> md5 KEY A.B.C.D",
20238 + "IP Information\n"
20239 + "OSPF interface commands\n"
20240 + "Message digest authentication password (key)\n"
20241 + "Key ID\n"
20242 + "Use MD5 algorithm\n"
20243 + "The OSPF password (key)"
20244 + "Address of interface")
20246 +DEFSH (VTYSH_RIPD, ip_rip_split_horizon_cmd_vtysh,
20247 + "ip rip split-horizon",
20248 + "IP information\n"
20249 + "Routing Information Protocol\n"
20250 + "Perform split horizon\n")
20252 +DEFSH (VTYSH_BGPD, bgp_redistribute_ipv6_rmap_cmd_vtysh,
20253 + "redistribute (connected|kernel|ospf6|ripng|static) route-map WORD",
20254 + "Redistribute information from another routing protocol\n"
20255 + "Connected\n"
20256 + "Kernel routes\n"
20257 + "Open Shurtest Path First (OSPFv3)\n"
20258 + "Routing Information Protocol (RIPng)\n"
20259 + "Static routes\n"
20260 + "Route map reference\n"
20261 + "Pointer to route-map entries\n")
20263 +DEFSH (VTYSH_RIPD, send_lifetime_infinite_day_month_cmd_vtysh,
20264 + "send-lifetime HH:MM:SS <1-31> MONTH <1993-2035> infinite",
20265 + "Set send lifetime of the key\n"
20266 + "Time to start\n"
20267 + "Day of th month to start\n"
20268 + "Month of the year to start\n"
20269 + "Year to start\n"
20270 + "Never expires")
20272 +DEFSH (VTYSH_BGPD, no_neighbor_attr_unchanged4_cmd_vtysh,
20273 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged med (as-path|next-hop)",
20274 + "Negate a command or set its defaults\n"
20275 + "Specify neighbor router\n"
20276 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
20277 + "BGP attribute is propagated unchanged to this neighbor\n"
20278 + "Med attribute\n"
20279 + "As-path attribute\n"
20280 + "Nexthop attribute\n")
20282 +DEFSH (VTYSH_BGPD, clear_bgp_as_in_cmd_vtysh,
20283 + "clear bgp <1-65535> in",
20284 + "Reset functions\n"
20285 + "BGP information\n"
20286 + "Clear peers with the AS number\n"
20287 + "Soft reconfig inbound update\n")
20289 +DEFSH (VTYSH_BGPD, no_aggregate_address_summary_only_cmd_vtysh,
20290 + "no aggregate-address A.B.C.D/M summary-only",
20291 + "Negate a command or set its defaults\n"
20292 + "Configure BGP aggregate entries\n"
20293 + "Aggregate prefix\n"
20294 + "Filter more specific routes from updates\n")
20296 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, show_ipv6_prefix_list_prefix_longer_cmd_vtysh,
20297 + "show ipv6 prefix-list WORD X:X::X:X/M longer",
20298 + "Show running system information\n"
20299 + "IPv6 information\n"
20300 + "Build a prefix list\n"
20301 + "Name of a prefix list\n"
20302 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
20303 + "Lookup longer prefix\n")
20305 +DEFSH (VTYSH_OSPF6D, ospf6_passive_interface_cmd_vtysh,
20306 + "passive-interface IFNAME",
20307 + "Suppress routing updates on an interface\n"
20308 + "Interface name(e.g. ep0)\n")
20310 +DEFSH (VTYSH_OSPF6D, no_ospf6_redistribute_cmd_vtysh,
20311 + "no redistribute (static|kernel|connected|ripng|bgp)",
20312 + "Negate a command or set its defaults\n"
20313 + "Redistribute\n"
20314 + "Static route\n"
20315 + "Kernel route\n"
20316 + "Connected route\n"
20317 + "RIPng route\n"
20318 + "BGP route\n"
20321 +DEFSH (VTYSH_BGPD, no_aggregate_address_mask_summary_only_cmd_vtysh,
20322 + "no aggregate-address A.B.C.D A.B.C.D summary-only",
20323 + "Negate a command or set its defaults\n"
20324 + "Configure BGP aggregate entries\n"
20325 + "Aggregate address\n"
20326 + "Aggregate mask\n"
20327 + "Filter more specific routes from updates\n")
20329 +DEFSH (VTYSH_BGPD, neighbor_timers_connect_cmd_vtysh,
20330 + "neighbor (A.B.C.D|X:X::X:X) " "timers connect <0-65535>",
20331 + "Specify neighbor router\n"
20332 + "Neighbor address\nIPv6 address\n"
20333 + "BGP per neighbor timers\n"
20334 + "BGP connect timer\n"
20335 + "Connect timer\n")
20337 +DEFSH (VTYSH_BGPD, bgp_default_ipv4_unicast_cmd_vtysh,
20338 + "bgp default ipv4-unicast",
20339 + "BGP specific commands\n"
20340 + "Configure BGP defaults\n"
20341 + "Activate ipv4-unicast for a peer by default\n")
20343 +DEFSH (VTYSH_BGPD, neighbor_filter_list_cmd_vtysh,
20344 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "filter-list WORD (in|out)",
20345 + "Specify neighbor router\n"
20346 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
20347 + "Establish BGP filters\n"
20348 + "AS path access-list name\n"
20349 + "Filter incoming routes\n"
20350 + "Filter outgoing routes\n")
20352 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_soft_in_cmd_vtysh,
20353 + "clear ip bgp * soft in",
20354 + "Reset functions\n"
20355 + "IP information\n"
20356 + "BGP information\n"
20357 + "Clear all peers\n"
20358 + "Soft reconfig\n"
20359 + "Soft reconfig inbound update\n")
20361 +DEFSH (VTYSH_OSPFD, no_debug_ospf_event_cmd_vtysh,
20362 + "no debug ospf event",
20363 + "Negate a command or set its defaults\n"
20364 + "Debugging functions (see also 'undebug')\n"
20365 + "OSPF information\n"
20366 + "OSPF event information\n")
20368 +DEFSH (VTYSH_BGPD, bgp_redistribute_ipv4_rmap_metric_cmd_vtysh,
20369 + "redistribute (connected|kernel|ospf|rip|static) route-map WORD metric <0-4294967295>",
20370 + "Redistribute information from another routing protocol\n"
20371 + "Connected\n"
20372 + "Kernel routes\n"
20373 + "Open Shurtest Path First (OSPF)\n"
20374 + "Routing Information Protocol (RIP)\n"
20375 + "Static routes\n"
20376 + "Route map reference\n"
20377 + "Pointer to route-map entries\n"
20378 + "Metric for redistributed routes\n"
20379 + "Default metric\n")
20381 +DEFSH (VTYSH_BGPD, no_bgp_network_mask_natural_backdoor_cmd_vtysh,
20382 + "no network A.B.C.D backdoor",
20383 + "Negate a command or set its defaults\n"
20384 + "Specify a network to announce via BGP\n"
20385 + "Network number\n"
20386 + "Specify a BGP backdoor route\n")
20388 +DEFSH (VTYSH_BGPD, no_neighbor_attr_unchanged_cmd_vtysh,
20389 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged",
20390 + "Negate a command or set its defaults\n"
20391 + "Specify neighbor router\n"
20392 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
20393 + "BGP attribute is propagated unchanged to this neighbor\n")
20395 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_vpnv4_soft_in_cmd_vtysh,
20396 + "clear ip bgp <1-65535> vpnv4 unicast soft in",
20397 + "Reset functions\n"
20398 + "IP information\n"
20399 + "BGP information\n"
20400 + "Clear peers with the AS number\n"
20401 + "Address family\n"
20402 + "Address Family modifier\n"
20403 + "Soft reconfig\n"
20404 + "Soft reconfig inbound update\n")
20406 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD, no_set_tag_val_cmd_vtysh,
20407 + "no set tag <0-65535>",
20408 + "Negate a command or set its defaults\n"
20409 + "Set values in destination routing protocol\n"
20410 + "Tag value for routing protocol\n"
20411 + "Tag value\n")
20413 +DEFSH (VTYSH_ZEBRA, no_ip_route_flags_distance_cmd_vtysh,
20414 + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) <1-255>",
20415 + "Negate a command or set its defaults\n"
20416 + "IP information\n"
20417 + "Establish static routes\n"
20418 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
20419 + "IP gateway address\n"
20420 + "IP gateway interface name\n"
20421 + "Emit an ICMP unreachable when matched\n"
20422 + "Silently discard pkts when matched\n"
20423 + "Distance value for this route\n")
20425 +DEFSH (VTYSH_OSPFD, ospf_distance_ospf_intra_inter_external_cmd_vtysh,
20426 + "distance ospf intra-area <1-255> inter-area <1-255> external <1-255>",
20427 + "Define an administrative distance\n"
20428 + "OSPF Administrative distance\n"
20429 + "Intra-area routes\n"
20430 + "Distance for intra-area routes\n"
20431 + "Inter-area routes\n"
20432 + "Distance for inter-area routes\n"
20433 + "External routes\n"
20434 + "Distance for external routes\n")
20436 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_match_ip_next_hop_prefix_list_cmd_vtysh,
20437 + "no match ip next-hop prefix-list",
20438 + "Negate a command or set its defaults\n"
20439 + "Match values from routing table\n"
20440 + "IP information\n"
20441 + "Match next-hop address of route\n"
20442 + "Match entries of prefix-lists\n")
20444 +DEFSH (VTYSH_ZEBRA, ip_route_flags2_cmd_vtysh,
20445 + "ip route A.B.C.D/M (reject|blackhole)",
20446 + "IP information\n"
20447 + "Establish static routes\n"
20448 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
20449 + "Emit an ICMP unreachable when matched\n"
20450 + "Silently discard pkts when matched\n")
20452 +DEFSH (VTYSH_OSPFD, ospf_default_information_originate_always_cmd_vtysh,
20453 + "default-information originate always",
20454 + "Control distribution of default information\n"
20455 + "Distribute a default route\n"
20456 + "Always advertise default route\n")
20458 +DEFSH (VTYSH_BGPD, clear_ip_bgp_external_ipv4_soft_out_cmd_vtysh,
20459 + "clear ip bgp external ipv4 (unicast|multicast) soft out",
20460 + "Reset functions\n"
20461 + "IP information\n"
20462 + "BGP information\n"
20463 + "Clear all external peers\n"
20464 + "Address family\n"
20465 + "Address Family modifier\n"
20466 + "Address Family modifier\n"
20467 + "Soft reconfig\n"
20468 + "Soft reconfig outbound update\n")
20470 +DEFSH (VTYSH_ZEBRA, show_ip_forwarding_cmd_vtysh,
20471 + "show ip forwarding",
20472 + "Show running system information\n"
20473 + "IP information\n"
20474 + "IP forwarding status\n")
20476 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_vpnv4_soft_out_cmd_vtysh,
20477 + "clear ip bgp <1-65535> vpnv4 unicast soft out",
20478 + "Reset functions\n"
20479 + "IP information\n"
20480 + "BGP information\n"
20481 + "Clear peers with the AS number\n"
20482 + "Address family\n"
20483 + "Address Family modifier\n"
20484 + "Soft reconfig\n"
20485 + "Soft reconfig outbound update\n")
20487 +DEFSH (VTYSH_OSPF6D, show_debug_ospf6_damp_cmd_vtysh,
20488 + "show debugging ospf6 damp",
20489 + "Show running system information\n"
20490 + "Debugging functions (see also 'undebug')\n"
20491 + "Open Shortest Path First (OSPF) for IPv6\n"
20492 + "Flap-dampening information\n"
20495 +DEFSH (VTYSH_BGPD, no_bgp_scan_time_val_cmd_vtysh,
20496 + "no bgp scan-time <5-60>",
20497 + "Negate a command or set its defaults\n"
20498 + "BGP specific commands\n"
20499 + "Configure background scanner interval\n"
20500 + "Scanner interval (seconds)\n")
20502 +DEFSH (VTYSH_BGPD, bgp_damp_set2_cmd_vtysh,
20503 + "bgp dampening <1-45>",
20504 + "BGP Specific commands\n"
20505 + "Enable route-flap dampening\n"
20506 + "Half-life time for the penalty\n")
20508 +DEFSH (VTYSH_RIPNGD, ripng_redistribute_type_routemap_cmd_vtysh,
20509 + "redistribute (kernel|connected|static|ospf6|bgp) route-map WORD",
20510 + "Redistribute information from another routing protocol\n"
20511 + "Kernel routes\n"
20512 + "Connected\n"
20513 + "Static routes\n"
20514 + "Open Shortest Path First (OSPFv3)\n"
20515 + "Border Gateway Protocol (BGP)\n"
20516 + "Route map reference\n"
20517 + "Pointer to route-map entries\n")
20519 +DEFSH (VTYSH_BGPD, bgp_bestpath_med3_cmd_vtysh,
20520 + "bgp bestpath med missing-as-worst confed",
20521 + "BGP specific commands\n"
20522 + "Change the default bestpath selection\n"
20523 + "MED attribute\n"
20524 + "Treat missing MED as the least preferred one\n"
20525 + "Compare MED among confederation paths\n")
20527 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_summary_cmd_vtysh,
20528 + "show ipv6 bgp summary",
20529 + "Show running system information\n"
20530 + "IPv6 information\n"
20531 + "BGP information\n"
20532 + "Summary of BGP neighbor status\n")
20534 +DEFSH (VTYSH_BGPD, no_bgp_redistribute_ipv4_rmap_cmd_vtysh,
20535 + "no redistribute (connected|kernel|ospf|rip|static) route-map WORD",
20536 + "Negate a command or set its defaults\n"
20537 + "Redistribute information from another routing protocol\n"
20538 + "Connected\n"
20539 + "Kernel routes\n"
20540 + "Open Shurtest Path First (OSPF)\n"
20541 + "Routing Information Protocol (RIP)\n"
20542 + "Static routes\n"
20543 + "Route map reference\n"
20544 + "Pointer to route-map entries\n")
20546 +DEFSH (VTYSH_BGPD, neighbor_timers_cmd_vtysh,
20547 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "timers <0-65535> <0-65535>",
20548 + "Specify neighbor router\n"
20549 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
20550 + "BGP per neighbor timers\n"
20551 + "Keepalive interval\n"
20552 + "Holdtime\n")
20554 +DEFSH (VTYSH_OSPFD, no_ospf_neighbor_poll_interval_cmd_vtysh,
20555 + "no neighbor A.B.C.D poll-interval <1-65535>",
20556 + "Negate a command or set its defaults\n"
20557 + "Specify neighbor router\n"
20558 + "Neighbor IP address\n"
20559 + "Dead Neighbor Polling interval\n"
20560 + "Seconds\n")
20562 +DEFSH (VTYSH_OSPFD, ospf_neighbor_poll_interval_priority_cmd_vtysh,
20563 + "neighbor A.B.C.D poll-interval <1-65535> priority <0-255>",
20564 + "Specify neighbor router\n"
20565 + "Neighbor address\n"
20566 + "OSPF dead-router polling interval\n"
20567 + "Seconds\n"
20568 + "OSPF priority of non-broadcast neighbor\n"
20569 + "Priority\n")
20571 +DEFSH (VTYSH_BGPD, no_ip_community_list_name_expanded_cmd_vtysh,
20572 + "no ip community-list expanded WORD (deny|permit) .LINE",
20573 + "Negate a command or set its defaults\n"
20574 + "IP information\n"
20575 + "Add a community list entry\n"
20576 + "Specify an expanded community-list\n"
20577 + "Community list name\n"
20578 + "Specify community to reject\n"
20579 + "Specify community to accept\n"
20580 + "An ordered list as a regular-expression\n")
20582 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_community4_cmd_vtysh,
20583 + "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)",
20584 + "Show running system information\n"
20585 + "IPv6 information\n"
20586 + "BGP information\n"
20587 + "Display routes matching the communities\n"
20588 + "community number\n"
20589 + "Do not send outside local AS (well-known community)\n"
20590 + "Do not advertise to any peer (well-known community)\n"
20591 + "Do not export to next AS (well-known community)\n"
20592 + "community number\n"
20593 + "Do not send outside local AS (well-known community)\n"
20594 + "Do not advertise to any peer (well-known community)\n"
20595 + "Do not export to next AS (well-known community)\n"
20596 + "community number\n"
20597 + "Do not send outside local AS (well-known community)\n"
20598 + "Do not advertise to any peer (well-known community)\n"
20599 + "Do not export to next AS (well-known community)\n"
20600 + "community number\n"
20601 + "Do not send outside local AS (well-known community)\n"
20602 + "Do not advertise to any peer (well-known community)\n"
20603 + "Do not export to next AS (well-known community)\n")
20605 +DEFSH (VTYSH_OSPF6D, show_ipv6_ospf6_neighbor_routerid_cmd_vtysh,
20606 + "show ipv6 ospf6 neighbor A.B.C.D",
20607 + "Show running system information\n"
20608 + "IPv6 Information\n"
20609 + "Open Shortest Path First (OSPF) for IPv6\n"
20610 + "Neighbor list\n"
20611 + "OSPF6 neighbor Router ID in IP address format\n"
20614 +DEFSH (VTYSH_RIPD, ip_rip_send_version_2_cmd_vtysh,
20615 + "ip rip send version 2 1",
20616 + "IP information\n"
20617 + "Routing Information Protocol\n"
20618 + "Advertisement transmission\n"
20619 + "Version control\n"
20620 + "RIP version 2\n"
20621 + "RIP version 1\n")
20623 +DEFSH (VTYSH_BGPD, no_set_origin_cmd_vtysh,
20624 + "no set origin",
20625 + "Negate a command or set its defaults\n"
20626 + "Set values in destination routing protocol\n"
20627 + "BGP origin code\n")
20629 +DEFSH (VTYSH_RIPD, no_debug_rip_packet_direct_cmd_vtysh,
20630 + "no debug rip packet (recv|send)",
20631 + "Negate a command or set its defaults\n"
20632 + "Debugging functions (see also 'undebug')\n"
20633 + "RIP information\n"
20634 + "RIP packet\n"
20635 + "RIP option set for receive packet\n"
20636 + "RIP option set for send packet\n")
20638 +DEFSH (VTYSH_BGPD, clear_bgp_all_in_prefix_filter_cmd_vtysh,
20639 + "clear bgp * in prefix-filter",
20640 + "Reset functions\n"
20641 + "BGP information\n"
20642 + "Clear all peers\n"
20643 + "Soft reconfig inbound update\n"
20644 + "Push out prefix-list ORF and do inbound soft reconfig\n")
20646 +DEFSH (VTYSH_BGPD, no_neighbor_interface_cmd_vtysh,
20647 + "no neighbor (A.B.C.D|X:X::X:X) " "interface WORD",
20648 + "Negate a command or set its defaults\n"
20649 + "Specify neighbor router\n"
20650 + "Neighbor address\nIPv6 address\n"
20651 + "Interface\n"
20652 + "Interface name\n")
20654 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_extended_host_any_cmd_vtysh,
20655 + "no access-list (<100-199>|<2000-2699>) (deny|permit) ip host A.B.C.D any",
20656 + "Negate a command or set its defaults\n"
20657 + "Add an access list entry\n"
20658 + "IP extended access list\n"
20659 + "IP extended access list (expanded range)\n"
20660 + "Specify packets to reject\n"
20661 + "Specify packets to forward\n"
20662 + "Any Internet Protocol\n"
20663 + "A single source host\n"
20664 + "Source address\n"
20665 + "Any destination host\n")
20667 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, access_list_extended_any_any_cmd_vtysh,
20668 + "access-list (<100-199>|<2000-2699>) (deny|permit) ip any any",
20669 + "Add an access list entry\n"
20670 + "IP extended access list\n"
20671 + "IP extended access list (expanded range)\n"
20672 + "Specify packets to reject\n"
20673 + "Specify packets to forward\n"
20674 + "Any Internet Protocol\n"
20675 + "Any source host\n"
20676 + "Any destination host\n")
20678 +DEFSH (VTYSH_OSPFD, no_ospf_distance_ospf_cmd_vtysh,
20679 + "no distance ospf",
20680 + "Negate a command or set its defaults\n"
20681 + "Define an administrative distance\n"
20682 + "OSPF Administrative distance\n"
20683 + "OSPF Distance\n")
20685 +DEFSH (VTYSH_BGPD, bgp_distance_cmd_vtysh,
20686 + "distance bgp <1-255> <1-255> <1-255>",
20687 + "Define an administrative distance\n"
20688 + "BGP distance\n"
20689 + "Distance for routes external to the AS\n"
20690 + "Distance for routes internal to the AS\n"
20691 + "Distance for local routes\n")
20693 +DEFSH (VTYSH_OSPFD, ospf_area_vlink_authtype_authkey_cmd_vtysh,
20694 + "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
20695 + "(authentication|) "
20696 + "(authentication-key|) AUTH_KEY",
20697 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
20698 + "Enable authentication on this virtual link\n" "dummy string \n"
20699 + "Authentication password (key)\n" "The OSPF password (key)")
20701 +DEFSH (VTYSH_BGPD, clear_ip_bgp_instance_all_cmd_vtysh,
20702 + "clear ip bgp view WORD *",
20703 + "Reset functions\n"
20704 + "IP information\n"
20705 + "BGP information\n"
20706 + "BGP view\n"
20707 + "view name\n"
20708 + "Clear all peers\n")
20710 +DEFSH (VTYSH_RIPD, no_ip_rip_authentication_string2_cmd_vtysh,
20711 + "no ip rip authentication string LINE",
20712 + "Negate a command or set its defaults\n"
20713 + "IP information\n"
20714 + "Routing Information Protocol\n"
20715 + "Authentication control\n"
20716 + "Authentication string\n"
20717 + "Authentication string\n")
20719 +DEFSH (VTYSH_BGPD, set_ecommunity_soo_cmd_vtysh,
20720 + "set extcommunity soo .ASN:nn_or_IP-address:nn",
20721 + "Set values in destination routing protocol\n"
20722 + "BGP extended community attribute\n"
20723 + "Site-of-Origin extended community\n"
20724 + "VPN extended community\n")
20726 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, match_ip_next_hop_prefix_list_cmd_vtysh,
20727 + "match ip next-hop prefix-list WORD",
20728 + "Match values from routing table\n"
20729 + "IP information\n"
20730 + "Match next-hop address of route\n"
20731 + "Match entries of prefix-lists\n"
20732 + "IP prefix-list name\n")
20734 +DEFSH (VTYSH_BGPD, aggregate_address_cmd_vtysh,
20735 + "aggregate-address A.B.C.D/M",
20736 + "Configure BGP aggregate entries\n"
20737 + "Aggregate prefix\n")
20739 +DEFSH (VTYSH_BGPD, show_ip_bgp_community4_exact_cmd_vtysh,
20740 + "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
20741 + "Show running system information\n"
20742 + "IP information\n"
20743 + "BGP information\n"
20744 + "Display routes matching the communities\n"
20745 + "community number\n"
20746 + "Do not send outside local AS (well-known community)\n"
20747 + "Do not advertise to any peer (well-known community)\n"
20748 + "Do not export to next AS (well-known community)\n"
20749 + "community number\n"
20750 + "Do not send outside local AS (well-known community)\n"
20751 + "Do not advertise to any peer (well-known community)\n"
20752 + "Do not export to next AS (well-known community)\n"
20753 + "community number\n"
20754 + "Do not send outside local AS (well-known community)\n"
20755 + "Do not advertise to any peer (well-known community)\n"
20756 + "Do not export to next AS (well-known community)\n"
20757 + "community number\n"
20758 + "Do not send outside local AS (well-known community)\n"
20759 + "Do not advertise to any peer (well-known community)\n"
20760 + "Do not export to next AS (well-known community)\n"
20761 + "Exact match of the communities")
20763 +DEFSH (VTYSH_BGPD, no_ip_community_list_expanded_cmd_vtysh,
20764 + "no ip community-list <100-199> (deny|permit) .LINE",
20765 + "Negate a command or set its defaults\n"
20766 + "IP information\n"
20767 + "Add a community list entry\n"
20768 + "Community list number (expanded)\n"
20769 + "Specify community to reject\n"
20770 + "Specify community to accept\n"
20771 + "An ordered list as a regular-expression\n")
20773 +DEFSH (VTYSH_BGPD, show_ipv6_bgp_community2_exact_cmd_vtysh,
20774 + "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
20775 + "Show running system information\n"
20776 + "IPv6 information\n"
20777 + "BGP information\n"
20778 + "Display routes matching the communities\n"
20779 + "community number\n"
20780 + "Do not send outside local AS (well-known community)\n"
20781 + "Do not advertise to any peer (well-known community)\n"
20782 + "Do not export to next AS (well-known community)\n"
20783 + "community number\n"
20784 + "Do not send outside local AS (well-known community)\n"
20785 + "Do not advertise to any peer (well-known community)\n"
20786 + "Do not export to next AS (well-known community)\n"
20787 + "Exact match of the communities")
20789 +DEFSH (VTYSH_BGPD, bgp_confederation_identifier_cmd_vtysh,
20790 + "bgp confederation identifier <1-65535>",
20791 + "BGP specific commands\n"
20792 + "AS confederation parameters\n"
20793 + "AS number\n"
20794 + "Set routing domain confederation AS\n")
20796 +DEFSH (VTYSH_BGPD, clear_bgp_external_soft_out_cmd_vtysh,
20797 + "clear bgp external soft out",
20798 + "Reset functions\n"
20799 + "BGP information\n"
20800 + "Clear all external peers\n"
20801 + "Soft reconfig\n"
20802 + "Soft reconfig outbound update\n")
20804 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_community_cmd_vtysh,
20805 + "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export)",
20806 + "Show running system information\n"
20807 + "BGP information\n"
20808 + "Address family\n"
20809 + "Display routes matching the communities\n"
20810 + "community number\n"
20811 + "Do not send outside local AS (well-known community)\n"
20812 + "Do not advertise to any peer (well-known community)\n"
20813 + "Do not export to next AS (well-known community)\n")
20815 +DEFSH (VTYSH_RIPD, distribute_list_cmd_vtysh,
20816 + "distribute-list WORD (in|out) WORD",
20817 + "Filter networks in routing updates\n"
20818 + "Access-list name\n"
20819 + "Filter incoming routing updates\n"
20820 + "Filter outgoing routing updates\n"
20821 + "Interface name\n")
20823 +DEFSH (VTYSH_BGPD, show_bgp_view_neighbor_advertised_route_cmd_vtysh,
20824 + "show bgp view WORD neighbors (A.B.C.D|X:X::X:X) advertised-routes",
20825 + "Show running system information\n"
20826 + "BGP information\n"
20827 + "BGP view\n"
20828 + "View name\n"
20829 + "Detailed information on TCP and BGP neighbor connections\n"
20830 + "Neighbor to display information about\n"
20831 + "Neighbor to display information about\n"
20832 + "Display the routes advertised to a BGP neighbor\n")
20834 +DEFSH (VTYSH_BGPD, neighbor_version_cmd_vtysh,
20835 + "neighbor (A.B.C.D|X:X::X:X) " "version (4|4-)",
20836 + "Specify neighbor router\n"
20837 + "Neighbor address\nIPv6 address\n"
20838 + "Neighbor's BGP version\n"
20839 + "Border Gateway Protocol 4\n"
20840 + "Multiprotocol Extensions for BGP-4(Old Draft)\n")
20842 +DEFSH (VTYSH_BGPD, set_ipv6_nexthop_global_cmd_vtysh,
20843 + "set ipv6 next-hop global X:X::X:X",
20844 + "Set values in destination routing protocol\n"
20845 + "IPv6 information\n"
20846 + "IPv6 next-hop address\n"
20847 + "IPv6 global address\n"
20848 + "IPv6 address of next hop\n")
20850 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_cmd_vtysh,
20851 + "clear ip bgp <1-65535>",
20852 + "Reset functions\n"
20853 + "IP information\n"
20854 + "BGP information\n"
20855 + "Clear peers with the AS number\n")
20857 +DEFSH (VTYSH_BGPD, show_bgp_ipv6_neighbor_received_prefix_filter_cmd_vtysh,
20858 + "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) received prefix-filter",
20859 + "Show running system information\n"
20860 + "BGP information\n"
20861 + "Address family\n"
20862 + "Detailed information on TCP and BGP neighbor connections\n"
20863 + "Neighbor to display information about\n"
20864 + "Neighbor to display information about\n"
20865 + "Display information received from a BGP neighbor\n"
20866 + "Display the prefixlist filter\n")
20868 +DEFSH (VTYSH_BGPD, ip_as_path_cmd_vtysh,
20869 + "ip as-path access-list WORD (deny|permit) .LINE",
20870 + "IP information\n"
20871 + "BGP autonomous system path filter\n"
20872 + "Specify an access list name\n"
20873 + "Regular expression access list name\n"
20874 + "Specify packets to reject\n"
20875 + "Specify packets to forward\n"
20876 + "A regular-expression to match the BGP AS paths\n")
20878 +DEFSH (VTYSH_RIPD, ip_rip_receive_version_cmd_vtysh,
20879 + "ip rip receive version (1|2)",
20880 + "IP information\n"
20881 + "Routing Information Protocol\n"
20882 + "Advertisement reception\n"
20883 + "Version control\n"
20884 + "RIP version 1\n"
20885 + "RIP version 2\n")
20887 +DEFSH (VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD, no_rmap_onmatch_next_cmd_vtysh,
20888 + "no on-match next",
20889 + "Negate a command or set its defaults\n"
20890 + "Exit policy on matches\n"
20891 + "Next clause\n")
20893 +DEFSH (VTYSH_OSPFD, ospf_area_export_list_cmd_vtysh,
20894 + "area (A.B.C.D|<0-4294967295>) export-list NAME",
20895 + "OSPF area parameters\n"
20896 + "OSPF area ID in IP address format\n"
20897 + "OSPF area ID as a decimal value\n"
20898 + "Set the filter for networks announced to other areas\n"
20899 + "Name of the access-list\n")
20901 +DEFSH (VTYSH_BGPD, no_bgp_network_mask_natural_route_map_cmd_vtysh,
20902 + "no network A.B.C.D route-map WORD",
20903 + "Negate a command or set its defaults\n"
20904 + "Specify a network to announce via BGP\n"
20905 + "Network number\n"
20906 + "Route-map to modify the attributes\n"
20907 + "Name of the route map\n")
20909 +DEFSH (VTYSH_OSPFD, ospf_redistribute_source_type_metric_cmd_vtysh,
20910 + "redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214>",
20911 + "Redistribute information from another routing protocol\n"
20912 + "Kernel routes\n"
20913 + "Connected\n"
20914 + "Static routes\n"
20915 + "Routing Information Protocol (RIP)\n"
20916 + "Border Gateway Protocol (BGP)\n"
20917 + "OSPF exterior metric type for redistributed routes\n"
20918 + "Set OSPF External Type 1 metrics\n"
20919 + "Set OSPF External Type 2 metrics\n"
20920 + "Metric for redistributed routes\n"
20921 + "OSPF default metric\n")
20923 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_summary_cmd_vtysh,
20924 + "show ip bgp ipv4 (unicast|multicast) summary",
20925 + "Show running system information\n"
20926 + "IP information\n"
20927 + "BGP information\n"
20928 + "Address family\n"
20929 + "Address Family modifier\n"
20930 + "Address Family modifier\n"
20931 + "Summary of BGP neighbor status\n")
20933 +DEFSH (VTYSH_OSPFD, no_ip_ospf_dead_interval_addr_cmd_vtysh,
20934 + "no ip ospf dead-interval A.B.C.D",
20935 + "Negate a command or set its defaults\n"
20936 + "IP Information\n"
20937 + "OSPF interface commands\n"
20938 + "Interval after which a neighbor is declared dead\n"
20939 + "Address of interface")
20941 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, show_ipv6_prefix_list_name_seq_cmd_vtysh,
20942 + "show ipv6 prefix-list WORD seq <1-4294967295>",
20943 + "Show running system information\n"
20944 + "IPv6 information\n"
20945 + "Build a prefix list\n"
20946 + "Name of a prefix list\n"
20947 + "sequence number of an entry\n"
20948 + "Sequence number\n")
20950 +DEFSH (VTYSH_BGPD, show_ip_community_list_arg_cmd_vtysh,
20951 + "show ip community-list (<1-199>|WORD)",
20952 + "Show running system information\n"
20953 + "IP information\n"
20954 + "List community-list\n"
20955 + "Community-list number\n"
20956 + "Community-list name\n")
20958 +DEFSH (VTYSH_OSPFD, ospf_passive_interface_addr_cmd_vtysh,
20959 + "passive-interface IFNAME A.B.C.D",
20960 + "Suppress routing updates on an interface\n"
20961 + "Interface's name\n")
20963 +DEFSH (VTYSH_BGPD, show_ip_bgp_ipv4_community3_exact_cmd_vtysh,
20964 + "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match",
20965 + "Show running system information\n"
20966 + "IP information\n"
20967 + "BGP information\n"
20968 + "Address family\n"
20969 + "Address Family modifier\n"
20970 + "Address Family modifier\n"
20971 + "Display routes matching the communities\n"
20972 + "community number\n"
20973 + "Do not send outside local AS (well-known community)\n"
20974 + "Do not advertise to any peer (well-known community)\n"
20975 + "Do not export to next AS (well-known community)\n"
20976 + "community number\n"
20977 + "Do not send outside local AS (well-known community)\n"
20978 + "Do not advertise to any peer (well-known community)\n"
20979 + "Do not export to next AS (well-known community)\n"
20980 + "community number\n"
20981 + "Do not send outside local AS (well-known community)\n"
20982 + "Do not advertise to any peer (well-known community)\n"
20983 + "Do not export to next AS (well-known community)\n"
20984 + "Exact match of the communities")
20986 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, clear_ip_prefix_list_cmd_vtysh,
20987 + "clear ip prefix-list",
20988 + "Reset functions\n"
20989 + "IP information\n"
20990 + "Build a prefix list\n")
20992 +DEFSH (VTYSH_OSPFD, ip_ospf_dead_interval_cmd_vtysh,
20993 + "ip ospf dead-interval <1-65535>",
20994 + "IP Information\n"
20995 + "OSPF interface commands\n"
20996 + "Interval after which a neighbor is declared dead\n"
20997 + "Seconds\n")
20999 +DEFSH (VTYSH_OSPFD, ospf_area_vlink_authkey_cmd_vtysh,
21000 + "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D "
21001 + "(authentication-key|) AUTH_KEY",
21002 + "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure a virtual link\n" "Router ID of the remote ABR\n"
21003 + "Authentication password (key)\n" "The OSPF password (key)")
21005 +DEFSH (VTYSH_BGPD, aggregate_address_summary_as_set_cmd_vtysh,
21006 + "aggregate-address A.B.C.D/M summary-only as-set",
21007 + "Configure BGP aggregate entries\n"
21008 + "Aggregate prefix\n"
21009 + "Filter more specific routes from updates\n"
21010 + "Generate AS set path information\n")
21012 +DEFSH (VTYSH_BGPD, clear_ip_bgp_as_out_cmd_vtysh,
21013 + "clear ip bgp <1-65535> out",
21014 + "Reset functions\n"
21015 + "IP information\n"
21016 + "BGP information\n"
21017 + "Clear peers with the AS number\n"
21018 + "Soft reconfig outbound update\n")
21020 +DEFSH (VTYSH_BGPD, clear_ip_bgp_dampening_address_cmd_vtysh,
21021 + "clear ip bgp dampening A.B.C.D",
21022 + "Reset functions\n"
21023 + "IP information\n"
21024 + "BGP information\n"
21025 + "Clear route flap dampening information\n"
21026 + "Network to clear damping information\n")
21028 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, no_access_list_remark_cmd_vtysh,
21029 + "no access-list (<1-99>|<100-199>|<1300-1999>|<2000-2699>|WORD) remark",
21030 + "Negate a command or set its defaults\n"
21031 + "Add an access list entry\n"
21032 + "IP standard access list\n"
21033 + "IP extended access list\n"
21034 + "IP standard access list (expanded range)\n"
21035 + "IP extended access list (expanded range)\n"
21036 + "IP zebra access-list\n"
21037 + "Access list entry comment\n")
21039 +DEFSH (VTYSH_BGPD, bgp_redistribute_ipv6_rmap_metric_cmd_vtysh,
21040 + "redistribute (connected|kernel|ospf6|ripng|static) route-map WORD metric <0-4294967295>",
21041 + "Redistribute information from another routing protocol\n"
21042 + "Connected\n"
21043 + "Kernel routes\n"
21044 + "Open Shurtest Path First (OSPFv3)\n"
21045 + "Routing Information Protocol (RIPng)\n"
21046 + "Static routes\n"
21047 + "Route map reference\n"
21048 + "Pointer to route-map entries\n"
21049 + "Metric for redistributed routes\n"
21050 + "Default metric\n")
21052 +DEFSH (VTYSH_BGPD, clear_ip_bgp_all_vpnv4_out_cmd_vtysh,
21053 + "clear ip bgp * vpnv4 unicast out",
21054 + "Reset functions\n"
21055 + "IP information\n"
21056 + "BGP information\n"
21057 + "Clear all peers\n"
21058 + "Address family\n"
21059 + "Address Family Modifier\n"
21060 + "Soft reconfig outbound update\n")
21062 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, show_ipv6_prefix_list_prefix_first_match_cmd_vtysh,
21063 + "show ipv6 prefix-list WORD X:X::X:X/M first-match",
21064 + "Show running system information\n"
21065 + "IPv6 information\n"
21066 + "Build a prefix list\n"
21067 + "Name of a prefix list\n"
21068 + "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
21069 + "First matched prefix\n")
21071 +DEFSH (VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD, ipv6_access_list_exact_cmd_vtysh,
21072 + "ipv6 access-list WORD (deny|permit) X:X::X:X/M exact-match",
21073 + "IPv6 information\n"
21074 + "Add an access list entry\n"
21075 + "IPv6 zebra access-list\n"
21076 + "Specify packets to reject\n"
21077 + "Specify packets to forward\n"
21078 + "Prefix to match. e.g. 3ffe:506::/32\n"
21079 + "Exact match of the prefixes\n")
21081 +DEFSH (VTYSH_BGPD, no_neighbor_attr_unchanged10_cmd_vtysh,
21082 + "no neighbor (A.B.C.D|X:X::X:X|WORD) " "attribute-unchanged med as-path next-hop",
21083 + "Negate a command or set its defaults\n"
21084 + "Specify neighbor router\n"
21085 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
21086 + "BGP attribute is propagated unchanged to this neighbor\n"
21087 + "Med attribute\n"
21088 + "As-path attribute\n"
21089 + "Nexthop attribute\n")
21091 +DEFSH (VTYSH_BGPD, neighbor_activate_cmd_vtysh,
21092 + "neighbor (A.B.C.D|X:X::X:X|WORD) " "activate",
21093 + "Specify neighbor router\n"
21094 + "Neighbor address\nNeighbor IPv6 address\nNeighbor tag\n"
21095 + "Enable the Address Family for this Neighbor\n")
21097 +DEFSH (VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD, ip_prefix_list_ge_cmd_vtysh,
21098 + "ip prefix-list WORD (deny|permit) A.B.C.D/M ge <0-32>",
21099 + "IP information\n"
21100 + "Build a prefix list\n"
21101 + "Name of a prefix list\n"
21102 + "Specify packets to reject\n"
21103 + "Specify packets to forward\n"
21104 + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
21105 + "Minimum prefix length to be matched\n"
21106 + "Minimum prefix length\n")
21108 +void
21109 +vtysh_init_cmd ()
21111 + install_element (INTERFACE_NODE, &ipv6_ripng_split_horizon_cmd_vtysh);
21112 + install_element (OSPF_NODE, &ospf_distance_ospf_inter_cmd_vtysh);
21113 + install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_in_cmd_vtysh);
21114 + install_element (BGP_IPV4_NODE, &neighbor_route_server_client_cmd_vtysh);
21115 + install_element (ENABLE_NODE, &show_bgp_community_cmd_vtysh);
21116 + install_element (RMAP_NODE, &no_set_ip_nexthop_cmd_vtysh);
21117 + install_element (CONFIG_NODE, &ip_extcommunity_list_name_standard_cmd_vtysh);
21118 + install_element (ZEBRA_NODE, &redistribute_ospf6_cmd_vtysh);
21119 + install_element (OSPF_NODE, &ospf_auto_cost_reference_bandwidth_cmd_vtysh);
21120 + install_element (ENABLE_NODE, &show_bgp_view_neighbor_routes_cmd_vtysh);
21121 + install_element (BGP_IPV4_NODE, &no_neighbor_default_originate_cmd_vtysh);
21122 + install_element (CONFIG_NODE, &no_ip_route_mask_flags_distance2_cmd_vtysh);
21123 + install_element (CONFIG_NODE, &no_ip_extcommunity_list_name_all_cmd_vtysh);
21124 + install_element (VIEW_NODE, &show_ip_bgp_scan_cmd_vtysh);
21125 + install_element (VIEW_NODE, &ipv6_bgp_neighbor_routes_cmd_vtysh);
21126 + install_element (CONFIG_NODE, &no_debug_zebra_kernel_cmd_vtysh);
21127 + install_element (ENABLE_NODE, &show_bgp_ipv6_neighbor_received_prefix_filter_cmd_vtysh);
21128 + install_element (VIEW_NODE, &show_ip_ospf_database_type_id_self_cmd_vtysh);
21129 + install_element (CONFIG_NODE, &no_ip_forwarding_cmd_vtysh);
21130 + install_element (VIEW_NODE, &show_bgp_summary_cmd_vtysh);
21131 + install_element (RMAP_NODE, &no_set_ecommunity_rt_cmd_vtysh);
21132 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_cmd_vtysh);
21133 + install_element (OSPF_NODE, &ospf_network_area_cmd_vtysh);
21134 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_out_cmd_vtysh);
21135 + install_element (ENABLE_NODE, &undebug_bgp_keepalive_cmd_vtysh);
21136 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_sequence_number_cmd_vtysh);
21137 + install_element (CONFIG_NODE, &ip_route_mask_flags_distance_cmd_vtysh);
21138 + install_element (BGP_IPV6_NODE, &bgp_redistribute_ipv6_rmap_cmd_vtysh);
21139 + install_element (ENABLE_NODE, &show_bgp_view_ipv6_neighbor_received_prefix_filter_cmd_vtysh);
21140 + install_element (CONFIG_NODE, &dump_bgp_routes_interval_cmd_vtysh);
21141 + install_element (ENABLE_NODE, &show_ipv6_route_ospf6_external_cmd_vtysh);
21142 + install_element (BGP_IPV4_NODE, &no_bgp_network_route_map_cmd_vtysh);
21143 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_cidr_only_cmd_vtysh);
21144 + install_element (BGP_NODE, &neighbor_peer_group_cmd_vtysh);
21145 + install_element (VIEW_NODE, &show_debug_ospf6_cmd_vtysh);
21146 + install_element (BGP_NODE, &bgp_distance_source_cmd_vtysh);
21147 + install_element (BGP_NODE, &no_bgp_client_to_client_reflection_cmd_vtysh);
21148 + install_element (BGP_NODE, &bgp_bestpath_aspath_ignore_cmd_vtysh);
21149 + install_element (ENABLE_NODE, &show_bgp_community2_exact_cmd_vtysh);
21150 + install_element (OSPF_NODE, &no_ospf_neighbor_priority_cmd_vtysh);
21151 + install_element (VIEW_NODE, &show_bgp_cmd_vtysh);
21152 + install_element (OSPF_NODE, &ospf_area_range_cost_cmd_vtysh);
21153 + install_element (VIEW_NODE, &show_ip_bgp_neighbor_damp_cmd_vtysh);
21154 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_soft_out_cmd_vtysh);
21155 + install_element (INTERFACE_NODE, &ip_ospf_message_digest_key_cmd_vtysh);
21156 + install_element (ENABLE_NODE, &show_ip_access_list_cmd_vtysh);
21157 + install_element (OSPF_NODE, &ospf_abr_type_cmd_vtysh);
21158 + install_element (CONFIG_NODE, &debug_ospf_packet_send_recv_cmd_vtysh);
21159 + install_element (RMAP_NODE, &no_set_aspath_prepend_cmd_vtysh);
21160 + install_element (ENABLE_NODE, &show_ip_ospf_database_type_self_cmd_vtysh);
21161 + install_element (OSPF_NODE, &ospf_area_vlink_authkey_cmd_vtysh);
21162 + install_element (CONFIG_NODE, &no_ip_route_mask_flags2_cmd_vtysh);
21163 + install_element (BGP_IPV6_NODE, &neighbor_distribute_list_cmd_vtysh);
21164 + install_element (BGP_NODE, &no_neighbor_maximum_prefix_val_cmd_vtysh);
21165 + install_element (BGP_NODE, &bgp_default_local_preference_cmd_vtysh);
21166 + install_element (INTERFACE_NODE, &no_ip_ospf_priority_cmd_vtysh);
21167 + install_element (VIEW_NODE, &show_bgp_ipv6_community4_cmd_vtysh);
21168 + install_element (CONFIG_NODE, &ip_extcommunity_list_expanded_cmd_vtysh);
21169 + install_element (BGP_NODE, &no_neighbor_capability_route_refresh_cmd_vtysh);
21170 + install_element (BGP_IPV6_NODE, &neighbor_attr_unchanged5_cmd_vtysh);
21171 + install_element (BGP_IPV4M_NODE, &aggregate_address_mask_as_set_cmd_vtysh);
21172 + install_element (VIEW_NODE, &show_ip_prefix_list_prefix_first_match_cmd_vtysh);
21173 + install_element (BGP_NODE, &neighbor_capability_dynamic_cmd_vtysh);
21174 + install_element (ENABLE_NODE, &show_ipv6_bgp_community4_cmd_vtysh);
21175 + install_element (ENABLE_NODE, &show_ip_prefix_list_cmd_vtysh);
21176 + install_element (ENABLE_NODE, &clear_bgp_ipv6_all_soft_in_cmd_vtysh);
21177 + install_element (BGP_NODE, &no_bgp_distance2_cmd_vtysh);
21178 + install_element (ENABLE_NODE, &show_ipv6_ospf6_database_type_id_cmd_vtysh);
21179 + install_element (ENABLE_NODE, &show_ipv6_mbgp_community_list_cmd_vtysh);
21180 + install_element (RMAP_NODE, &no_rmap_onmatch_goto_cmd_vtysh);
21181 + install_element (ENABLE_NODE, &debug_rip_events_cmd_vtysh);
21182 + install_element (ENABLE_NODE, &clear_bgp_external_soft_in_cmd_vtysh);
21183 + install_element (ENABLE_NODE, &clear_bgp_ipv6_external_soft_in_cmd_vtysh);
21184 + install_element (VIEW_NODE, &show_bgp_neighbor_received_prefix_filter_cmd_vtysh);
21185 + install_element (VIEW_NODE, &show_ip_bgp_flap_prefix_longer_cmd_vtysh);
21186 + install_element (OSPF_NODE, &ospf_area_vlink_param3_cmd_vtysh);
21187 + install_element (INTERFACE_NODE, &ip_address_cmd_vtysh);
21188 + install_element (ENABLE_NODE, &clear_ip_bgp_external_in_prefix_filter_cmd_vtysh);
21189 + install_element (BGP_NODE, &neighbor_allowas_in_arg_cmd_vtysh);
21190 + install_element (ENABLE_NODE, &show_bgp_view_ipv6_route_cmd_vtysh);
21191 + install_element (OSPF_NODE, &no_ospf_timers_spf_cmd_vtysh);
21192 + install_element (BGP_IPV6_NODE, &no_neighbor_attr_unchanged7_cmd_vtysh);
21193 + install_element (CONFIG_NODE, &no_debug_ospf6_damp_cmd_vtysh);
21194 + install_element (VIEW_NODE, &show_ip_ospf_neighbor_detail_cmd_vtysh);
21195 + install_element (CONFIG_NODE, &debug_ripng_packet_direct_cmd_vtysh);
21196 + install_element (VIEW_NODE, &show_ip_bgp_instance_summary_cmd_vtysh);
21197 + install_element (BGP_VPNV4_NODE, &neighbor_unsuppress_map_cmd_vtysh);
21198 + install_element (INTERFACE_NODE, &no_ip_ospf_dead_interval_addr_cmd_vtysh);
21199 + install_element (KEYCHAIN_KEY_NODE, &key_string_cmd_vtysh);
21200 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_soft_in_cmd_vtysh);
21201 + install_element (VIEW_NODE, &show_bgp_community3_cmd_vtysh);
21202 + install_element (ENABLE_NODE, &show_ip_bgp_community_exact_cmd_vtysh);
21203 + install_element (INTERFACE_NODE, &ip_address_secondary_cmd_vtysh);
21204 + install_element (BGP_IPV4M_NODE, &neighbor_default_originate_cmd_vtysh);
21205 + install_element (BGP_IPV6_NODE, &no_neighbor_attr_unchanged6_cmd_vtysh);
21206 + install_element (ENABLE_NODE, &show_bgp_ipv6_neighbor_damp_cmd_vtysh);
21207 + install_element (ENABLE_NODE, &show_ip_access_list_name_cmd_vtysh);
21208 + install_element (BGP_NODE, &old_no_ipv6_aggregate_address_summary_only_cmd_vtysh);
21209 + install_element (CONFIG_NODE, &no_ipv6_access_list_cmd_vtysh);
21210 + install_element (CONFIG_NODE, &access_list_extended_host_mask_cmd_vtysh);
21211 + install_element (ENABLE_NODE, &show_ipv6_ospf6_neighbor_routerid_cmd_vtysh);
21212 + install_element (CONFIG_NODE, &no_route_map_all_cmd_vtysh);
21213 + install_element (BGP_NODE, &neighbor_override_capability_cmd_vtysh);
21214 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_summary_cmd_vtysh);
21215 + install_element (CONFIG_NODE, &no_debug_ospf_nsm_sub_cmd_vtysh);
21216 + install_element (CONFIG_NODE, &no_debug_zebra_events_cmd_vtysh);
21217 + install_element (BGP_NODE, &no_bgp_network_mask_cmd_vtysh);
21218 + install_element (ENABLE_NODE, &no_debug_ospf_packet_send_recv_cmd_vtysh);
21219 + install_element (RIPNG_NODE, &ripng_default_metric_cmd_vtysh);
21220 + install_element (ENABLE_NODE, &undebug_bgp_update_cmd_vtysh);
21221 + install_element (RMAP_NODE, &no_match_ip_next_hop_prefix_list_cmd_vtysh);
21222 + install_element (VIEW_NODE, &show_bgp_ipv6_prefix_longer_cmd_vtysh);
21223 + install_element (ENABLE_NODE, &clear_bgp_ipv6_all_in_prefix_filter_cmd_vtysh);
21224 + install_element (RMAP_NODE, &no_match_ipv6_address_prefix_list_cmd_vtysh);
21225 + install_element (VIEW_NODE, &show_ip_bgp_neighbors_peer_cmd_vtysh);
21226 + install_element (BGP_NODE, &aggregate_address_mask_as_set_summary_cmd_vtysh);
21227 + install_element (BGP_NODE, &neighbor_enforce_multihop_cmd_vtysh);
21228 + install_element (ENABLE_NODE, &show_bgp_neighbor_received_prefix_filter_cmd_vtysh);
21229 + install_element (ENABLE_NODE, &debug_bgp_keepalive_cmd_vtysh);
21230 + install_element (RMAP_NODE, &no_set_local_pref_val_cmd_vtysh);
21231 + install_element (CONFIG_NODE, &no_ip_prefix_list_seq_cmd_vtysh);
21232 + install_element (VIEW_NODE, &show_ip_ospf_neighbor_id_cmd_vtysh);
21233 + install_element (ENABLE_NODE, &show_debug_ospf6_damp_cmd_vtysh);
21234 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_community_all_cmd_vtysh);
21235 + install_element (CONFIG_NODE, &no_ip_as_path_cmd_vtysh);
21236 + install_element (BGP_NODE, &no_bgp_confederation_identifier_arg_cmd_vtysh);
21237 + install_element (ENABLE_NODE, &debug_ripng_packet_cmd_vtysh);
21238 + install_element (ENABLE_NODE, &show_ipv6_route_addr_cmd_vtysh);
21239 + install_element (INTERFACE_NODE, &ipv6_ospf6_retransmitinterval_cmd_vtysh);
21240 + install_element (RMAP_NODE, &no_match_ip_address_prefix_list_cmd_vtysh);
21241 + install_element (BGP_NODE, &bgp_damp_unset_cmd_vtysh);
21242 + install_element (RIPNG_NODE, &if_ipv6_rmap_cmd_vtysh);
21243 + install_element (BGP_IPV4_NODE, &neighbor_capability_orf_prefix_cmd_vtysh);
21244 + install_element (ENABLE_NODE, &show_ipv6_ospf6_database_type_cmd_vtysh);
21245 + install_element (RIP_NODE, &rip_redistribute_type_routemap_cmd_vtysh);
21246 + install_element (ENABLE_NODE, &clear_bgp_peer_group_in_cmd_vtysh);
21247 + install_element (BGP_IPV4_NODE, &no_neighbor_allowas_in_cmd_vtysh);
21248 + install_element (VIEW_NODE, &show_ip_bgp_cidr_only_cmd_vtysh);
21249 + install_element (RIP_NODE, &rip_default_metric_cmd_vtysh);
21250 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_soft_in_cmd_vtysh);
21251 + install_element (BGP_NODE, &neighbor_attr_unchanged4_cmd_vtysh);
21252 + install_element (BGP_NODE, &bgp_network_backdoor_cmd_vtysh);
21253 + install_element (CONFIG_NODE, &ip_community_list_name_standard2_cmd_vtysh);
21254 + install_element (VIEW_NODE, &show_bgp_view_ipv6_route_cmd_vtysh);
21255 + install_element (ENABLE_NODE, &debug_bgp_normal_cmd_vtysh);
21256 + install_element (CONFIG_NODE, &ipv6_prefix_list_seq_ge_le_cmd_vtysh);
21257 + install_element (ENABLE_NODE, &show_ip_route_prefix_longer_cmd_vtysh);
21258 + install_element (VIEW_NODE, &show_bgp_neighbor_flap_cmd_vtysh);
21259 + install_element (VIEW_NODE, &show_ipv6_bgp_regexp_cmd_vtysh);
21260 + install_element (OSPF_NODE, &ospf_default_information_originate_metric_type_cmd_vtysh);
21261 + install_element (BGP_NODE, &no_neighbor_attr_unchanged_cmd_vtysh);
21262 + install_element (BGP_IPV4_NODE, &neighbor_activate_cmd_vtysh);
21263 + install_element (INTERFACE_NODE, &ip_ospf_authentication_args_cmd_vtysh);
21264 + install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_ipv4_soft_in_cmd_vtysh);
21265 + install_element (ENABLE_NODE, &clear_bgp_ipv6_as_out_cmd_vtysh);
21266 + install_element (VIEW_NODE, &show_bgp_instance_ipv6_summary_cmd_vtysh);
21267 + install_element (BGP_IPV4M_NODE, &neighbor_maximum_prefix_cmd_vtysh);
21268 + install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged8_cmd_vtysh);
21269 + install_element (BGP_NODE, &no_aggregate_address_mask_cmd_vtysh);
21270 + install_element (ENABLE_NODE, &show_ip_bgp_neighbor_received_prefix_filter_cmd_vtysh);
21271 + install_element (BGP_IPV4_NODE, &no_neighbor_remove_private_as_cmd_vtysh);
21272 + install_element (RMAP_NODE, &no_match_ip_next_hop_cmd_vtysh);
21273 + install_element (BGP_IPV4_NODE, &aggregate_address_as_set_summary_cmd_vtysh);
21274 + install_element (BGP_NODE, &neighbor_route_server_client_cmd_vtysh);
21275 + install_element (INTERFACE_NODE, &ipv6_ospf6_priority_cmd_vtysh);
21276 + install_element (ENABLE_NODE, &no_debug_bgp_fsm_cmd_vtysh);
21277 + install_element (RMAP_NODE, &no_set_tag_val_cmd_vtysh);
21278 + install_element (BGP_IPV4M_NODE, &aggregate_address_cmd_vtysh);
21279 + install_element (CONFIG_NODE, &no_dump_bgp_routes_cmd_vtysh);
21280 + install_element (OSPF_NODE, &ospf_distance_ospf_inter_intra_external_cmd_vtysh);
21281 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_neighbors_peer_cmd_vtysh);
21282 + install_element (BGP_IPV6_NODE, &neighbor_allowas_in_arg_cmd_vtysh);
21283 + install_element (ENABLE_NODE, &show_bgp_prefix_cmd_vtysh);
21284 + install_element (BGP_NODE, &no_neighbor_route_map_cmd_vtysh);
21285 + install_element (INTERFACE_NODE, &ipv6_ospf6_hellointerval_cmd_vtysh);
21286 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_seq_le_ge_cmd_vtysh);
21287 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_ipv4_soft_in_cmd_vtysh);
21288 + install_element (BGP_IPV4_NODE, &neighbor_default_originate_cmd_vtysh);
21289 + install_element (BGP_NODE, &no_bgp_default_ipv4_unicast_cmd_vtysh);
21290 + install_element (CONFIG_NODE, &access_list_extended_any_host_cmd_vtysh);
21291 + install_element (INTERFACE_NODE, &ip_rip_receive_version_cmd_vtysh);
21292 + install_element (VIEW_NODE, &show_ipv6_ospf6_database_type_cmd_vtysh);
21293 + install_element (ENABLE_NODE, &no_debug_rip_packet_direct_cmd_vtysh);
21294 + install_element (BGP_VPNV4_NODE, &neighbor_attr_unchanged10_cmd_vtysh);
21295 + install_element (BGP_NODE, &neighbor_strict_capability_cmd_vtysh);
21296 + install_element (VIEW_NODE, &show_ip_forwarding_cmd_vtysh);
21297 + install_element (VIEW_NODE, &show_ip_route_protocol_cmd_vtysh);
21298 + install_element (BGP_VPNV4_NODE, &no_neighbor_soft_reconfiguration_cmd_vtysh);
21299 + install_element (VIEW_NODE, &show_bgp_ipv6_neighbor_routes_cmd_vtysh);
21300 + install_element (CONFIG_NODE, &no_debug_zebra_packet_cmd_vtysh);
21301 + install_element (BGP_VPNV4_NODE, &neighbor_send_community_type_cmd_vtysh);
21302 + install_element (INTERFACE_NODE, &mpls_labelspace_cmd_vtysh);
21303 + install_element (VIEW_NODE, &show_ip_prefix_list_name_cmd_vtysh);
21304 + install_element (VIEW_NODE, &show_bgp_neighbors_cmd_vtysh);
21305 + install_element (ENABLE_NODE, &show_bgp_community4_exact_cmd_vtysh);
21306 + install_element (VIEW_NODE, &show_bgp_neighbor_received_routes_cmd_vtysh);
21307 + install_element (CONFIG_NODE, &no_debug_ospf_packet_all_cmd_vtysh);
21308 + install_element (ENABLE_NODE, &show_ip_bgp_view_cmd_vtysh);
21309 + install_element (BGP_IPV6_NODE, &neighbor_filter_list_cmd_vtysh);
21310 + install_element (OSPF_NODE, &no_ospf_area_range_substitute_cmd_vtysh);
21311 + install_element (BGP_IPV6_NODE, &neighbor_send_community_type_cmd_vtysh);
21312 + install_element (ENABLE_NODE, &undebug_bgp_fsm_cmd_vtysh);
21313 + install_element (VIEW_NODE, &show_bgp_view_ipv6_prefix_cmd_vtysh);
21314 + install_element (ENABLE_NODE, &show_ip_route_cmd_vtysh);
21315 + install_element (BGP_IPV4M_NODE, &neighbor_unsuppress_map_cmd_vtysh);
21316 + install_element (VIEW_NODE, &show_bgp_ipv6_neighbor_advertised_route_cmd_vtysh);
21317 + install_element (OSPF_NODE, &ospf_default_information_originate_always_routemap_cmd_vtysh);
21318 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_in_prefix_filter_cmd_vtysh);
21319 + install_element (ENABLE_NODE, &show_ipv6_bgp_regexp_cmd_vtysh);
21320 + install_element (ENABLE_NODE, &no_debug_ospf_packet_all_cmd_vtysh);
21321 + install_element (BGP_NODE, &no_neighbor_peer_group_remote_as_cmd_vtysh);
21322 + install_element (INTERFACE_NODE, &ospf_retransmit_interval_cmd_vtysh);
21323 + install_element (CONFIG_NODE, &no_ipv6_access_list_remark_arg_cmd_vtysh);
21324 + install_element (BGP_IPV4M_NODE, &neighbor_attr_unchanged_cmd_vtysh);
21325 + install_element (ENABLE_NODE, &show_ip_bgp_route_cmd_vtysh);
21326 + install_element (VIEW_NODE, &show_ipv6_ospf6_interface_cmd_vtysh);
21327 + install_element (VIEW_NODE, &show_ip_bgp_community4_exact_cmd_vtysh);
21328 + install_element (BGP_IPV4M_NODE, &neighbor_allowas_in_cmd_vtysh);
21329 + install_element (ENABLE_NODE, &show_ip_bgp_view_prefix_cmd_vtysh);
21330 + install_element (BGP_NODE, &old_ipv6_aggregate_address_cmd_vtysh);
21331 + install_element (OSPF_NODE, &ospf_area_range_advertise_cost_cmd_vtysh);
21332 + install_element (ENABLE_NODE, &clear_ip_bgp_external_ipv4_soft_cmd_vtysh);
21333 + install_element (BGP_NODE, &bgp_router_id_cmd_vtysh);
21334 + install_element (ENABLE_NODE, &show_ipv6_mbgp_prefix_cmd_vtysh);
21335 + install_element (BGP_IPV4M_NODE, &neighbor_capability_orf_prefix_cmd_vtysh);
21336 + install_element (VIEW_NODE, &show_ipv6_mbgp_community4_exact_cmd_vtysh);
21337 + install_element (BGP_IPV6_NODE, &no_neighbor_attr_unchanged_cmd_vtysh);
21338 + install_element (OSPF_NODE, &ospf_area_range_substitute_cmd_vtysh);
21339 + install_element (ENABLE_NODE, &undebug_bgp_events_cmd_vtysh);
21340 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_neighbor_routes_cmd_vtysh);
21341 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_soft_out_cmd_vtysh);
21342 + install_element (CONFIG_NODE, &no_debug_ospf_ism_sub_cmd_vtysh);
21343 + install_element (BGP_VPNV4_NODE, &neighbor_maximum_prefix_warning_cmd_vtysh);
21344 + install_element (CONFIG_NODE, &ip_route_mask_cmd_vtysh);
21345 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_community2_exact_cmd_vtysh);
21346 + install_element (OSPF_NODE, &no_ospf_passive_interface_addr_cmd_vtysh);
21347 + install_element (OSPF_NODE, &ospf_area_vlink_authtype_cmd_vtysh);
21348 + install_element (ENABLE_NODE, &clear_ip_bgp_as_ipv4_out_cmd_vtysh);
21349 + install_element (INTERFACE_NODE, &ipv6_address_cmd_vtysh);
21350 + install_element (BGP_IPV4_NODE, &aggregate_address_summary_as_set_cmd_vtysh);
21351 + install_element (BGP_IPV4M_NODE, &no_neighbor_route_reflector_client_cmd_vtysh);
21352 + install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged6_cmd_vtysh);
21353 + install_element (OSPF_NODE, &ospf_default_information_originate_cmd_vtysh);
21354 + install_element (ENABLE_NODE, &show_ipv6_ospf6_area_topology_router_cmd_vtysh);
21355 + install_element (CONFIG_NODE, &no_debug_rip_events_cmd_vtysh);
21356 + install_element (BGP_IPV6_NODE, &no_neighbor_allowas_in_cmd_vtysh);
21357 + install_element (BGP_IPV4M_NODE, &no_neighbor_maximum_prefix_val2_cmd_vtysh);
21358 + install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_soft_out_cmd_vtysh);
21359 + install_element (BGP_IPV4M_NODE, &bgp_network_mask_cmd_vtysh);
21360 + install_element (BGP_NODE, &no_neighbor_default_originate_cmd_vtysh);
21361 + install_element (RIPNG_NODE, &ripng_network_cmd_vtysh);
21362 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbor_routes_cmd_vtysh);
21363 + install_element (ENABLE_NODE, &show_ipv6_ospf6_neighborlist_cmd_vtysh);
21364 + install_element (ENABLE_NODE, &show_bgp_ipv6_neighbors_peer_cmd_vtysh);
21365 + install_element (ENABLE_NODE, &show_ip_bgp_community3_exact_cmd_vtysh);
21366 + install_element (RIP_NODE, &no_distribute_list_cmd_vtysh);
21367 + install_element (KEYCHAIN_KEY_NODE, &accept_lifetime_infinite_day_month_cmd_vtysh);
21368 + install_element (ENABLE_NODE, &debug_zebra_events_cmd_vtysh);
21369 + install_element (RIPNG_NODE, &ripng_redistribute_type_metric_cmd_vtysh);
21370 + install_element (INTERFACE_NODE, &ip_ospf_authentication_key_cmd_vtysh);
21371 + install_element (VIEW_NODE, &show_ipv6_mbgp_community4_cmd_vtysh);
21372 + install_element (ENABLE_NODE, &show_debugging_ospf_cmd_vtysh);
21373 + install_element (ENABLE_NODE, &show_ip_prefix_list_summary_cmd_vtysh);
21374 + install_element (BGP_NODE, &no_bgp_redistribute_ipv4_rmap_cmd_vtysh);
21375 + install_element (ENABLE_NODE, &show_ip_bgp_instance_summary_cmd_vtysh);
21376 + install_element (RIP_NODE, &rip_route_cmd_vtysh);
21377 + install_element (BGP_VPNV4_NODE, &neighbor_route_server_client_cmd_vtysh);
21378 + install_element (BGP_IPV6_NODE, &neighbor_attr_unchanged6_cmd_vtysh);
21379 + install_element (CONFIG_NODE, &no_dump_bgp_all_cmd_vtysh);
21380 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_paths_cmd_vtysh);
21381 + install_element (RIP_NODE, &rip_distance_source_cmd_vtysh);
21382 + install_element (OSPF_NODE, &no_ospf_passive_interface_cmd_vtysh);
21383 + install_element (VIEW_NODE, &ipv6_mbgp_neighbor_advertised_route_cmd_vtysh);
21384 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_tags_cmd_vtysh);
21385 + install_element (ENABLE_NODE, &show_bgp_instance_neighbors_peer_cmd_vtysh);
21386 + install_element (VIEW_NODE, &show_bgp_community3_exact_cmd_vtysh);
21387 + install_element (ENABLE_NODE, &show_ipv6_ospf6_route_flapping_cmd_vtysh);
21388 + install_element (ENABLE_NODE, &debug_ripng_zebra_cmd_vtysh);
21389 + install_element (CONFIG_NODE, &no_access_list_exact_cmd_vtysh);
21390 + install_element (BGP_NODE, &no_neighbor_advertise_interval_val_cmd_vtysh);
21391 + install_element (MPLS_LS_INTERFACE_NODE, &label_map_fwd_cmd_vtysh);
21392 + install_element (BGP_NODE, &no_neighbor_route_server_client_cmd_vtysh);
21393 + install_element (ENABLE_NODE, &debug_ospf_nsm_cmd_vtysh);
21394 + install_element (ENABLE_NODE, &show_ipv6_bgp_community3_cmd_vtysh);
21395 + install_element (INTERFACE_NODE, &ospf_transmit_delay_cmd_vtysh);
21396 + install_element (BGP_IPV4_NODE, &no_neighbor_set_peer_group_cmd_vtysh);
21397 + install_element (BGP_IPV4_NODE, &aggregate_address_mask_as_set_summary_cmd_vtysh);
21398 + install_element (CONFIG_NODE, &access_list_extended_mask_host_cmd_vtysh);
21399 + install_element (RIPNG_NODE, &ripng_aggregate_address_cmd_vtysh);
21400 + install_element (VIEW_NODE, &show_ipv6_prefix_list_cmd_vtysh);
21401 + install_element (BGP_IPV6_NODE, &neighbor_set_peer_group_cmd_vtysh);
21402 + install_element (ENABLE_NODE, &show_ipv6_ripng_cmd_vtysh);
21403 + install_element (BGP_NODE, &no_neighbor_update_source_cmd_vtysh);
21404 + install_element (CONFIG_NODE, &ipv6_prefix_list_le_ge_cmd_vtysh);
21405 + install_element (BGP_IPV4_NODE, &neighbor_unsuppress_map_cmd_vtysh);
21406 + install_element (RIP_NODE, &distribute_list_cmd_vtysh);
21407 + install_element (BGP_IPV4_NODE, &neighbor_allowas_in_arg_cmd_vtysh);
21408 + install_element (ENABLE_NODE, &show_interface_cmd_vtysh);
21409 + install_element (VIEW_NODE, &show_ipv6_route_protocol_cmd_vtysh);
21410 + install_element (CONFIG_NODE, &no_dump_bgp_updates_cmd_vtysh);
21411 + install_element (ENABLE_NODE, &clear_ip_bgp_as_ipv4_in_cmd_vtysh);
21412 + install_element (ENABLE_NODE, &show_ip_bgp_neighbor_received_routes_cmd_vtysh);
21413 + install_element (CONFIG_NODE, &no_ip_route_mask_cmd_vtysh);
21414 + install_element (BGP_IPV4_NODE, &no_neighbor_activate_cmd_vtysh);
21415 + install_element (BGP_NODE, &bgp_bestpath_med3_cmd_vtysh);
21416 + install_element (VIEW_NODE, &show_interface_cmd_vtysh);
21417 + install_element (BGP_IPV4M_NODE, &no_neighbor_activate_cmd_vtysh);
21418 + install_element (CONFIG_NODE, &no_ipv6_access_list_remark_cmd_vtysh);
21419 + install_element (BGP_IPV4M_NODE, &no_bgp_network_mask_cmd_vtysh);
21420 + install_element (BGP_IPV4M_NODE, &neighbor_default_originate_rmap_cmd_vtysh);
21421 + install_element (ENABLE_NODE, &undebug_bgp_normal_cmd_vtysh);
21422 + install_element (BGP_NODE, &no_bgp_distance_cmd_vtysh);
21423 + install_element (VIEW_NODE, &show_ipv6_prefix_list_summary_cmd_vtysh);
21424 + install_element (ENABLE_NODE, &show_bgp_view_cmd_vtysh);
21425 + install_element (ENABLE_NODE, &show_ipv6_prefix_list_prefix_longer_cmd_vtysh);
21426 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_prefix_cmd_vtysh);
21427 + install_element (BGP_NODE, &no_neighbor_capability_orf_prefix_cmd_vtysh);
21428 + install_element (RMAP_NODE, &set_metric_cmd_vtysh);
21429 + install_element (BGP_IPV4_NODE, &no_aggregate_address_summary_as_set_cmd_vtysh);
21430 + install_element (BGP_IPV4_NODE, &no_neighbor_attr_unchanged5_cmd_vtysh);
21431 + install_element (BGP_IPV4M_NODE, &bgp_network_route_map_cmd_vtysh);
21432 + install_element (CONFIG_NODE, &no_ip_route_mask_flags_distance_cmd_vtysh);
21433 + install_element (ENABLE_NODE, &clear_ip_bgp_all_vpnv4_soft_cmd_vtysh);
21434 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_seq_cmd_vtysh);
21435 + install_element (RIPNG_NODE, &ripng_offset_list_cmd_vtysh);
21436 + install_element (CONFIG_NODE, &debug_bgp_normal_cmd_vtysh);
21437 + install_element (ENABLE_NODE, &show_ipv6_route_prefix_longer_cmd_vtysh);
21438 + install_element (BGP_IPV4_NODE, &neighbor_route_map_cmd_vtysh);
21439 + install_element (BGP_IPV4M_NODE, &no_neighbor_allowas_in_cmd_vtysh);
21440 + install_element (INTERFACE_NODE, &no_ip_ospf_transmit_delay_addr_cmd_vtysh);
21441 + install_element (BGP_NODE, &bgp_bestpath_med_cmd_vtysh);
21442 + install_element (CONFIG_NODE, &no_ipv6_route_flags_pref_cmd_vtysh);
21443 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_cmd_vtysh);
21444 + install_element (ENABLE_NODE, &show_ip_route_addr_cmd_vtysh);
21445 + install_element (BGP_IPV4_NODE, &neighbor_set_peer_group_cmd_vtysh);
21446 + install_element (OSPF_NODE, &ospf_area_filter_list_cmd_vtysh);
21447 + install_element (BGP_IPV4_NODE, &bgp_network_mask_natural_cmd_vtysh);
21448 + install_element (BGP_IPV4M_NODE, &no_neighbor_set_peer_group_cmd_vtysh);
21449 + install_element (RMAP_NODE, &match_ipv6_next_hop_cmd_vtysh);
21450 + install_element (ENABLE_NODE, &show_ipv6_prefix_list_detail_name_cmd_vtysh);
21451 + install_element (CONFIG_NODE, &debug_zebra_packet_detail_cmd_vtysh);
21452 + install_element (CONFIG_NODE, &router_zebra_cmd_vtysh);
21453 + install_element (VIEW_NODE, &show_ipv6_mbgp_community_list_cmd_vtysh);
21454 + install_element (OSPF_NODE, &no_ospf_area_vlink_param2_cmd_vtysh);
21455 + install_element (BGP_IPV4_NODE, &bgp_network_route_map_cmd_vtysh);
21456 + install_element (VIEW_NODE, &show_ipv6_ospf6_area_topology_router_cmd_vtysh);
21457 + install_element (CONFIG_NODE, &no_access_list_extended_host_any_cmd_vtysh);
21458 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_in_cmd_vtysh);
21459 + install_element (INTERFACE_NODE, &ip_address_label_cmd_vtysh);
21460 + install_element (RMAP_NODE, &no_set_ipv6_nexthop_global_val_cmd_vtysh);
21461 + install_element (ENABLE_NODE, &show_bgp_summary_cmd_vtysh);
21462 + install_element (BGP_IPV6_NODE, &neighbor_maximum_prefix_warning_cmd_vtysh);
21463 + install_element (BGP_IPV4_NODE, &no_neighbor_maximum_prefix_val_cmd_vtysh);
21464 + install_element (BGP_VPNV4_NODE, &neighbor_attr_unchanged1_cmd_vtysh);
21465 + install_element (ENABLE_NODE, &debug_bgp_update_cmd_vtysh);
21466 + install_element (RMAP_NODE, &set_aspath_prepend_cmd_vtysh);
21467 + install_element (BGP_NODE, &no_bgp_router_id_cmd_vtysh);
21468 + install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_ipv4_in_prefix_filter_cmd_vtysh);
21469 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_route_cmd_vtysh);
21470 + install_element (OSPF6_NODE, &no_ospf6_interface_area_cmd_vtysh);
21471 + install_element (BGP_IPV4M_NODE, &no_neighbor_nexthop_self_cmd_vtysh);
21472 + install_element (ENABLE_NODE, &show_ipv6_bgp_route_cmd_vtysh);
21473 + install_element (BGP_NODE, &no_neighbor_nexthop_self_cmd_vtysh);
21474 + install_element (RMAP_NODE, &no_match_ecommunity_cmd_vtysh);
21475 + install_element (RIP_NODE, &no_rip_redistribute_type_metric_routemap_cmd_vtysh);
21476 + install_element (CONFIG_NODE, &no_access_list_extended_mask_any_cmd_vtysh);
21477 + install_element (BGP_NODE, &no_bgp_redistribute_ipv4_rmap_metric_cmd_vtysh);
21478 + install_element (VIEW_NODE, &show_ipv6_mbgp_community2_exact_cmd_vtysh);
21479 + install_element (CONFIG_NODE, &dump_bgp_all_cmd_vtysh);
21480 + install_element (BGP_IPV4M_NODE, &neighbor_maximum_prefix_warning_cmd_vtysh);
21481 + install_element (ENABLE_NODE, &clear_ip_bgp_all_ipv4_in_prefix_filter_cmd_vtysh);
21482 + install_element (BGP_NODE, &no_aggregate_address_mask_as_set_cmd_vtysh);
21483 + install_element (VIEW_NODE, &show_ipv6_prefix_list_detail_name_cmd_vtysh);
21484 + install_element (CONFIG_NODE, &ip_prefix_list_ge_le_cmd_vtysh);
21485 + install_element (BGP_NODE, &no_synchronization_cmd_vtysh);
21486 + install_element (VIEW_NODE, &show_bgp_ipv6_neighbor_flap_cmd_vtysh);
21487 + install_element (RMAP_NODE, &match_ip_next_hop_cmd_vtysh);
21488 + install_element (RMAP_NODE, &set_ip_nexthop_cmd_vtysh);
21489 + install_element (INTERFACE_NODE, &no_ip_ospf_dead_interval_cmd_vtysh);
21490 + install_element (CONFIG_NODE, &ip_extcommunity_list_name_standard2_cmd_vtysh);
21491 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_soft_cmd_vtysh);
21492 + install_element (BGP_IPV4_NODE, &neighbor_attr_unchanged4_cmd_vtysh);
21493 + install_element (CONFIG_NODE, &debug_ospf_nsm_sub_cmd_vtysh);
21494 + install_element (OSPF_NODE, &no_ospf_default_metric_cmd_vtysh);
21495 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_description_cmd_vtysh);
21496 + install_element (ENABLE_NODE, &clear_bgp_external_soft_out_cmd_vtysh);
21497 + install_element (INTERFACE_NODE, &no_ip_ospf_authentication_addr_cmd_vtysh);
21498 + install_element (ENABLE_NODE, &show_ipv6_mbgp_summary_cmd_vtysh);
21499 + install_element (RMAP_NODE, &set_aggregator_as_cmd_vtysh);
21500 + install_element (ENABLE_NODE, &show_ip_ospf_neighbor_cmd_vtysh);
21501 + install_element (CONFIG_NODE, &no_ip_prefix_list_le_ge_cmd_vtysh);
21502 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community_list_exact_cmd_vtysh);
21503 + install_element (ENABLE_NODE, &clear_ipv6_prefix_list_name_prefix_cmd_vtysh);
21504 + install_element (ENABLE_NODE, &show_bgp_prefix_longer_cmd_vtysh);
21505 + install_element (VIEW_NODE, &show_ipv6_prefix_list_name_cmd_vtysh);
21506 + install_element (OSPF_NODE, &no_ospf_area_default_cost_cmd_vtysh);
21507 + install_element (VIEW_NODE, &show_bgp_ipv6_community_all_cmd_vtysh);
21508 + install_element (BGP_NODE, &no_neighbor_maximum_prefix_val2_cmd_vtysh);
21509 + install_element (VIEW_NODE, &show_ipv6_mbgp_community2_cmd_vtysh);
21510 + install_element (OSPF6_NODE, &ospf6_interface_area_cmd_vtysh);
21511 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_neighbor_advertised_routes_cmd_vtysh);
21512 + install_element (VIEW_NODE, &ipv6_bgp_neighbor_advertised_route_cmd_vtysh);
21513 + install_element (ENABLE_NODE, &show_ipv6_route_prefix_cmd_vtysh);
21514 + install_element (BGP_NODE, &no_bgp_scan_time_cmd_vtysh);
21515 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_prefix_cmd_vtysh);
21516 + install_element (ENABLE_NODE, &show_ipv6_ospf6_interface_ifname_cmd_vtysh);
21517 + install_element (CONFIG_NODE, &no_bgp_config_type_cmd_vtysh);
21518 + install_element (OSPF_NODE, &ospf_distance_ospf_intra_inter_external_cmd_vtysh);
21519 + install_element (ENABLE_NODE, &show_ip_prefix_list_name_cmd_vtysh);
21520 + install_element (ENABLE_NODE, &show_ip_ospf_neighbor_detail_all_cmd_vtysh);
21521 + install_element (VIEW_NODE, &show_ip_bgp_instance_ipv4_summary_cmd_vtysh);
21522 + install_element (BGP_IPV4M_NODE, &aggregate_address_mask_as_set_summary_cmd_vtysh);
21523 + install_element (INTERFACE_NODE, &no_ip_rip_authentication_mode_cmd_vtysh);
21524 + install_element (ENABLE_NODE, &debug_rip_packet_detail_cmd_vtysh);
21525 + install_element (RIPNG_NODE, &no_ripng_network_cmd_vtysh);
21526 + install_element (VIEW_NODE, &show_bgp_instance_neighbors_cmd_vtysh);
21527 + install_element (BGP_IPV6_NODE, &neighbor_attr_unchanged9_cmd_vtysh);
21528 + install_element (RMAP_NODE, &no_match_ip_address_prefix_list_val_cmd_vtysh);
21529 + install_element (BGP_NODE, &neighbor_passive_cmd_vtysh);
21530 + install_element (INTERFACE_NODE, &no_ospf_hello_interval_cmd_vtysh);
21531 + install_element (ENABLE_NODE, &show_ipv6_access_list_cmd_vtysh);
21532 + install_element (BGP_NODE, &no_neighbor_weight_cmd_vtysh);
21533 + install_element (ENABLE_NODE, &show_ipv6_ospf6_camp_config_cmd_vtysh);
21534 + install_element (BGP_NODE, &neighbor_route_reflector_client_cmd_vtysh);
21535 + install_element (ENABLE_NODE, &show_ipv6_ospf6_area_topology_cmd_vtysh);
21536 + install_element (KEYCHAIN_KEY_NODE, &accept_lifetime_day_month_month_day_cmd_vtysh);
21537 + install_element (VIEW_NODE, &show_ip_route_cmd_vtysh);
21538 + install_element (RIPNG_NODE, &no_ripng_redistribute_type_metric_routemap_cmd_vtysh);
21539 + install_element (INTERFACE_NODE, &no_ospf_network_cmd_vtysh);
21540 + install_element (CONFIG_NODE, &no_ip_extcommunity_list_name_expanded_cmd_vtysh);
21541 + install_element (ENABLE_NODE, &clear_ip_bgp_as_ipv4_soft_in_cmd_vtysh);
21542 + install_element (BGP_IPV4M_NODE, &no_neighbor_prefix_list_cmd_vtysh);
21543 + install_element (CONFIG_NODE, &no_access_list_extended_cmd_vtysh);
21544 + install_element (INTERFACE_NODE, &no_ospf_authentication_key_cmd_vtysh);
21545 + install_element (RMAP_NODE, &set_local_pref_cmd_vtysh);
21546 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_route_cmd_vtysh);
21547 + install_element (OSPF_NODE, &ospf_default_information_originate_metric_routemap_cmd_vtysh);
21548 + install_element (BGP_IPV4M_NODE, &no_aggregate_address_summary_as_set_cmd_vtysh);
21549 + install_element (KEYCHAIN_KEY_NODE, &accept_lifetime_duration_month_day_cmd_vtysh);
21550 + install_element (ENABLE_NODE, &show_ip_bgp_dampened_paths_cmd_vtysh);
21551 + install_element (ENABLE_NODE, &show_ip_bgp_neighbors_cmd_vtysh);
21552 + install_element (BGP_NODE, &bgp_bestpath_compare_router_id_cmd_vtysh);
21553 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_neighbors_cmd_vtysh);
21554 + install_element (BGP_IPV6_NODE, &neighbor_attr_unchanged4_cmd_vtysh);
21555 + install_element (ENABLE_NODE, &show_debugging_ripng_cmd_vtysh);
21556 + install_element (ENABLE_NODE, &show_bgp_community_all_cmd_vtysh);
21557 + install_element (OSPF_NODE, &no_ospf_area_vlink_authtype_cmd_vtysh);
21558 + install_element (CONFIG_NODE, &no_debug_ripng_zebra_cmd_vtysh);
21559 + install_element (RMAP_NODE, &match_interface_cmd_vtysh);
21560 + install_element (ENABLE_NODE, &clear_ip_bgp_as_ipv4_in_prefix_filter_cmd_vtysh);
21561 + install_element (BGP_IPV6_NODE, &neighbor_route_map_cmd_vtysh);
21562 + install_element (CONFIG_NODE, &no_ipv6_access_list_any_cmd_vtysh);
21563 + install_element (ENABLE_NODE, &show_bgp_view_neighbor_flap_cmd_vtysh);
21564 + install_element (RIP_NODE, &rip_default_information_originate_cmd_vtysh);
21565 + install_element (RIP_NODE, &no_rip_passive_interface_cmd_vtysh);
21566 + install_element (ENABLE_NODE, &no_debug_ospf_nsm_sub_cmd_vtysh);
21567 + install_element (VIEW_NODE, &show_ipv6_bgp_prefix_list_cmd_vtysh);
21568 + install_element (CONFIG_NODE, &ipv6_route_flags_cmd_vtysh);
21569 + install_element (OSPF_NODE, &ospf_redistribute_source_type_routemap_cmd_vtysh);
21570 + install_element (VIEW_NODE, &show_ip_bgp_community_cmd_vtysh);
21571 + install_element (OSPF_NODE, &no_ospf_area_stub_no_summary_cmd_vtysh);
21572 + install_element (BGP_IPV6_NODE, &no_neighbor_send_community_cmd_vtysh);
21573 + install_element (VIEW_NODE, &show_ip_bgp_neighbor_received_routes_cmd_vtysh);
21574 + install_element (ENABLE_NODE, &show_bgp_community_exact_cmd_vtysh);
21575 + install_element (KEYCHAIN_KEY_NODE, &send_lifetime_month_day_day_month_cmd_vtysh);
21576 + install_element (VIEW_NODE, &show_ip_ospf_neighbor_all_cmd_vtysh);
21577 + install_element (BGP_NODE, &neighbor_weight_cmd_vtysh);
21578 + install_element (BGP_NODE, &no_bgp_timers_arg_cmd_vtysh);
21579 + install_element (RIP_NODE, &rip_distance_cmd_vtysh);
21580 + install_element (BGP_IPV4_NODE, &no_neighbor_attr_unchanged9_cmd_vtysh);
21581 + install_element (VIEW_NODE, &show_bgp_view_ipv6_cmd_vtysh);
21582 + install_element (ENABLE_NODE, &debug_ospf_zebra_cmd_vtysh);
21583 + install_element (CONFIG_NODE, &no_debug_ospf_packet_send_recv_detail_cmd_vtysh);
21584 + install_element (ENABLE_NODE, &debug_rip_zebra_cmd_vtysh);
21585 + install_element (ENABLE_NODE, &show_ip_ospf_database_type_id_self_cmd_vtysh);
21586 + install_element (RMAP_NODE, &no_set_metric_cmd_vtysh);
21587 + install_element (INTERFACE_NODE, &no_shutdown_if_cmd_vtysh);
21588 + install_element (BGP_NODE, &bgp_network_route_map_cmd_vtysh);
21589 + install_element (RIP_NODE, &no_rip_timers_cmd_vtysh);
21590 + install_element (OSPF_NODE, &ospf_area_vlink_md5_cmd_vtysh);
21591 + install_element (BGP_NODE, &neighbor_ebgp_multihop_cmd_vtysh);
21592 + install_element (OSPF_NODE, &no_ospf_area_vlink_authtype_authkey_cmd_vtysh);
21593 + install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged5_cmd_vtysh);
21594 + install_element (ENABLE_NODE, &show_ip_bgp_community4_cmd_vtysh);
21595 + install_element (VIEW_NODE, &show_ip_bgp_community3_exact_cmd_vtysh);
21596 + install_element (ENABLE_NODE, &debug_zebra_packet_direct_cmd_vtysh);
21597 + install_element (INTERFACE_NODE, &no_ospf_priority_cmd_vtysh);
21598 + install_element (BGP_IPV4M_NODE, &no_aggregate_address_mask_as_set_summary_cmd_vtysh);
21599 + install_element (INTERFACE_NODE, &ip_ospf_authentication_cmd_vtysh);
21600 + install_element (OSPF_NODE, &ospf_area_vlink_authtype_args_authkey_cmd_vtysh);
21601 + install_element (CONFIG_NODE, &ip_forwarding_cmd_vtysh);
21602 + install_element (BGP_NODE, &neighbor_unsuppress_map_cmd_vtysh);
21603 + install_element (INTERFACE_NODE, &ospf_hello_interval_cmd_vtysh);
21604 + install_element (OSPF_NODE, &no_ospf_default_information_originate_cmd_vtysh);
21605 + install_element (ENABLE_NODE, &show_ip_bgp_neighbors_peer_cmd_vtysh);
21606 + install_element (CONFIG_NODE, &ip_prefix_list_le_cmd_vtysh);
21607 + install_element (BGP_IPV4M_NODE, &no_neighbor_default_originate_rmap_cmd_vtysh);
21608 + install_element (RMAP_NODE, &no_set_community_cmd_vtysh);
21609 + install_element (ENABLE_NODE, &debug_zebra_packet_detail_cmd_vtysh);
21610 + install_element (ENABLE_NODE, &clear_bgp_peer_group_soft_cmd_vtysh);
21611 + install_element (CONFIG_NODE, &access_list_extended_host_any_cmd_vtysh);
21612 + install_element (RIP_NODE, &rip_version_cmd_vtysh);
21613 + install_element (RIPNG_NODE, &ipv6_distribute_list_cmd_vtysh);
21614 + install_element (KEYCHAIN_KEY_NODE, &no_key_cmd_vtysh);
21615 + install_element (MPLS_LS_INTERFACE_NODE, &label_map_pop_cmd_vtysh);
21616 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbors_cmd_vtysh);
21617 + install_element (BGP_IPV4_NODE, &no_neighbor_send_community_type_cmd_vtysh);
21618 + install_element (ENABLE_NODE, &debug_ospf_packet_send_recv_detail_cmd_vtysh);
21619 + install_element (INTERFACE_NODE, &no_ip_ospf_authentication_key_addr_cmd_vtysh);
21620 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_soft_cmd_vtysh);
21621 + install_element (BGP_NODE, &neighbor_prefix_list_cmd_vtysh);
21622 + install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged4_cmd_vtysh);
21623 + install_element (VIEW_NODE, &show_ip_bgp_community2_cmd_vtysh);
21624 + install_element (ENABLE_NODE, &show_ip_bgp_instance_neighbors_cmd_vtysh);
21625 + install_element (CONFIG_NODE, &ip_community_list_expanded_cmd_vtysh);
21626 + install_element (BGP_NODE, &no_bgp_default_local_preference_val_cmd_vtysh);
21627 + install_element (BGP_NODE, &neighbor_attr_unchanged2_cmd_vtysh);
21628 + install_element (BGP_IPV4M_NODE, &aggregate_address_mask_cmd_vtysh);
21629 + install_element (BGP_IPV6_NODE, &no_neighbor_attr_unchanged9_cmd_vtysh);
21630 + install_element (VIEW_NODE, &show_ip_prefix_list_cmd_vtysh);
21631 + install_element (CONFIG_NODE, &ipv6_access_list_cmd_vtysh);
21632 + install_element (BGP_IPV6_NODE, &no_neighbor_default_originate_cmd_vtysh);
21633 + install_element (ENABLE_NODE, &show_ipv6_mbgp_filter_list_cmd_vtysh);
21634 + install_element (RIP_NODE, &distribute_list_prefix_all_cmd_vtysh);
21635 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_soft_cmd_vtysh);
21636 + install_element (INTERFACE_NODE, &ip_rip_split_horizon_cmd_vtysh);
21637 + install_element (VIEW_NODE, &show_ip_ospf_neighbor_cmd_vtysh);
21638 + install_element (RMAP_NODE, &no_set_ecommunity_soo_val_cmd_vtysh);
21639 + install_element (ENABLE_NODE, &show_bgp_neighbor_received_routes_cmd_vtysh);
21640 + install_element (ENABLE_NODE, &show_ipv6_ospf6_interface_cmd_vtysh);
21641 + install_element (RIPNG_NODE, &ripng_redistribute_type_routemap_cmd_vtysh);
21642 + install_element (ENABLE_NODE, &no_debug_bgp_filter_cmd_vtysh);
21643 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_in_prefix_filter_cmd_vtysh);
21644 + install_element (CONFIG_NODE, &ip_route_flags2_cmd_vtysh);
21645 + install_element (VIEW_NODE, &show_bgp_ipv6_community2_exact_cmd_vtysh);
21646 + install_element (CONFIG_NODE, &no_debug_bgp_filter_cmd_vtysh);
21647 + install_element (OSPF_NODE, &ospf_area_shortcut_cmd_vtysh);
21648 + install_element (VIEW_NODE, &show_ipv6_bgp_summary_cmd_vtysh);
21649 + install_element (OSPF_NODE, &ospf_area_default_cost_cmd_vtysh);
21650 + install_element (ENABLE_NODE, &show_ip_community_list_cmd_vtysh);
21651 + install_element (VIEW_NODE, &show_ip_bgp_flap_prefix_cmd_vtysh);
21652 + install_element (ENABLE_NODE, &show_bgp_ipv6_community_cmd_vtysh);
21653 + install_element (BGP_IPV4_NODE, &no_bgp_network_mask_cmd_vtysh);
21654 + install_element (VIEW_NODE, &show_bgp_community2_cmd_vtysh);
21655 + install_element (BGP_IPV6_NODE, &no_neighbor_activate_cmd_vtysh);
21656 + install_element (ENABLE_NODE, &show_ip_ospf_route_cmd_vtysh);
21657 + install_element (INTERFACE_NODE, &ipv6_ospf6_deadinterval_cmd_vtysh);
21658 + install_element (OSPF_NODE, &ospf_default_information_originate_metric_cmd_vtysh);
21659 + install_element (RIP_NODE, &rip_offset_list_ifname_cmd_vtysh);
21660 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_tags_cmd_vtysh);
21661 + install_element (RMAP_NODE, &set_ip_nexthop_peer_cmd_vtysh);
21662 + install_element (BGP_IPV6_NODE, &no_neighbor_unsuppress_map_cmd_vtysh);
21663 + install_element (VIEW_NODE, &show_ip_ospf_database_type_self_cmd_vtysh);
21664 + install_element (BGP_NODE, &no_bgp_network_mask_natural_cmd_vtysh);
21665 + install_element (BGP_IPV6_NODE, &neighbor_route_server_client_cmd_vtysh);
21666 + install_element (VIEW_NODE, &show_ip_bgp_community_all_cmd_vtysh);
21667 + install_element (BGP_VPNV4_NODE, &neighbor_allowas_in_arg_cmd_vtysh);
21668 + install_element (OSPF_NODE, &ospf_area_stub_cmd_vtysh);
21669 + install_element (CONFIG_NODE, &no_ip_prefix_list_le_cmd_vtysh);
21670 + install_element (INTERFACE_NODE, &no_ip_ospf_message_digest_key_addr_cmd_vtysh);
21671 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_in_cmd_vtysh);
21672 + install_element (RIP_NODE, &rip_passive_interface_cmd_vtysh);
21673 + install_element (INTERFACE_NODE, &no_ip_rip_authentication_key_chain_cmd_vtysh);
21674 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_prefix_cmd_vtysh);
21675 + install_element (ENABLE_NODE, &show_ip_bgp_community_list_cmd_vtysh);
21676 + install_element (VIEW_NODE, &show_ipv6_mbgp_prefix_cmd_vtysh);
21677 + install_element (CONFIG_NODE, &no_ipv6_access_list_exact_cmd_vtysh);
21678 + install_element (ENABLE_NODE, &show_ip_bgp_attr_info_cmd_vtysh);
21679 + install_element (BGP_VPNV4_NODE, &no_neighbor_nexthop_self_cmd_vtysh);
21680 + install_element (OSPF_NODE, &ospf_area_authentication_message_digest_cmd_vtysh);
21681 + install_element (BGP_NODE, &neighbor_maximum_prefix_cmd_vtysh);
21682 + install_element (ENABLE_NODE, &clear_ip_bgp_external_out_cmd_vtysh);
21683 + install_element (ENABLE_NODE, &show_bgp_ipv6_community_list_cmd_vtysh);
21684 + install_element (BGP_IPV4_NODE, &bgp_damp_set_cmd_vtysh);
21685 + install_element (VIEW_NODE, &show_ipv6_ripng_status_cmd_vtysh);
21686 + install_element (RMAP_NODE, &no_set_community_delete_cmd_vtysh);
21687 + install_element (VIEW_NODE, &show_ipv6_ospf6_neighborlist_cmd_vtysh);
21688 + install_element (BGP_NODE, &bgp_scan_time_cmd_vtysh);
21689 + install_element (BGP_NODE, &neighbor_advertise_interval_cmd_vtysh);
21690 + install_element (VIEW_NODE, &show_ip_bgp_regexp_cmd_vtysh);
21691 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_community4_exact_cmd_vtysh);
21692 + install_element (BGP_NODE, &no_aggregate_address_mask_summary_only_cmd_vtysh);
21693 + install_element (INTERFACE_NODE, &ipv6_ospf6_cost_cmd_vtysh);
21694 + install_element (INTERFACE_NODE, &ip_ospf_dead_interval_addr_cmd_vtysh);
21695 + install_element (ENABLE_NODE, &show_ipv6_ospf6_database_cmd_vtysh);
21696 + install_element (BGP_NODE, &no_bgp_network_mask_route_map_cmd_vtysh);
21697 + install_element (VIEW_NODE, &show_ip_ospf_neighbor_int_detail_cmd_vtysh);
21698 + install_element (ENABLE_NODE, &show_bgp_instance_ipv6_neighbors_cmd_vtysh);
21699 + install_element (VIEW_NODE, &show_ip_route_supernets_cmd_vtysh);
21700 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community_exact_cmd_vtysh);
21701 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_community3_cmd_vtysh);
21702 + install_element (VIEW_NODE, &show_ip_route_addr_cmd_vtysh);
21703 + install_element (KEYCHAIN_KEY_NODE, &send_lifetime_duration_month_day_cmd_vtysh);
21704 + install_element (RIPNG_NODE, &no_ripng_offset_list_cmd_vtysh);
21705 + install_element (VIEW_NODE, &show_bgp_view_neighbor_damp_cmd_vtysh);
21706 + install_element (CONFIG_NODE, &ipv6_prefix_list_seq_le_cmd_vtysh);
21707 + install_element (BGP_NODE, &neighbor_local_as_no_prepend_cmd_vtysh);
21708 + install_element (ENABLE_NODE, &clear_ip_bgp_external_ipv4_in_cmd_vtysh);
21709 + install_element (CONFIG_NODE, &debug_zebra_events_cmd_vtysh);
21710 + install_element (ENABLE_NODE, &show_ip_bgp_community_cmd_vtysh);
21711 + install_element (CONFIG_NODE, &no_debug_ospf6_all_cmd_vtysh);
21712 + install_element (ENABLE_NODE, &show_bgp_view_ipv6_neighbor_flap_cmd_vtysh);
21713 + install_element (BGP_VPNV4_NODE, &neighbor_attr_unchanged6_cmd_vtysh);
21714 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_regexp_cmd_vtysh);
21715 + install_element (BGP_NODE, &bgp_confederation_peers_cmd_vtysh);
21716 + install_element (ENABLE_NODE, &show_ipv6_access_list_name_cmd_vtysh);
21717 + install_element (BGP_NODE, &no_neighbor_description_val_cmd_vtysh);
21718 + install_element (ENABLE_NODE, &show_ipv6_prefix_list_summary_name_cmd_vtysh);
21719 + install_element (ENABLE_NODE, &show_ip_prefix_list_prefix_cmd_vtysh);
21720 + install_element (VIEW_NODE, &show_bgp_ipv6_prefix_list_cmd_vtysh);
21721 + install_element (ENABLE_NODE, &show_ipv6_prefix_list_summary_cmd_vtysh);
21722 + install_element (BGP_IPV4_NODE, &no_neighbor_maximum_prefix_val2_cmd_vtysh);
21723 + install_element (RMAP_NODE, &no_set_originator_id_val_cmd_vtysh);
21724 + install_element (BGP_NODE, &no_aggregate_address_mask_as_set_summary_cmd_vtysh);
21725 + install_element (BGP_IPV4_NODE, &no_neighbor_attr_unchanged7_cmd_vtysh);
21726 + install_element (OSPF_NODE, &ospf_compatible_rfc1583_cmd_vtysh);
21727 + install_element (RMAP_NODE, &no_match_ecommunity_val_cmd_vtysh);
21728 + install_element (INTERFACE_NODE, &no_ip_ospf_network_cmd_vtysh);
21729 + install_element (VIEW_NODE, &show_bgp_ipv6_community3_exact_cmd_vtysh);
21730 + install_element (ENABLE_NODE, &show_bgp_ipv6_neighbor_flap_cmd_vtysh);
21731 + install_element (ENABLE_NODE, &show_bgp_community3_cmd_vtysh);
21732 + install_element (BGP_IPV4M_NODE, &no_neighbor_default_originate_cmd_vtysh);
21733 + install_element (CONFIG_NODE, &dump_bgp_routes_cmd_vtysh);
21734 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_prefix_cmd_vtysh);
21735 + install_element (BGP_VPNV4_NODE, &no_neighbor_route_reflector_client_cmd_vtysh);
21736 + install_element (BGP_IPV4_NODE, &no_neighbor_nexthop_self_cmd_vtysh);
21737 + install_element (BGP_IPV4_NODE, &neighbor_attr_unchanged1_cmd_vtysh);
21738 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbors_peer_cmd_vtysh);
21739 + install_element (BGP_NODE, &no_neighbor_ebgp_multihop_ttl_cmd_vtysh);
21740 + install_element (VIEW_NODE, &show_bgp_ipv6_neighbor_damp_cmd_vtysh);
21741 + install_element (OSPF_NODE, &ospf_distance_ospf_inter_intra_cmd_vtysh);
21742 + install_element (ENABLE_NODE, &clear_bgp_ipv6_all_soft_out_cmd_vtysh);
21743 + install_element (ENABLE_NODE, &clear_ip_bgp_all_vpnv4_out_cmd_vtysh);
21744 + install_element (INTERFACE_NODE, &no_mpls_labelspace_cmd_vtysh);
21745 + install_element (BGP_IPV4M_NODE, &aggregate_address_summary_as_set_cmd_vtysh);
21746 + install_element (BGP_NODE, &aggregate_address_as_set_summary_cmd_vtysh);
21747 + install_element (ENABLE_NODE, &show_ip_forwarding_cmd_vtysh);
21748 + install_element (VIEW_NODE, &show_bgp_view_neighbor_received_prefix_filter_cmd_vtysh);
21749 + install_element (OSPF_NODE, &router_ospf_id_cmd_vtysh);
21750 + install_element (ENABLE_NODE, &clear_bgp_instance_all_soft_out_cmd_vtysh);
21751 + install_element (OSPF_NODE, &ospf_area_vlink_authtype_md5_cmd_vtysh);
21752 + install_element (CONFIG_NODE, &ipv6_route_ifname_flags_pref_cmd_vtysh);
21753 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_ipv4_in_prefix_filter_cmd_vtysh);
21754 + install_element (VIEW_NODE, &show_ipv6_bgp_community_cmd_vtysh);
21755 + install_element (RMAP_NODE, &set_vpnv4_nexthop_cmd_vtysh);
21756 + install_element (ENABLE_NODE, &show_bgp_ipv6_community_all_cmd_vtysh);
21757 + install_element (VIEW_NODE, &show_ipv6_bgp_filter_list_cmd_vtysh);
21758 + install_element (VIEW_NODE, &show_ip_bgp_neighbor_flap_cmd_vtysh);
21759 + install_element (ENABLE_NODE, &show_bgp_ipv6_community4_cmd_vtysh);
21760 + install_element (BGP_NODE, &no_aggregate_address_as_set_summary_cmd_vtysh);
21761 + install_element (VIEW_NODE, &show_ipv6_bgp_prefix_longer_cmd_vtysh);
21762 + install_element (ENABLE_NODE, &clear_bgp_as_cmd_vtysh);
21763 + install_element (KEYCHAIN_KEY_NODE, &send_lifetime_infinite_day_month_cmd_vtysh);
21764 + install_element (BGP_VPNV4_NODE, &neighbor_nexthop_self_cmd_vtysh);
21765 + install_element (CONFIG_NODE, &ip_prefix_list_sequence_number_cmd_vtysh);
21766 + install_element (BGP_IPV4_NODE, &no_neighbor_attr_unchanged8_cmd_vtysh);
21767 + install_element (VIEW_NODE, &show_ip_prefix_list_detail_cmd_vtysh);
21768 + install_element (KEYCHAIN_KEY_NODE, &accept_lifetime_infinite_month_day_cmd_vtysh);
21769 + install_element (ENABLE_NODE, &show_bgp_ipv6_neighbor_routes_cmd_vtysh);
21770 + install_element (ENABLE_NODE, &debug_bgp_events_cmd_vtysh);
21771 + install_element (ENABLE_NODE, &clear_ipv6_prefix_list_cmd_vtysh);
21772 + install_element (BGP_IPV4M_NODE, &no_aggregate_address_as_set_cmd_vtysh);
21773 + install_element (BGP_NODE, &bgp_client_to_client_reflection_cmd_vtysh);
21774 + install_element (BGP_IPV4_NODE, &no_neighbor_soft_reconfiguration_cmd_vtysh);
21775 + install_element (VIEW_NODE, &show_ipv6_mbgp_prefix_list_cmd_vtysh);
21776 + install_element (BGP_IPV6_NODE, &no_neighbor_set_peer_group_cmd_vtysh);
21777 + install_element (OSPF_NODE, &no_ospf_default_metric_val_cmd_vtysh);
21778 + install_element (CONFIG_NODE, &no_ip_prefix_list_seq_ge_le_cmd_vtysh);
21779 + install_element (VIEW_NODE, &show_bgp_view_cmd_vtysh);
21780 + install_element (INTERFACE_NODE, &no_ip_ospf_priority_addr_cmd_vtysh);
21781 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_community3_exact_cmd_vtysh);
21782 + install_element (ENABLE_NODE, &show_bgp_community4_cmd_vtysh);
21783 + install_element (RIP_NODE, &rip_redistribute_type_metric_cmd_vtysh);
21784 + install_element (ENABLE_NODE, &show_ip_rip_status_cmd_vtysh);
21785 + install_element (CONFIG_NODE, &ip_route_cmd_vtysh);
21786 + install_element (BGP_IPV4_NODE, &aggregate_address_mask_cmd_vtysh);
21787 + install_element (OSPF_NODE, &ospf_area_range_advertise_cmd_vtysh);
21788 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_soft_in_cmd_vtysh);
21789 + install_element (VIEW_NODE, &show_ip_as_path_access_list_all_cmd_vtysh);
21790 + install_element (BGP_IPV4M_NODE, &no_neighbor_send_community_cmd_vtysh);
21791 + install_element (ENABLE_NODE, &show_bgp_route_map_cmd_vtysh);
21792 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbor_received_routes_cmd_vtysh);
21793 + install_element (BGP_IPV4_NODE, &neighbor_soft_reconfiguration_cmd_vtysh);
21794 + install_element (ENABLE_NODE, &show_ip_ospf_database_type_id_adv_router_cmd_vtysh);
21795 + install_element (BGP_IPV4_NODE, &no_neighbor_capability_orf_prefix_cmd_vtysh);
21796 + install_element (VIEW_NODE, &show_ipv6_bgp_community_all_cmd_vtysh);
21797 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_filter_list_cmd_vtysh);
21798 + install_element (ENABLE_NODE, &show_ipv6_mbgp_community4_exact_cmd_vtysh);
21799 + install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_in_prefix_filter_cmd_vtysh);
21800 + install_element (BGP_VPNV4_NODE, &neighbor_attr_unchanged5_cmd_vtysh);
21801 + install_element (CONFIG_NODE, &no_access_list_extended_host_mask_cmd_vtysh);
21802 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_seq_ge_le_cmd_vtysh);
21803 + install_element (OSPF_NODE, &no_ospf_area_vlink_param3_cmd_vtysh);
21804 + install_element (CONFIG_NODE, &debug_bgp_fsm_cmd_vtysh);
21805 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_soft_in_cmd_vtysh);
21806 + install_element (BGP_VPNV4_NODE, &neighbor_attr_unchanged7_cmd_vtysh);
21807 + install_element (VIEW_NODE, &show_ipv6_ospf6_area_route_prefix_cmd_vtysh);
21808 + install_element (VIEW_NODE, &show_ipv6_bgp_route_cmd_vtysh);
21809 + install_element (OSPF_NODE, &ospf_distance_ospf_external_inter_intra_cmd_vtysh);
21810 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_route_map_cmd_vtysh);
21811 + install_element (VIEW_NODE, &show_ip_bgp_neighbor_routes_cmd_vtysh);
21812 + install_element (ENABLE_NODE, &no_debug_ospf_lsa_cmd_vtysh);
21813 + install_element (VIEW_NODE, &show_ipv6_bgp_cmd_vtysh);
21814 + install_element (ENABLE_NODE, &clear_bgp_external_cmd_vtysh);
21815 + install_element (BGP_IPV4M_NODE, &no_neighbor_attr_unchanged7_cmd_vtysh);
21816 + install_element (BGP_IPV6_NODE, &no_neighbor_capability_orf_prefix_cmd_vtysh);
21817 + install_element (BGP_IPV4_NODE, &bgp_network_cmd_vtysh);
21818 + install_element (BGP_IPV4M_NODE, &bgp_network_mask_natural_cmd_vtysh);
21819 + install_element (OSPF_NODE, &no_ospf_area_authentication_cmd_vtysh);
21820 + install_element (BGP_NODE, &old_ipv6_aggregate_address_summary_only_cmd_vtysh);
21821 + install_element (BGP_IPV6_NODE, &no_bgp_redistribute_ipv6_rmap_cmd_vtysh);
21822 + install_element (BGP_NODE, &no_bgp_confederation_peers_cmd_vtysh);
21823 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_community_list_exact_cmd_vtysh);
21824 + install_element (VIEW_NODE, &show_ip_bgp_dampened_paths_cmd_vtysh);
21825 + install_element (ENABLE_NODE, &show_ip_bgp_neighbor_advertised_route_cmd_vtysh);
21826 + install_element (CONFIG_NODE, &debug_rip_packet_detail_cmd_vtysh);
21827 + install_element (ENABLE_NODE, &show_bgp_view_prefix_cmd_vtysh);
21828 + install_element (ENABLE_NODE, &show_debugging_zebra_cmd_vtysh);
21829 + install_element (VIEW_NODE, &show_ip_bgp_flap_prefix_list_cmd_vtysh);
21830 + install_element (CONFIG_NODE, &debug_bgp_filter_cmd_vtysh);
21831 + install_element (BGP_IPV6_NODE, &neighbor_allowas_in_cmd_vtysh);
21832 + install_element (BGP_IPV6_NODE, &no_neighbor_default_originate_rmap_cmd_vtysh);
21833 + install_element (BGP_NODE, &bgp_network_mask_backdoor_cmd_vtysh);
21834 + install_element (CONFIG_NODE, &no_ip_route_flags_distance_cmd_vtysh);
21835 + install_element (RMAP_NODE, &ospf6_routemap_set_forwarding_cmd_vtysh);
21836 + install_element (VIEW_NODE, &show_bgp_community_list_cmd_vtysh);
21837 + install_element (ENABLE_NODE, &show_bgp_ipv6_prefix_list_cmd_vtysh);
21838 + install_element (OSPF_NODE, &ospf_redistribute_source_metric_type_cmd_vtysh);
21839 + install_element (BGP_IPV4M_NODE, &neighbor_set_peer_group_cmd_vtysh);
21840 + install_element (CONFIG_NODE, &no_access_list_extended_any_any_cmd_vtysh);
21841 + install_element (ENABLE_NODE, &clear_bgp_as_soft_in_cmd_vtysh);
21842 + install_element (BGP_NODE, &bgp_bestpath_med2_cmd_vtysh);
21843 + install_element (RMAP_NODE, &no_match_ip_next_hop_val_cmd_vtysh);
21844 + install_element (RIPNG_NODE, &no_ipv6_distribute_list_prefix_all_cmd_vtysh);
21845 + install_element (BGP_IPV6_NODE, &ipv6_aggregate_address_cmd_vtysh);
21846 + install_element (BGP_IPV6_NODE, &no_neighbor_maximum_prefix_val2_cmd_vtysh);
21847 + install_element (BGP_IPV4_NODE, &no_neighbor_attr_unchanged10_cmd_vtysh);
21848 + install_element (BGP_NODE, &no_neighbor_enforce_multihop_cmd_vtysh);
21849 + install_element (CONFIG_NODE, &no_debug_bgp_keepalive_cmd_vtysh);
21850 + install_element (BGP_NODE, &no_neighbor_attr_unchanged1_cmd_vtysh);
21851 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_out_cmd_vtysh);
21852 + install_element (RIPNG_NODE, &no_ripng_redistribute_type_routemap_cmd_vtysh);
21853 + install_element (VIEW_NODE, &show_ipv6_ospf6_database_cmd_vtysh);
21854 + install_element (INTERFACE_NODE, &no_ipv6_ripng_split_horizon_poisoned_reverse_cmd_vtysh);
21855 + install_element (CONFIG_NODE, &no_ip_prefix_list_ge_cmd_vtysh);
21856 + install_element (CONFIG_NODE, &debug_rip_zebra_cmd_vtysh);
21857 + install_element (CONFIG_NODE, &debug_ripng_zebra_cmd_vtysh);
21858 + install_element (BGP_IPV4_NODE, &aggregate_address_mask_summary_only_cmd_vtysh);
21859 + install_element (RIP_NODE, &no_rip_default_metric_val_cmd_vtysh);
21860 + install_element (VIEW_NODE, &show_bgp_view_neighbor_flap_cmd_vtysh);
21861 + install_element (RIP_NODE, &no_rip_route_cmd_vtysh);
21862 + install_element (ENABLE_NODE, &show_ip_community_list_arg_cmd_vtysh);
21863 + install_element (ENABLE_NODE, &clear_bgp_ipv6_all_soft_cmd_vtysh);
21864 + install_element (ENABLE_NODE, &show_ipv6_bgp_community_cmd_vtysh);
21865 + install_element (CONFIG_NODE, &no_ip_extcommunity_list_all_cmd_vtysh);
21866 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_ipv4_out_cmd_vtysh);
21867 + install_element (BGP_IPV6_NODE, &neighbor_attr_unchanged8_cmd_vtysh);
21868 + install_element (BGP_NODE, &no_neighbor_local_as_val_cmd_vtysh);
21869 + install_element (VIEW_NODE, &show_ipv6_bgp_community_list_exact_cmd_vtysh);
21870 + install_element (OSPF_NODE, &ospf_default_information_originate_always_type_cmd_vtysh);
21871 + install_element (OSPF_NODE, &ospf_default_information_originate_always_metric_type_routemap_cmd_vtysh);
21872 + install_element (BGP_VPNV4_NODE, &neighbor_attr_unchanged2_cmd_vtysh);
21873 + install_element (BGP_VPNV4_NODE, &neighbor_attr_unchanged_cmd_vtysh);
21874 + install_element (RIP_NODE, &rip_network_cmd_vtysh);
21875 + install_element (CONFIG_NODE, &debug_ospf_packet_all_cmd_vtysh);
21876 + install_element (ENABLE_NODE, &clear_ip_bgp_external_in_cmd_vtysh);
21877 + install_element (ENABLE_NODE, &clear_bgp_instance_all_soft_cmd_vtysh);
21878 + install_element (VIEW_NODE, &show_ip_ospf_database_type_id_cmd_vtysh);
21879 + install_element (ENABLE_NODE, &clear_ip_bgp_all_ipv4_in_cmd_vtysh);
21880 + install_element (CONFIG_NODE, &debug_ospf_ism_cmd_vtysh);
21881 + install_element (CONFIG_NODE, &no_ip_community_list_name_all_cmd_vtysh);
21882 + install_element (VIEW_NODE, &show_ip_bgp_community_list_cmd_vtysh);
21883 + install_element (CONFIG_NODE, &access_list_exact_cmd_vtysh);
21884 + install_element (RMAP_NODE, &no_rmap_onmatch_next_cmd_vtysh);
21885 + install_element (VIEW_NODE, &show_ip_rip_cmd_vtysh);
21886 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_prefix_longer_cmd_vtysh);
21887 + install_element (BGP_VPNV4_NODE, &no_vpnv4_network_cmd_vtysh);
21888 + install_element (KEYCHAIN_NODE, &no_key_cmd_vtysh);
21889 + install_element (INTERFACE_NODE, &no_ospf_retransmit_interval_cmd_vtysh);
21890 + install_element (RIP_NODE, &no_rip_redistribute_type_routemap_cmd_vtysh);
21891 + install_element (BGP_NODE, &neighbor_update_source_cmd_vtysh);
21892 + install_element (BGP_NODE, &no_bgp_redistribute_ipv4_cmd_vtysh);
21893 + install_element (BGP_IPV6_NODE, &no_ipv6_bgp_network_route_map_cmd_vtysh);
21894 + install_element (INTERFACE_NODE, &no_ip_address_cmd_vtysh);
21895 + install_element (ENABLE_NODE, &show_bgp_instance_ipv6_summary_cmd_vtysh);
21896 + install_element (INTERFACE_NODE, &no_ip_ospf_authentication_cmd_vtysh);
21897 + install_element (CONFIG_NODE, &no_ip_prefix_list_prefix_cmd_vtysh);
21898 + install_element (BGP_VPNV4_NODE, &neighbor_set_peer_group_cmd_vtysh);
21899 + install_element (INTERFACE_NODE, &ospf_message_digest_key_cmd_vtysh);
21900 + install_element (BGP_NODE, &no_bgp_scan_time_val_cmd_vtysh);
21901 + install_element (BGP_IPV4_NODE, &neighbor_attr_unchanged8_cmd_vtysh);
21902 + install_element (BGP_NODE, &no_aggregate_address_mask_summary_as_set_cmd_vtysh);
21903 + install_element (ENABLE_NODE, &show_bgp_community_list_exact_cmd_vtysh);
21904 + install_element (VIEW_NODE, &ipv6_mbgp_neighbor_routes_cmd_vtysh);
21905 + install_element (ENABLE_NODE, &no_debug_zebra_packet_cmd_vtysh);
21906 + install_element (ENABLE_NODE, &clear_ip_bgp_all_ipv4_soft_in_cmd_vtysh);
21907 + install_element (BGP_IPV4_NODE, &no_neighbor_route_map_cmd_vtysh);
21908 + install_element (BGP_IPV4_NODE, &no_neighbor_route_reflector_client_cmd_vtysh);
21909 + install_element (BGP_IPV6_NODE, &no_bgp_redistribute_ipv6_cmd_vtysh);
21910 + install_element (RMAP_NODE, &match_community_cmd_vtysh);
21911 + install_element (BGP_IPV4_NODE, &bgp_damp_unset_cmd_vtysh);
21912 + install_element (RIPNG_NODE, &ripng_timers_cmd_vtysh);
21913 + install_element (INTERFACE_NODE, &no_ipv6_ospf6_passive_cmd_vtysh);
21914 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_cmd_vtysh);
21915 + install_element (ENABLE_NODE, &clear_bgp_ipv6_external_in_cmd_vtysh);
21916 + install_element (RMAP_NODE, &no_set_ipv6_nexthop_local_val_cmd_vtysh);
21917 + install_element (ENABLE_NODE, &clear_ip_bgp_as_ipv4_soft_out_cmd_vtysh);
21918 + install_element (OSPF6_NODE, &no_ospf6_redistribute_cmd_vtysh);
21919 + install_element (ENABLE_NODE, &show_ipv6_bgp_community_list_cmd_vtysh);
21920 + install_element (BGP_IPV6_NODE, &neighbor_capability_orf_prefix_cmd_vtysh);
21921 + install_element (ENABLE_NODE, &show_bgp_community2_cmd_vtysh);
21922 + install_element (ENABLE_NODE, &show_ipv6_ospf6_route_prefix_cmd_vtysh);
21923 + install_element (ENABLE_NODE, &clear_ip_bgp_as_in_cmd_vtysh);
21924 + install_element (BGP_VPNV4_NODE, &neighbor_maximum_prefix_cmd_vtysh);
21925 + install_element (ENABLE_NODE, &clear_bgp_as_soft_cmd_vtysh);
21926 + install_element (BGP_NODE, &no_neighbor_maximum_prefix_cmd_vtysh);
21927 + install_element (VIEW_NODE, &show_ip_bgp_community4_cmd_vtysh);
21928 + install_element (RIPNG_NODE, &no_ipv6_distribute_list_cmd_vtysh);
21929 + install_element (INTERFACE_NODE, &ip_ospf_retransmit_interval_addr_cmd_vtysh);
21930 + install_element (BGP_NODE, &no_neighbor_capability_dynamic_cmd_vtysh);
21931 + install_element (ENABLE_NODE, &show_bgp_view_ipv6_neighbor_received_routes_cmd_vtysh);
21932 + install_element (OSPF6_NODE, &ospf6_interface_area_plist_passive_cmd_vtysh);
21933 + install_element (CONFIG_NODE, &no_ip_route_cmd_vtysh);
21934 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbor_received_prefix_filter_cmd_vtysh);
21935 + install_element (BGP_IPV6_NODE, &no_neighbor_attr_unchanged4_cmd_vtysh);
21936 + install_element (VIEW_NODE, &show_bgp_view_neighbor_routes_cmd_vtysh);
21937 + install_element (BGP_IPV4M_NODE, &neighbor_attr_unchanged7_cmd_vtysh);
21938 + install_element (ENABLE_NODE, &clear_bgp_all_soft_cmd_vtysh);
21939 + install_element (ENABLE_NODE, &clear_ip_bgp_external_ipv4_soft_in_cmd_vtysh);
21940 + install_element (RMAP_NODE, &match_ecommunity_cmd_vtysh);
21941 + install_element (VIEW_NODE, &show_bgp_ipv6_neighbors_cmd_vtysh);
21942 + install_element (VIEW_NODE, &show_ip_bgp_view_route_cmd_vtysh);
21943 + install_element (CONFIG_NODE, &ip_prefix_list_ge_cmd_vtysh);
21944 + install_element (ENABLE_NODE, &clear_ip_bgp_external_cmd_vtysh);
21945 + install_element (ENABLE_NODE, &show_ip_route_prefix_cmd_vtysh);
21946 + install_element (ENABLE_NODE, &ipv6_bgp_neighbor_received_routes_cmd_vtysh);
21947 + install_element (BGP_IPV4_NODE, &aggregate_address_mask_summary_as_set_cmd_vtysh);
21948 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_ipv4_soft_in_cmd_vtysh);
21949 + install_element (ENABLE_NODE, &show_ip_bgp_flap_prefix_cmd_vtysh);
21950 + install_element (VIEW_NODE, &show_ipv6_mbgp_filter_list_cmd_vtysh);
21951 + install_element (ENABLE_NODE, &clear_ip_bgp_all_ipv4_soft_cmd_vtysh);
21952 + install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_cmd_vtysh);
21953 + install_element (CONFIG_NODE, &ipv6_prefix_list_sequence_number_cmd_vtysh);
21954 + install_element (CONFIG_NODE, &no_router_rip_cmd_vtysh);
21955 + install_element (VIEW_NODE, &show_ip_ospf_interface_cmd_vtysh);
21956 + install_element (OSPF_NODE, &ospf_distribute_list_out_cmd_vtysh);
21957 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_seq_le_cmd_vtysh);
21958 + install_element (ENABLE_NODE, &show_ipv6_ospf6_route_cmd_vtysh);
21959 + install_element (ENABLE_NODE, &no_debug_ospf_zebra_sub_cmd_vtysh);
21960 + install_element (ENABLE_NODE, &debug_ripng_packet_direct_cmd_vtysh);
21961 + install_element (ENABLE_NODE, &show_ip_bgp_prefix_longer_cmd_vtysh);
21962 + install_element (BGP_NODE, &neighbor_timers_connect_cmd_vtysh);
21963 + install_element (INTERFACE_NODE, &no_ospf_message_digest_key_cmd_vtysh);
21964 + install_element (BGP_IPV4M_NODE, &neighbor_distribute_list_cmd_vtysh);
21965 + install_element (INTERFACE_NODE, &no_ip_rip_authentication_key_chain2_cmd_vtysh);
21966 + install_element (VIEW_NODE, &show_bgp_community_cmd_vtysh);
21967 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_neighbors_cmd_vtysh);
21968 + install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_soft_out_cmd_vtysh);
21969 + install_element (ENABLE_NODE, &no_debug_bgp_normal_cmd_vtysh);
21970 + install_element (ENABLE_NODE, &clear_ip_bgp_dampening_prefix_cmd_vtysh);
21971 + install_element (ENABLE_NODE, &show_bgp_view_neighbor_received_prefix_filter_cmd_vtysh);
21972 + install_element (CONFIG_NODE, &no_ipv6_access_list_all_cmd_vtysh);
21973 + install_element (ENABLE_NODE, &clear_ip_bgp_all_soft_in_cmd_vtysh);
21974 + install_element (RMAP_NODE, &no_match_community_exact_cmd_vtysh);
21975 + install_element (ENABLE_NODE, &clear_bgp_as_soft_out_cmd_vtysh);
21976 + install_element (RIP_NODE, &no_rip_default_metric_cmd_vtysh);
21977 + install_element (RMAP_NODE, &no_set_atomic_aggregate_cmd_vtysh);
21978 + install_element (ENABLE_NODE, &clear_ip_bgp_as_out_cmd_vtysh);
21979 + install_element (OSPF_NODE, &ospf_redistribute_source_type_metric_cmd_vtysh);
21980 + install_element (OSPF_NODE, &ospf_area_stub_no_summary_cmd_vtysh);
21981 + install_element (VIEW_NODE, &show_ip_bgp_community_exact_cmd_vtysh);
21982 + install_element (ENABLE_NODE, &show_ipv6_bgp_prefix_list_cmd_vtysh);
21983 + install_element (VIEW_NODE, &show_bgp_ipv6_summary_cmd_vtysh);
21984 + install_element (ENABLE_NODE, &clear_ip_bgp_external_soft_cmd_vtysh);
21985 + install_element (RIP_NODE, &distribute_list_all_cmd_vtysh);
21986 + install_element (INTERFACE_NODE, &ip_ospf_cost_addr_cmd_vtysh);
21987 + install_element (VIEW_NODE, &show_bgp_prefix_list_cmd_vtysh);
21988 + install_element (BGP_IPV6_NODE, &no_bgp_redistribute_ipv6_rmap_metric_cmd_vtysh);
21989 + install_element (ENABLE_NODE, &show_ip_bgp_paths_cmd_vtysh);
21990 + install_element (INTERFACE_NODE, &linkdetect_cmd_vtysh);
21991 + install_element (RMAP_NODE, &no_match_interface_val_cmd_vtysh);
21992 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_prefix_cmd_vtysh);
21993 + install_element (BGP_NODE, &bgp_deterministic_med_cmd_vtysh);
21994 + install_element (BGP_NODE, &bgp_log_neighbor_changes_cmd_vtysh);
21995 + install_element (VIEW_NODE, &show_ipv6_ospf6_cmd_vtysh);
21996 + install_element (ENABLE_NODE, &clear_bgp_ipv6_external_soft_out_cmd_vtysh);
21997 + install_element (RMAP_NODE, &no_match_aspath_cmd_vtysh);
21998 + install_element (ENABLE_NODE, &show_bgp_view_ipv6_neighbor_advertised_route_cmd_vtysh);
21999 + install_element (ENABLE_NODE, &no_debug_ospf_event_cmd_vtysh);
22000 + install_element (VIEW_NODE, &show_ip_bgp_flap_statistics_cmd_vtysh);
22001 + install_element (BGP_NODE, &no_aggregate_address_as_set_cmd_vtysh);
22002 + install_element (BGP_IPV6_NODE, &no_neighbor_soft_reconfiguration_cmd_vtysh);
22003 + install_element (OSPF_NODE, &ospf_default_information_originate_always_metric_type_cmd_vtysh);
22004 + install_element (ENABLE_NODE, &clear_bgp_external_in_prefix_filter_cmd_vtysh);
22005 + install_element (BGP_IPV4_NODE, &no_neighbor_prefix_list_cmd_vtysh);
22006 + install_element (RMAP_NODE, &no_set_aggregator_as_val_cmd_vtysh);
22007 + install_element (RIPNG_NODE, &no_ripng_route_cmd_vtysh);
22008 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_prefix_longer_cmd_vtysh);
22009 + install_element (BGP_VPNV4_NODE, &neighbor_send_community_cmd_vtysh);
22010 + install_element (ENABLE_NODE, &debug_ospf_packet_all_cmd_vtysh);
22011 + install_element (BGP_VPNV4_NODE, &neighbor_allowas_in_cmd_vtysh);
22012 + install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged3_cmd_vtysh);
22013 + install_element (BGP_IPV4_NODE, &no_neighbor_filter_list_cmd_vtysh);
22014 + install_element (BGP_VPNV4_NODE, &no_neighbor_prefix_list_cmd_vtysh);
22015 + install_element (VIEW_NODE, &show_ip_prefix_list_prefix_cmd_vtysh);
22016 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_tags_cmd_vtysh);
22017 + install_element (BGP_NODE, &no_bgp_network_import_check_cmd_vtysh);
22018 + install_element (ENABLE_NODE, &debug_ospf_packet_send_recv_cmd_vtysh);
22019 + install_element (BGP_NODE, &no_neighbor_local_as_val2_cmd_vtysh);
22020 + install_element (BGP_NODE, &neighbor_attr_unchanged_cmd_vtysh);
22021 + install_element (OSPF_NODE, &ospf_distance_ospf_inter_external_cmd_vtysh);
22022 + install_element (ENABLE_NODE, &clear_bgp_ipv6_as_cmd_vtysh);
22023 + install_element (OSPF_NODE, &ospf_area_authentication_cmd_vtysh);
22024 + install_element (BGP_NODE, &neighbor_remote_as_cmd_vtysh);
22025 + install_element (CONFIG_NODE, &access_list_standard_any_cmd_vtysh);
22026 + install_element (BGP_IPV4_NODE, &bgp_network_mask_cmd_vtysh);
22027 + install_element (ENABLE_NODE, &show_ip_prefix_list_prefix_longer_cmd_vtysh);
22028 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_neighbor_routes_cmd_vtysh);
22029 + install_element (ENABLE_NODE, &clear_ip_bgp_as_soft_out_cmd_vtysh);
22030 + install_element (CONFIG_NODE, &no_access_list_cmd_vtysh);
22031 + install_element (RMAP_NODE, &no_set_ecommunity_soo_cmd_vtysh);
22032 + install_element (CONFIG_NODE, &debug_ospf6_all_cmd_vtysh);
22033 + install_element (BGP_IPV4_NODE, &no_aggregate_address_cmd_vtysh);
22034 + install_element (BGP_IPV4M_NODE, &aggregate_address_mask_summary_only_cmd_vtysh);
22035 + install_element (BGP_VPNV4_NODE, &no_neighbor_remove_private_as_cmd_vtysh);
22036 + install_element (CONFIG_NODE, &debug_ospf6_damp_cmd_vtysh);
22037 + install_element (KEYCHAIN_KEY_NODE, &send_lifetime_month_day_month_day_cmd_vtysh);
22038 + install_element (ENABLE_NODE, &show_bgp_ipv6_community3_cmd_vtysh);
22039 + install_element (BGP_IPV4_NODE, &no_neighbor_maximum_prefix_cmd_vtysh);
22040 + install_element (BGP_NODE, &neighbor_capability_route_refresh_cmd_vtysh);
22041 + install_element (OSPF_NODE, &ospf_redistribute_source_metric_type_routemap_cmd_vtysh);
22042 + install_element (OSPF_NODE, &ospf_area_vlink_authtype_authkey_cmd_vtysh);
22043 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_prefix_cmd_vtysh);
22044 + install_element (ENABLE_NODE, &clear_bgp_ipv6_external_soft_cmd_vtysh);
22045 + install_element (VIEW_NODE, &show_ipv6_ospf6_route_cmd_vtysh);
22046 + install_element (VIEW_NODE, &show_ip_bgp_flap_address_cmd_vtysh);
22047 + install_element (RIP_NODE, &rip_offset_list_cmd_vtysh);
22048 + install_element (CONFIG_NODE, &no_debug_ospf_zebra_cmd_vtysh);
22049 + install_element (ENABLE_NODE, &no_debug_ripng_packet_cmd_vtysh);
22050 + install_element (BGP_IPV4_NODE, &no_neighbor_attr_unchanged1_cmd_vtysh);
22051 + install_element (VIEW_NODE, &show_ip_ospf_database_type_adv_router_cmd_vtysh);
22052 + install_element (ENABLE_NODE, &show_debugging_bgp_cmd_vtysh);
22053 + install_element (CONFIG_NODE, &no_access_list_extended_mask_host_cmd_vtysh);
22054 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_ge_cmd_vtysh);
22055 + install_element (CONFIG_NODE, &ip_extcommunity_list_standard2_cmd_vtysh);
22056 + install_element (INTERFACE_NODE, &ip_ospf_hello_interval_addr_cmd_vtysh);
22057 + install_element (OSPF_NODE, &no_ospf_area_vlink_param4_cmd_vtysh);
22058 + install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_soft_in_cmd_vtysh);
22059 + install_element (BGP_IPV4_NODE, &bgp_damp_set2_cmd_vtysh);
22060 + install_element (BGP_IPV4_NODE, &neighbor_attr_unchanged3_cmd_vtysh);
22061 + install_element (CONFIG_NODE, &access_list_extended_host_host_cmd_vtysh);
22062 + install_element (CONFIG_NODE, &no_access_list_any_cmd_vtysh);
22063 + install_element (CONFIG_NODE, &ip_community_list_name_expanded_cmd_vtysh);
22064 + install_element (INTERFACE_NODE, &ip_rip_receive_version_1_cmd_vtysh);
22065 + install_element (OSPF_NODE, &ospf_default_information_originate_type_metric_cmd_vtysh);
22066 + install_element (BGP_IPV6_NODE, &ipv6_aggregate_address_summary_only_cmd_vtysh);
22067 + install_element (BGP_IPV4M_NODE, &no_neighbor_attr_unchanged10_cmd_vtysh);
22068 + install_element (ENABLE_NODE, &show_ip_bgp_community_list_exact_cmd_vtysh);
22069 + install_element (RIPNG_NODE, &no_if_ipv6_rmap_cmd_vtysh);
22070 + install_element (BGP_IPV6_NODE, &neighbor_default_originate_rmap_cmd_vtysh);
22071 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community2_cmd_vtysh);
22072 + install_element (VIEW_NODE, &show_bgp_ipv6_community_exact_cmd_vtysh);
22073 + install_element (CONFIG_NODE, &ip_prefix_list_description_cmd_vtysh);
22074 + install_element (CONFIG_NODE, &no_ip_community_list_name_expanded_cmd_vtysh);
22075 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_community_exact_cmd_vtysh);
22076 + install_element (CONFIG_NODE, &no_debug_ospf_packet_send_recv_cmd_vtysh);
22077 + install_element (ENABLE_NODE, &show_ipv6_ospf6_topology_cmd_vtysh);
22078 + install_element (ENABLE_NODE, &show_ip_prefix_list_detail_name_cmd_vtysh);
22079 + install_element (BGP_NODE, &neighbor_dont_capability_negotiate_cmd_vtysh);
22080 + install_element (OSPF_NODE, &no_ospf_area_range_cost_cmd_vtysh);
22081 + install_element (BGP_IPV4M_NODE, &no_aggregate_address_cmd_vtysh);
22082 + install_element (INTERFACE_NODE, &no_ip_rip_authentication_string2_cmd_vtysh);
22083 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_in_cmd_vtysh);
22084 + install_element (RMAP_NODE, &no_match_tag_cmd_vtysh);
22085 + install_element (BGP_NODE, &neighbor_default_originate_cmd_vtysh);
22086 + install_element (VIEW_NODE, &show_debugging_ripng_cmd_vtysh);
22087 + install_element (ENABLE_NODE, &show_ipv6_ospf6_area_spf_node_cmd_vtysh);
22088 + install_element (BGP_IPV4_NODE, &no_neighbor_attr_unchanged2_cmd_vtysh);
22089 + install_element (VIEW_NODE, &show_ipv6_mbgp_community_exact_cmd_vtysh);
22090 + install_element (ENABLE_NODE, &show_bgp_ipv6_community2_exact_cmd_vtysh);
22091 + install_element (ENABLE_NODE, &clear_ip_bgp_all_ipv4_out_cmd_vtysh);
22092 + install_element (BGP_NODE, &bgp_enforce_first_as_cmd_vtysh);
22093 + install_element (VIEW_NODE, &show_ip_prefix_list_summary_cmd_vtysh);
22094 + install_element (INTERFACE_NODE, &no_ip_ospf_authentication_key_cmd_vtysh);
22095 + install_element (VIEW_NODE, &show_ip_bgp_route_map_cmd_vtysh);
22096 + install_element (CONFIG_NODE, &no_ip_route_flags2_cmd_vtysh);
22097 + install_element (ENABLE_NODE, &show_ipv6_ospf6_cmd_vtysh);
22098 + install_element (BGP_IPV4_NODE, &no_aggregate_address_mask_summary_as_set_cmd_vtysh);
22099 + install_element (ENABLE_NODE, &ipv6_bgp_neighbor_advertised_route_cmd_vtysh);
22100 + install_element (RIP_NODE, &no_distribute_list_prefix_cmd_vtysh);
22101 + install_element (BGP_IPV4M_NODE, &bgp_network_cmd_vtysh);
22102 + install_element (CONFIG_NODE, &no_access_list_standard_any_cmd_vtysh);
22103 + install_element (OSPF_NODE, &ospf_distance_ospf_intra_external_inter_cmd_vtysh);
22104 + install_element (BGP_IPV4_NODE, &neighbor_send_community_type_cmd_vtysh);
22105 + install_element (ENABLE_NODE, &undebug_bgp_all_cmd_vtysh);
22106 + install_element (ENABLE_NODE, &debug_bgp_filter_cmd_vtysh);
22107 + install_element (INTERFACE_NODE, &ip_ospf_network_cmd_vtysh);
22108 + install_element (BGP_NODE, &aggregate_address_cmd_vtysh);
22109 + install_element (OSPF_NODE, &ospf_neighbor_priority_cmd_vtysh);
22110 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_route_cmd_vtysh);
22111 + install_element (OSPF_NODE, &ospf_passive_interface_addr_cmd_vtysh);
22112 + install_element (INTERFACE_NODE, &ospf_authentication_key_cmd_vtysh);
22113 + install_element (ENABLE_NODE, &clear_bgp_ipv6_external_out_cmd_vtysh);
22114 + install_element (CONFIG_NODE, &no_access_list_extended_any_host_cmd_vtysh);
22115 + install_element (RMAP_NODE, &no_match_metric_val_cmd_vtysh);
22116 + install_element (ENABLE_NODE, &clear_bgp_as_in_cmd_vtysh);
22117 + install_element (OSPF_NODE, &ospf_rfc1583_flag_cmd_vtysh);
22118 + install_element (CONFIG_NODE, &ip_prefix_list_seq_cmd_vtysh);
22119 + install_element (INTERFACE_NODE, &no_ip_address_secondary_cmd_vtysh);
22120 + install_element (CONFIG_NODE, &config_table_cmd_vtysh);
22121 + install_element (INTERFACE_NODE, &bandwidth_if_cmd_vtysh);
22122 + install_element (BGP_NODE, &bgp_network_mask_natural_cmd_vtysh);
22123 + install_element (RMAP_NODE, &no_set_ipv6_nexthop_global_cmd_vtysh);
22124 + install_element (VIEW_NODE, &show_ipv6_prefix_list_name_seq_cmd_vtysh);
22125 + install_element (BGP_NODE, &no_neighbor_send_community_type_cmd_vtysh);
22126 + install_element (RMAP_NODE, &no_match_ip_next_hop_prefix_list_val_cmd_vtysh);
22127 + install_element (VIEW_NODE, &show_bgp_instance_ipv6_neighbors_cmd_vtysh);
22128 + install_element (BGP_IPV6_NODE, &ipv6_bgp_network_route_map_cmd_vtysh);
22129 + install_element (BGP_NODE, &bgp_redistribute_ipv4_metric_rmap_cmd_vtysh);
22130 + install_element (ENABLE_NODE, &debug_ospf_ism_sub_cmd_vtysh);
22131 + install_element (ENABLE_NODE, &reload_cmd_vtysh);
22132 + install_element (INTERFACE_NODE, &no_ip_ospf_cost_cmd_vtysh);
22133 + install_element (RIP_NODE, &no_rip_redistribute_type_metric_cmd_vtysh);
22134 + install_element (ZEBRA_NODE, &no_rip_redistribute_rip_cmd_vtysh);
22135 + install_element (CONFIG_NODE, &ip_community_list_standard2_cmd_vtysh);
22136 + install_element (ENABLE_NODE, &show_ip_ospf_neighbor_id_cmd_vtysh);
22137 + install_element (BGP_VPNV4_NODE, &no_neighbor_send_community_cmd_vtysh);
22138 + install_element (VIEW_NODE, &show_ipv6_mbgp_community_list_exact_cmd_vtysh);
22139 + install_element (OSPF_NODE, &ospf_default_metric_cmd_vtysh);
22140 + install_element (ENABLE_NODE, &clear_bgp_peer_group_out_cmd_vtysh);
22141 + install_element (VIEW_NODE, &show_bgp_neighbor_routes_cmd_vtysh);
22142 + install_element (OSPF_NODE, &no_ospf_router_id_cmd_vtysh);
22143 + install_element (VIEW_NODE, &show_ip_bgp_prefix_list_cmd_vtysh);
22144 + install_element (ENABLE_NODE, &show_bgp_view_neighbor_damp_cmd_vtysh);
22145 + install_element (BGP_NODE, &no_bgp_confederation_identifier_cmd_vtysh);
22146 + install_element (INTERFACE_NODE, &no_ip_ospf_cost_addr_cmd_vtysh);
22147 + install_element (RIP_NODE, &no_rip_distance_cmd_vtysh);
22148 + install_element (ENABLE_NODE, &show_bgp_view_neighbor_received_routes_cmd_vtysh);
22149 + install_element (ENABLE_NODE, &show_ipv6_ospf6_neighbor_cmd_vtysh);
22150 + install_element (RMAP_NODE, &ospf6_routemap_no_set_forwarding_cmd_vtysh);
22151 + install_element (VIEW_NODE, &show_ipv6_bgp_community2_cmd_vtysh);
22152 + install_element (OSPF_NODE, &ospf_default_information_originate_type_cmd_vtysh);
22153 + install_element (ENABLE_NODE, &show_ipv6_ospf6_topology_router_cmd_vtysh);
22154 + install_element (CONFIG_NODE, &ipv6_prefix_list_seq_le_ge_cmd_vtysh);
22155 + install_element (CONFIG_NODE, &debug_zebra_packet_direct_cmd_vtysh);
22156 + install_element (ENABLE_NODE, &clear_ip_bgp_external_soft_in_cmd_vtysh);
22157 + install_element (VIEW_NODE, &show_ipv6_ospf6_area_spf_tree_cmd_vtysh);
22158 + install_element (BGP_NODE, &no_neighbor_soft_reconfiguration_cmd_vtysh);
22159 + install_element (BGP_IPV4_NODE, &neighbor_attr_unchanged9_cmd_vtysh);
22160 + install_element (VIEW_NODE, &show_ip_extcommunity_list_cmd_vtysh);
22161 + install_element (BGP_IPV4M_NODE, &neighbor_attr_unchanged6_cmd_vtysh);
22162 + install_element (BGP_IPV6_NODE, &neighbor_attr_unchanged_cmd_vtysh);
22163 + install_element (INTERFACE_NODE, &ipv6_ripng_split_horizon_poisoned_reverse_cmd_vtysh);
22164 + install_element (ENABLE_NODE, &show_bgp_ipv6_community_list_exact_cmd_vtysh);
22165 + install_element (BGP_IPV4M_NODE, &no_aggregate_address_as_set_summary_cmd_vtysh);
22166 + install_element (BGP_IPV4_NODE, &aggregate_address_summary_only_cmd_vtysh);
22167 + install_element (ENABLE_NODE, &show_ip_bgp_community3_cmd_vtysh);
22168 + install_element (BGP_NODE, &neighbor_set_peer_group_cmd_vtysh);
22169 + install_element (RIP_NODE, &no_distribute_list_prefix_all_cmd_vtysh);
22170 + install_element (RIP_NODE, &distribute_list_prefix_cmd_vtysh);
22171 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_out_cmd_vtysh);
22172 + install_element (ENABLE_NODE, &show_ip_rip_cmd_vtysh);
22173 + install_element (ENABLE_NODE, &clear_ip_bgp_all_vpnv4_in_cmd_vtysh);
22174 + install_element (INTERFACE_NODE, &no_ip_ospf_message_digest_key_cmd_vtysh);
22175 + install_element (MPLS_LS_INTERFACE_NODE, &no_label_map_cmd_vtysh);
22176 + install_element (BGP_NODE, &neighbor_attr_unchanged10_cmd_vtysh);
22177 + install_element (OSPF_NODE, &no_ospf_network_area_cmd_vtysh);
22178 + install_element (BGP_NODE, &neighbor_attr_unchanged5_cmd_vtysh);
22179 + install_element (RMAP_NODE, &match_ipv6_address_cmd_vtysh);
22180 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_summary_cmd_vtysh);
22181 + install_element (BGP_NODE, &no_neighbor_attr_unchanged4_cmd_vtysh);
22182 + install_element (BGP_IPV6_NODE, &bgp_redistribute_ipv6_metric_cmd_vtysh);
22183 + install_element (INTERFACE_NODE, &no_ip_address_label_cmd_vtysh);
22184 + install_element (BGP_IPV6_NODE, &no_neighbor_attr_unchanged8_cmd_vtysh);
22185 + install_element (RIPNG_NODE, &ripng_redistribute_type_cmd_vtysh);
22186 + install_element (BGP_IPV4M_NODE, &no_neighbor_filter_list_cmd_vtysh);
22187 + install_element (ENABLE_NODE, &ipv6_bgp_neighbor_routes_cmd_vtysh);
22188 + install_element (BGP_IPV4M_NODE, &no_neighbor_maximum_prefix_cmd_vtysh);
22189 + install_element (BGP_IPV4M_NODE, &no_neighbor_attr_unchanged1_cmd_vtysh);
22190 + install_element (ENABLE_NODE, &clear_ip_bgp_all_cmd_vtysh);
22191 + install_element (BGP_NODE, &neighbor_attr_unchanged1_cmd_vtysh);
22192 + install_element (RMAP_NODE, &no_set_origin_val_cmd_vtysh);
22193 + install_element (VIEW_NODE, &show_ipv6_ospf6_area_topology_router_lsid_cmd_vtysh);
22194 + install_element (OSPF_NODE, &no_ospf_neighbor_cmd_vtysh);
22195 + install_element (BGP_IPV6_NODE, &neighbor_attr_unchanged10_cmd_vtysh);
22196 + install_element (VIEW_NODE, &show_ip_ospf_database_type_cmd_vtysh);
22197 + install_element (ENABLE_NODE, &show_bgp_ipv6_prefix_cmd_vtysh);
22198 + install_element (ENABLE_NODE, &show_zebra_client_cmd_vtysh);
22199 + install_element (BGP_IPV4M_NODE, &no_neighbor_attr_unchanged4_cmd_vtysh);
22200 + install_element (CONFIG_NODE, &debug_ripng_packet_cmd_vtysh);
22201 + install_element (ENABLE_NODE, &show_ip_ospf_interface_cmd_vtysh);
22202 + install_element (VIEW_NODE, &show_ip_rip_status_cmd_vtysh);
22203 + install_element (BGP_IPV4_NODE, &no_neighbor_attr_unchanged6_cmd_vtysh);
22204 + install_element (VIEW_NODE, &show_ip_bgp_community2_exact_cmd_vtysh);
22205 + install_element (ENABLE_NODE, &show_ipv6_route_protocol_cmd_vtysh);
22206 + install_element (BGP_IPV4M_NODE, &no_neighbor_attr_unchanged9_cmd_vtysh);
22207 + install_element (VIEW_NODE, &show_bgp_community_exact_cmd_vtysh);
22208 + install_element (ENABLE_NODE, &clear_ip_bgp_all_vpnv4_soft_out_cmd_vtysh);
22209 + install_element (ENABLE_NODE, &clear_ip_bgp_all_out_cmd_vtysh);
22210 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_cidr_only_cmd_vtysh);
22211 + install_element (BGP_NODE, &neighbor_version_cmd_vtysh);
22212 + install_element (ENABLE_NODE, &clear_bgp_peer_soft_cmd_vtysh);
22213 + install_element (CONFIG_NODE, &no_ipv6_route_cmd_vtysh);
22214 + install_element (BGP_IPV4M_NODE, &neighbor_soft_reconfiguration_cmd_vtysh);
22215 + install_element (BGP_IPV4_NODE, &neighbor_allowas_in_cmd_vtysh);
22216 + install_element (OSPF_NODE, &ospf_redistribute_source_metric_routemap_cmd_vtysh);
22217 + install_element (BGP_NODE, &no_neighbor_local_as_cmd_vtysh);
22218 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community4_exact_cmd_vtysh);
22219 + install_element (ENABLE_NODE, &show_ip_extcommunity_list_arg_cmd_vtysh);
22220 + install_element (ENABLE_NODE, &show_bgp_neighbors_peer_cmd_vtysh);
22221 + install_element (BGP_IPV4_NODE, &no_aggregate_address_as_set_cmd_vtysh);
22222 + install_element (OSPF_NODE, &ospf_distance_ospf_intra_external_cmd_vtysh);
22223 + install_element (CONFIG_NODE, &ip_route_flags_cmd_vtysh);
22224 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_ipv4_in_cmd_vtysh);
22225 + install_element (ENABLE_NODE, &show_bgp_view_ipv6_cmd_vtysh);
22226 + install_element (VIEW_NODE, &show_bgp_community4_cmd_vtysh);
22227 + install_element (VIEW_NODE, &show_ipv6_bgp_community_list_cmd_vtysh);
22228 + install_element (BGP_NODE, &bgp_network_mask_route_map_cmd_vtysh);
22229 + install_element (ENABLE_NODE, &show_ipv6_mbgp_community_list_exact_cmd_vtysh);
22230 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_soft_out_cmd_vtysh);
22231 + install_element (RMAP_NODE, &match_ip_next_hop_prefix_list_cmd_vtysh);
22232 + install_element (VIEW_NODE, &show_bgp_ipv6_community_list_exact_cmd_vtysh);
22233 + install_element (BGP_IPV4M_NODE, &bgp_network_mask_route_map_cmd_vtysh);
22234 + install_element (INTERFACE_NODE, &multicast_cmd_vtysh);
22235 + install_element (BGP_NODE, &bgp_damp_set2_cmd_vtysh);
22236 + install_element (INTERFACE_NODE, &no_ospf_transmit_delay_cmd_vtysh);
22237 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community4_cmd_vtysh);
22238 + install_element (ENABLE_NODE, &clear_ip_bgp_dampening_cmd_vtysh);
22239 + install_element (BGP_IPV4M_NODE, &no_neighbor_attr_unchanged3_cmd_vtysh);
22240 + install_element (BGP_IPV4_NODE, &aggregate_address_cmd_vtysh);
22241 + install_element (RIPNG_NODE, &no_ripng_default_metric_cmd_vtysh);
22242 + install_element (CONFIG_NODE, &no_router_bgp_cmd_vtysh);
22243 + install_element (CONFIG_NODE, &no_ip_prefix_list_seq_ge_cmd_vtysh);
22244 + install_element (BGP_IPV4_NODE, &bgp_damp_set3_cmd_vtysh);
22245 + install_element (KEYCHAIN_KEY_NODE, &send_lifetime_day_month_day_month_cmd_vtysh);
22246 + install_element (BGP_IPV4M_NODE, &no_bgp_network_mask_natural_cmd_vtysh);
22247 + install_element (ENABLE_NODE, &no_debug_rip_zebra_cmd_vtysh);
22248 + install_element (RMAP_NODE, &set_metric_addsub_cmd_vtysh);
22249 + install_element (ENABLE_NODE, &show_ipv6_forwarding_cmd_vtysh);
22250 + install_element (BGP_NODE, &no_neighbor_version_cmd_vtysh);
22251 + install_element (ENABLE_NODE, &show_ip_bgp_cmd_vtysh);
22252 + install_element (VIEW_NODE, &show_bgp_ipv6_community_list_cmd_vtysh);
22253 + install_element (CONFIG_NODE, &no_router_bgp_view_cmd_vtysh);
22254 + install_element (BGP_IPV4_NODE, &no_aggregate_address_as_set_summary_cmd_vtysh);
22255 + install_element (RMAP_NODE, &no_set_vpnv4_nexthop_cmd_vtysh);
22256 + install_element (BGP_NODE, &neighbor_capability_orf_prefix_cmd_vtysh);
22257 + install_element (CONFIG_NODE, &no_ip_as_path_all_cmd_vtysh);
22258 + install_element (BGP_IPV4M_NODE, &no_bgp_network_mask_natural_route_map_cmd_vtysh);
22259 + install_element (BGP_VPNV4_NODE, &no_neighbor_allowas_in_cmd_vtysh);
22260 + install_element (BGP_VPNV4_NODE, &neighbor_filter_list_cmd_vtysh);
22261 + install_element (ENABLE_NODE, &show_ipv6_ospf6_database_type_id_adv_router_dump_cmd_vtysh);
22262 + install_element (VIEW_NODE, &show_ip_bgp_filter_list_cmd_vtysh);
22263 + install_element (BGP_IPV4_NODE, &neighbor_default_originate_rmap_cmd_vtysh);
22264 + install_element (BGP_NODE, &neighbor_description_cmd_vtysh);
22265 + install_element (BGP_NODE, &no_bgp_network_cmd_vtysh);
22266 + install_element (BGP_IPV4M_NODE, &neighbor_attr_unchanged1_cmd_vtysh);
22267 + install_element (RMAP_NODE, &set_tag_cmd_vtysh);
22268 + install_element (KEYCHAIN_KEY_NODE, &accept_lifetime_month_day_month_day_cmd_vtysh);
22269 + install_element (VIEW_NODE, &show_ip_prefix_list_summary_name_cmd_vtysh);
22270 + install_element (ENABLE_NODE, &show_ipv6_mbgp_community_exact_cmd_vtysh);
22271 + install_element (ENABLE_NODE, &no_debug_bgp_update_cmd_vtysh);
22272 + install_element (BGP_IPV6_NODE, &neighbor_activate_cmd_vtysh);
22273 + install_element (BGP_IPV6_NODE, &no_neighbor_route_map_cmd_vtysh);
22274 + install_element (BGP_NODE, &no_neighbor_advertise_interval_cmd_vtysh);
22275 + install_element (VIEW_NODE, &show_bgp_view_neighbor_received_routes_cmd_vtysh);
22276 + install_element (BGP_IPV6_NODE, &ipv6_bgp_network_cmd_vtysh);
22277 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_neighbor_routes_cmd_vtysh);
22278 + install_element (BGP_IPV4M_NODE, &neighbor_attr_unchanged5_cmd_vtysh);
22279 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_neighbor_advertised_routes_cmd_vtysh);
22280 + install_element (BGP_VPNV4_NODE, &neighbor_route_map_cmd_vtysh);
22281 + install_element (ENABLE_NODE, &no_debug_ospf_lsa_sub_cmd_vtysh);
22282 + install_element (INTERFACE_NODE, &no_ip_rip_authentication_string_cmd_vtysh);
22283 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_community_list_cmd_vtysh);
22284 + install_element (CONFIG_NODE, &debug_rip_packet_direct_cmd_vtysh);
22285 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_neighbors_peer_cmd_vtysh);
22286 + install_element (RIP_NODE, &no_rip_distance_source_access_list_cmd_vtysh);
22287 + install_element (VIEW_NODE, &show_version_ospf6_cmd_vtysh);
22288 + install_element (RMAP_NODE, &no_set_vpnv4_nexthop_val_cmd_vtysh);
22289 + install_element (VIEW_NODE, &show_bgp_ipv6_neighbors_peer_cmd_vtysh);
22290 + install_element (CONFIG_NODE, &ipv6_prefix_list_ge_le_cmd_vtysh);
22291 + install_element (ENABLE_NODE, &no_debug_bgp_events_cmd_vtysh);
22292 + install_element (CONFIG_NODE, &ipv6_route_ifname_pref_cmd_vtysh);
22293 + install_element (RMAP_NODE, &no_match_interface_cmd_vtysh);
22294 + install_element (CONFIG_NODE, &debug_bgp_update_direct_cmd_vtysh);
22295 + install_element (BGP_NODE, &bgp_network_cmd_vtysh);
22296 + install_element (INTERFACE_NODE, &no_ip_ospf_hello_interval_cmd_vtysh);
22297 + install_element (VIEW_NODE, &show_ipv6_route_addr_cmd_vtysh);
22298 + install_element (ENABLE_NODE, &show_ipv6_ospf6_area_spf_tree_cmd_vtysh);
22299 + install_element (INTERFACE_NODE, &ip_rip_split_horizon_poisoned_reverse_cmd_vtysh);
22300 + install_element (CONFIG_NODE, &debug_ospf_packet_send_recv_detail_cmd_vtysh);
22301 + install_element (BGP_VPNV4_NODE, &neighbor_route_reflector_client_cmd_vtysh);
22302 + install_element (CONFIG_NODE, &no_debug_ripng_packet_cmd_vtysh);
22303 + install_element (BGP_IPV6_NODE, &neighbor_remove_private_as_cmd_vtysh);
22304 + install_element (BGP_IPV4M_NODE, &no_neighbor_capability_orf_prefix_cmd_vtysh);
22305 + install_element (BGP_IPV4M_NODE, &aggregate_address_as_set_summary_cmd_vtysh);
22306 + install_element (BGP_IPV4M_NODE, &no_aggregate_address_mask_summary_only_cmd_vtysh);
22307 + install_element (VIEW_NODE, &show_bgp_ipv6_neighbor_received_routes_cmd_vtysh);
22308 + install_element (BGP_IPV4_NODE, &neighbor_attr_unchanged_cmd_vtysh);
22309 + install_element (ENABLE_NODE, &clear_bgp_peer_in_prefix_filter_cmd_vtysh);
22310 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_out_cmd_vtysh);
22311 + install_element (BGP_NODE, &bgp_redistribute_ipv4_rmap_metric_cmd_vtysh);
22312 + install_element (BGP_IPV4_NODE, &neighbor_attr_unchanged6_cmd_vtysh);
22313 + install_element (BGP_NODE, &no_bgp_network_backdoor_cmd_vtysh);
22314 + install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_soft_cmd_vtysh);
22315 + install_element (BGP_IPV4M_NODE, &no_neighbor_remove_private_as_cmd_vtysh);
22316 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_community_cmd_vtysh);
22317 + install_element (INTERFACE_NODE, &no_ospf_dead_interval_cmd_vtysh);
22318 + install_element (OSPF_NODE, &no_ospf_area_vlink_cmd_vtysh);
22319 + install_element (BGP_IPV4M_NODE, &bgp_network_mask_natural_route_map_cmd_vtysh);
22320 + install_element (BGP_IPV6_NODE, &neighbor_unsuppress_map_cmd_vtysh);
22321 + install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_soft_cmd_vtysh);
22322 + install_element (ENABLE_NODE, &no_debug_ospf_ism_cmd_vtysh);
22323 + install_element (ENABLE_NODE, &clear_bgp_ipv6_as_soft_in_cmd_vtysh);
22324 + install_element (CONFIG_NODE, &debug_ospf_lsa_cmd_vtysh);
22325 + install_element (RMAP_NODE, &no_match_ipv6_address_cmd_vtysh);
22326 + install_element (VIEW_NODE, &show_ip_route_prefix_cmd_vtysh);
22327 + install_element (ENABLE_NODE, &show_ip_bgp_summary_cmd_vtysh);
22328 + install_element (INTERFACE_NODE, &ip_rip_authentication_string_cmd_vtysh);
22329 + install_element (ENABLE_NODE, &clear_bgp_peer_group_in_prefix_filter_cmd_vtysh);
22330 + install_element (CONFIG_NODE, &no_access_list_extended_host_host_cmd_vtysh);
22331 + install_element (VIEW_NODE, &show_ipv6_bgp_community3_exact_cmd_vtysh);
22332 + install_element (ENABLE_NODE, &clear_ip_bgp_external_ipv4_soft_out_cmd_vtysh);
22333 + install_element (RIP_NODE, &no_rip_version_cmd_vtysh);
22334 + install_element (BGP_IPV4_NODE, &neighbor_remove_private_as_cmd_vtysh);
22335 + install_element (ENABLE_NODE, &show_ip_prefix_list_name_seq_cmd_vtysh);
22336 + install_element (CONFIG_NODE, &no_debug_ripng_events_cmd_vtysh);
22337 + install_element (BGP_VPNV4_NODE, &no_neighbor_unsuppress_map_cmd_vtysh);
22338 + install_element (CONFIG_NODE, &ip_prefix_list_seq_ge_cmd_vtysh);
22339 + install_element (BGP_NODE, &no_neighbor_timers_connect_val_cmd_vtysh);
22340 + install_element (VIEW_NODE, &show_bgp_ipv6_route_map_cmd_vtysh);
22341 + install_element (OSPF_NODE, &ospf_router_id_cmd_vtysh);
22342 + install_element (RMAP_NODE, &set_metric_type_cmd_vtysh);
22343 + install_element (BGP_IPV6_NODE, &no_neighbor_route_server_client_cmd_vtysh);
22344 + install_element (CONFIG_NODE, &debug_zebra_packet_cmd_vtysh);
22345 + install_element (ENABLE_NODE, &show_ipv6_mbgp_community4_cmd_vtysh);
22346 + install_element (VIEW_NODE, &show_ip_community_list_arg_cmd_vtysh);
22347 + install_element (RIPNG_NODE, &ripng_passive_interface_cmd_vtysh);
22348 + install_element (CONFIG_NODE, &no_ip_route_mask_flags_cmd_vtysh);
22349 + install_element (CONFIG_NODE, &no_ip_route_distance_cmd_vtysh);
22350 + install_element (BGP_VPNV4_NODE, &no_neighbor_route_map_cmd_vtysh);
22351 + install_element (OSPF_NODE, &ospf_distance_ospf_external_inter_cmd_vtysh);
22352 + install_element (CONFIG_NODE, &ip_as_path_cmd_vtysh);
22353 + install_element (VIEW_NODE, &ipv6_bgp_neighbor_received_routes_cmd_vtysh);
22354 + install_element (VIEW_NODE, &show_bgp_ipv6_filter_list_cmd_vtysh);
22355 + install_element (BGP_IPV4M_NODE, &no_neighbor_attr_unchanged2_cmd_vtysh);
22356 + install_element (OSPF_NODE, &ospf_area_export_list_cmd_vtysh);
22357 + install_element (CONFIG_NODE, &no_debug_bgp_update_cmd_vtysh);
22358 + install_element (RMAP_NODE, &match_ip_address_cmd_vtysh);
22359 + install_element (ENABLE_NODE, &undebug_bgp_filter_cmd_vtysh);
22360 + install_element (RIP_NODE, &no_rip_offset_list_cmd_vtysh);
22361 + install_element (VIEW_NODE, &show_ip_extcommunity_list_arg_cmd_vtysh);
22362 + install_element (BGP_IPV4_NODE, &bgp_damp_unset2_cmd_vtysh);
22363 + install_element (INTERFACE_NODE, &no_ip_ospf_retransmit_interval_cmd_vtysh);
22364 + install_element (ENABLE_NODE, &show_ip_bgp_regexp_cmd_vtysh);
22365 + install_element (VIEW_NODE, &show_bgp_neighbor_damp_cmd_vtysh);
22366 + install_element (BGP_NODE, &neighbor_activate_cmd_vtysh);
22367 + install_element (INTERFACE_NODE, &ip_ospf_message_digest_key_addr_cmd_vtysh);
22368 + install_element (RMAP_NODE, &match_community_exact_cmd_vtysh);
22369 + install_element (CONFIG_NODE, &access_list_extended_mask_any_cmd_vtysh);
22370 + install_element (VIEW_NODE, &show_bgp_view_ipv6_neighbor_routes_cmd_vtysh);
22371 + install_element (BGP_NODE, &bgp_network_mask_cmd_vtysh);
22372 + install_element (BGP_IPV4_NODE, &bgp_network_mask_natural_route_map_cmd_vtysh);
22373 + install_element (BGP_IPV6_NODE, &no_neighbor_maximum_prefix_val_cmd_vtysh);
22374 + install_element (INTERFACE_NODE, &ip_rip_authentication_mode_cmd_vtysh);
22375 + install_element (RIPNG_NODE, &no_ripng_default_information_originate_cmd_vtysh);
22376 + install_element (VIEW_NODE, &show_ip_bgp_community_list_exact_cmd_vtysh);
22377 + install_element (BGP_IPV4_NODE, &neighbor_attr_unchanged7_cmd_vtysh);
22378 + install_element (VIEW_NODE, &show_ip_prefix_list_prefix_longer_cmd_vtysh);
22379 + install_element (ENABLE_NODE, &show_ip_ospf_neighbor_all_cmd_vtysh);
22380 + install_element (BGP_IPV4_NODE, &no_neighbor_distribute_list_cmd_vtysh);
22381 + install_element (RMAP_NODE, &no_set_metric_val_cmd_vtysh);
22382 + install_element (VIEW_NODE, &show_ip_bgp_flap_regexp_cmd_vtysh);
22383 + install_element (BGP_NODE, &bgp_damp_unset2_cmd_vtysh);
22384 + install_element (CONFIG_NODE, &no_ip_extcommunity_list_name_standard_cmd_vtysh);
22385 + install_element (INTERFACE_NODE, &no_ip_ospf_hello_interval_addr_cmd_vtysh);
22386 + install_element (RMAP_NODE, &no_match_ip_address_cmd_vtysh);
22387 + install_element (ENABLE_NODE, &clear_bgp_all_out_cmd_vtysh);
22388 + install_element (OSPF6_NODE, &ospf6_area_range_cmd_vtysh);
22389 + install_element (BGP_IPV4M_NODE, &no_neighbor_maximum_prefix_val_cmd_vtysh);
22390 + install_element (ENABLE_NODE, &show_ipv6_ospf6_area_route_cmd_vtysh);
22391 + install_element (BGP_IPV4M_NODE, &aggregate_address_mask_summary_as_set_cmd_vtysh);
22392 + install_element (CONFIG_NODE, &no_route_map_cmd_vtysh);
22393 + install_element (RIPNG_NODE, &no_ripng_timers_cmd_vtysh);
22394 + install_element (VIEW_NODE, &show_bgp_view_ipv6_neighbor_received_prefix_filter_cmd_vtysh);
22395 + install_element (BGP_IPV6_NODE, &neighbor_attr_unchanged1_cmd_vtysh);
22396 + install_element (ENABLE_NODE, &debug_zebra_packet_cmd_vtysh);
22397 + install_element (ENABLE_NODE, &debug_ripng_packet_detail_cmd_vtysh);
22398 + install_element (BGP_NODE, &bgp_confederation_identifier_cmd_vtysh);
22399 + install_element (KEYCHAIN_KEY_NODE, &send_lifetime_day_month_month_day_cmd_vtysh);
22400 + install_element (CONFIG_NODE, &access_list_extended_any_mask_cmd_vtysh);
22401 + install_element (ENABLE_NODE, &show_ip_bgp_view_route_cmd_vtysh);
22402 + install_element (BGP_NODE, &neighbor_attr_unchanged8_cmd_vtysh);
22403 + install_element (BGP_IPV4M_NODE, &no_neighbor_unsuppress_map_cmd_vtysh);
22404 + install_element (ENABLE_NODE, &clear_bgp_peer_group_soft_in_cmd_vtysh);
22405 + install_element (BGP_IPV4M_NODE, &neighbor_attr_unchanged10_cmd_vtysh);
22406 + install_element (ENABLE_NODE, &clear_bgp_ipv6_external_cmd_vtysh);
22407 + install_element (BGP_IPV4_NODE, &no_aggregate_address_mask_as_set_cmd_vtysh);
22408 + install_element (BGP_IPV6_NODE, &no_neighbor_send_community_type_cmd_vtysh);
22409 + install_element (INTERFACE_NODE, &no_bandwidth_if_val_cmd_vtysh);
22410 + install_element (OSPF_NODE, &ospf_redistribute_source_cmd_vtysh);
22411 + install_element (VIEW_NODE, &show_bgp_ipv6_neighbor_received_prefix_filter_cmd_vtysh);
22412 + install_element (BGP_NODE, &old_ipv6_bgp_network_cmd_vtysh);
22413 + install_element (VIEW_NODE, &show_ipv6_prefix_list_summary_name_cmd_vtysh);
22414 + install_element (BGP_NODE, &no_aggregate_address_summary_only_cmd_vtysh);
22415 + install_element (BGP_IPV6_NODE, &no_neighbor_attr_unchanged2_cmd_vtysh);
22416 + install_element (ENABLE_NODE, &no_debug_ripng_events_cmd_vtysh);
22417 + install_element (BGP_IPV4_NODE, &neighbor_maximum_prefix_warning_cmd_vtysh);
22418 + install_element (VIEW_NODE, &show_ip_bgp_cmd_vtysh);
22419 + install_element (RIP_NODE, &no_if_rmap_cmd_vtysh);
22420 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_neighbor_received_prefix_filter_cmd_vtysh);
22421 + install_element (BGP_NODE, &no_neighbor_filter_list_cmd_vtysh);
22422 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_soft_out_cmd_vtysh);
22423 + install_element (CONFIG_NODE, &no_ipv6_route_ifname_flags_pref_cmd_vtysh);
22424 + install_element (ENABLE_NODE, &show_ip_ospf_database_type_adv_router_cmd_vtysh);
22425 + install_element (ENABLE_NODE, &show_ipv6_mbgp_community3_exact_cmd_vtysh);
22426 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_paths_cmd_vtysh);
22427 + install_element (CONFIG_NODE, &ip_community_list_name_standard_cmd_vtysh);
22428 + install_element (CONFIG_NODE, &ip_route_flags_distance2_cmd_vtysh);
22429 + install_element (VIEW_NODE, &show_ipv6_ospf6_neighbor_routerid_cmd_vtysh);
22430 + install_element (ENABLE_NODE, &show_bgp_route_cmd_vtysh);
22431 + install_element (BGP_IPV4M_NODE, &no_neighbor_attr_unchanged8_cmd_vtysh);
22432 + install_element (BGP_IPV4M_NODE, &neighbor_send_community_cmd_vtysh);
22433 + install_element (BGP_NODE, &aggregate_address_summary_only_cmd_vtysh);
22434 + install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged10_cmd_vtysh);
22435 + install_element (BGP_IPV6_NODE, &no_neighbor_route_reflector_client_cmd_vtysh);
22436 + install_element (RIPNG_NODE, &no_ripng_default_metric_val_cmd_vtysh);
22437 + install_element (ENABLE_NODE, &clear_bgp_as_in_prefix_filter_cmd_vtysh);
22438 + install_element (VIEW_NODE, &show_ipv6_ospf6_topology_router_cmd_vtysh);
22439 + install_element (BGP_NODE, &old_no_ipv6_bgp_network_cmd_vtysh);
22440 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_tags_cmd_vtysh);
22441 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbor_advertised_route_cmd_vtysh);
22442 + install_element (RIP_NODE, &no_rip_default_information_originate_cmd_vtysh);
22443 + install_element (KEYCHAIN_KEY_NODE, &send_lifetime_duration_day_month_cmd_vtysh);
22444 + install_element (BGP_IPV4_NODE, &neighbor_nexthop_self_cmd_vtysh);
22445 + install_element (OSPF_NODE, &ospf_area_vlink_authtype_args_md5_cmd_vtysh);
22446 + install_element (VIEW_NODE, &show_ip_bgp_community_info_cmd_vtysh);
22447 + install_element (RMAP_NODE, &no_match_community_val_cmd_vtysh);
22448 + install_element (VIEW_NODE, &show_ip_bgp_flap_route_map_cmd_vtysh);
22449 + install_element (VIEW_NODE, &show_ip_bgp_community3_cmd_vtysh);
22450 + install_element (BGP_NODE, &no_neighbor_cmd_vtysh);
22451 + install_element (OSPF_NODE, &ospf_area_vlink_param2_cmd_vtysh);
22452 + install_element (INTERFACE_NODE, &no_ipv6_ospf6_advertise_force_prefix_cmd_vtysh);
22453 + install_element (VIEW_NODE, &show_ipv6_ospf6_neighbor_cmd_vtysh);
22454 + install_element (VIEW_NODE, &show_bgp_route_map_cmd_vtysh);
22455 + install_element (BGP_NODE, &neighbor_attr_unchanged3_cmd_vtysh);
22456 + install_element (CONFIG_NODE, &debug_ripng_events_cmd_vtysh);
22457 + install_element (OSPF_NODE, &ospf_area_vlink_param4_cmd_vtysh);
22458 + install_element (BGP_NODE, &neighbor_attr_unchanged9_cmd_vtysh);
22459 + install_element (ENABLE_NODE, &show_ipv6_mbgp_prefix_list_cmd_vtysh);
22460 + install_element (OSPF_NODE, &ospf_redistribute_source_type_cmd_vtysh);
22461 + install_element (CONFIG_NODE, &no_debug_ospf_ism_cmd_vtysh);
22462 + install_element (OSPF6_NODE, &ospf6_redistribute_routemap_cmd_vtysh);
22463 + install_element (CONFIG_NODE, &access_list_cmd_vtysh);
22464 + install_element (VIEW_NODE, &show_ip_prefix_list_name_seq_cmd_vtysh);
22465 + install_element (VIEW_NODE, &show_ip_bgp_flap_filter_list_cmd_vtysh);
22466 + install_element (OSPF_NODE, &no_ospf_area_range_advertise_cost_cmd_vtysh);
22467 + install_element (CONFIG_NODE, &no_ip_prefix_list_sequence_number_cmd_vtysh);
22468 + install_element (VIEW_NODE, &show_ipv6_mbgp_community3_exact_cmd_vtysh);
22469 + install_element (RMAP_NODE, &no_match_ipv6_next_hop_cmd_vtysh);
22470 + install_element (CONFIG_NODE, &no_debug_ripng_packet_direct_cmd_vtysh);
22471 + install_element (INTERFACE_NODE, &ip_ospf_cost_cmd_vtysh);
22472 + install_element (INTERFACE_NODE, &no_ip_ospf_retransmit_interval_addr_cmd_vtysh);
22473 + install_element (BGP_IPV4M_NODE, &no_bgp_network_cmd_vtysh);
22474 + install_element (ENABLE_NODE, &show_ipv6_mbgp_community2_exact_cmd_vtysh);
22475 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_in_cmd_vtysh);
22476 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community_cmd_vtysh);
22477 + install_element (BGP_IPV6_NODE, &no_neighbor_attr_unchanged1_cmd_vtysh);
22478 + install_element (BGP_IPV6_NODE, &neighbor_soft_reconfiguration_cmd_vtysh);
22479 + install_element (BGP_IPV4_NODE, &no_bgp_network_mask_natural_route_map_cmd_vtysh);
22480 + install_element (ENABLE_NODE, &debug_zebra_kernel_cmd_vtysh);
22481 + install_element (BGP_NODE, &no_neighbor_attr_unchanged10_cmd_vtysh);
22482 + install_element (VIEW_NODE, &show_ip_bgp_paths_cmd_vtysh);
22483 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_ipv4_soft_out_cmd_vtysh);
22484 + install_element (BGP_NODE, &bgp_damp_set3_cmd_vtysh);
22485 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_ipv4_soft_out_cmd_vtysh);
22486 + install_element (OSPF_NODE, &no_ospf_compatible_rfc1583_cmd_vtysh);
22487 + install_element (ENABLE_NODE, &clear_ip_prefix_list_name_cmd_vtysh);
22488 + install_element (ENABLE_NODE, &show_ipv6_bgp_community_list_exact_cmd_vtysh);
22489 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_ipv4_in_prefix_filter_cmd_vtysh);
22490 + install_element (CONFIG_NODE, &ip_route_mask_flags2_cmd_vtysh);
22491 + install_element (ENABLE_NODE, &clear_bgp_as_out_cmd_vtysh);
22492 + install_element (RMAP_NODE, &no_set_origin_cmd_vtysh);
22493 + install_element (CONFIG_NODE, &no_debug_rip_zebra_cmd_vtysh);
22494 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_prefix_list_cmd_vtysh);
22495 + install_element (ENABLE_NODE, &show_bgp_ipv6_community3_exact_cmd_vtysh);
22496 + install_element (CONFIG_NODE, &no_ipv6_route_ifname_pref_cmd_vtysh);
22497 + install_element (ENABLE_NODE, &clear_bgp_ipv6_all_in_cmd_vtysh);
22498 + install_element (BGP_IPV4M_NODE, &no_neighbor_distribute_list_cmd_vtysh);
22499 + install_element (ENABLE_NODE, &debug_ospf_nsm_sub_cmd_vtysh);
22500 + install_element (VIEW_NODE, &show_bgp_community_list_exact_cmd_vtysh);
22501 + install_element (OSPF_NODE, &ospf_area_import_list_cmd_vtysh);
22502 + install_element (INTERFACE_NODE, &ip_ospf_dead_interval_cmd_vtysh);
22503 + install_element (VIEW_NODE, &show_bgp_filter_list_cmd_vtysh);
22504 + install_element (ENABLE_NODE, &show_ip_ospf_cmd_vtysh);
22505 + install_element (ENABLE_NODE, &show_bgp_ipv6_regexp_cmd_vtysh);
22506 + install_element (OSPF_NODE, &ospf_default_information_originate_always_type_metric_routemap_cmd_vtysh);
22507 + install_element (VIEW_NODE, &show_ip_bgp_neighbor_received_prefix_filter_cmd_vtysh);
22508 + install_element (CONFIG_NODE, &no_ip_community_list_name_standard_cmd_vtysh);
22509 + install_element (RMAP_NODE, &match_ip_address_prefix_list_cmd_vtysh);
22510 + install_element (CONFIG_NODE, &ipv6_route_ifname_flags_cmd_vtysh);
22511 + install_element (BGP_IPV4M_NODE, &aggregate_address_as_set_cmd_vtysh);
22512 + install_element (VIEW_NODE, &show_debugging_zebra_cmd_vtysh);
22513 + install_element (INTERFACE_NODE, &ip_ospf_hello_interval_cmd_vtysh);
22514 + install_element (ENABLE_NODE, &show_ip_ospf_database_type_cmd_vtysh);
22515 + install_element (CONFIG_NODE, &no_router_ospf_cmd_vtysh);
22516 + install_element (INTERFACE_NODE, &no_ip_rip_authentication_mode_type_cmd_vtysh);
22517 + install_element (ENABLE_NODE, &show_ipv6_bgp_community_all_cmd_vtysh);
22518 + install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged1_cmd_vtysh);
22519 + install_element (OSPF_NODE, &ospf_distance_ospf_external_intra_cmd_vtysh);
22520 + install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_ipv4_soft_out_cmd_vtysh);
22521 + install_element (CONFIG_NODE, &no_ip_community_list_standard_cmd_vtysh);
22522 + install_element (ENABLE_NODE, &show_ipv6_bgp_community2_exact_cmd_vtysh);
22523 + install_element (CONFIG_NODE, &access_list_standard_cmd_vtysh);
22524 + install_element (INTERFACE_NODE, &ip_ospf_retransmit_interval_cmd_vtysh);
22525 + install_element (RMAP_NODE, &match_ipv6_address_prefix_list_cmd_vtysh);
22526 + install_element (BGP_NODE, &no_neighbor_port_val_cmd_vtysh);
22527 + install_element (BGP_NODE, &neighbor_transparent_nexthop_cmd_vtysh);
22528 + install_element (BGP_NODE, &no_neighbor_attr_unchanged2_cmd_vtysh);
22529 + install_element (OSPF_NODE, &ospf_distance_ospf_external_cmd_vtysh);
22530 + install_element (INTERFACE_NODE, &ip_rip_receive_version_2_cmd_vtysh);
22531 + install_element (ENABLE_NODE, &show_ip_bgp_community2_exact_cmd_vtysh);
22532 + install_element (CONFIG_NODE, &dump_bgp_updates_cmd_vtysh);
22533 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_neighbor_advertised_routes_cmd_vtysh);
22534 + install_element (OSPF_NODE, &ospf_distance_cmd_vtysh);
22535 + install_element (BGP_NODE, &bgp_always_compare_med_cmd_vtysh);
22536 + install_element (RIPNG_NODE, &no_ripng_aggregate_address_cmd_vtysh);
22537 + install_element (RMAP_NODE, &no_set_metric_type_val_cmd_vtysh);
22538 + install_element (BGP_NODE, &no_neighbor_activate_cmd_vtysh);
22539 + install_element (BGP_NODE, &no_neighbor_shutdown_cmd_vtysh);
22540 + install_element (INTERFACE_NODE, &no_ospf_cost_cmd_vtysh);
22541 + install_element (CONFIG_NODE, &ipv6_route_flags_pref_cmd_vtysh);
22542 + install_element (CONFIG_NODE, &bgp_multiple_instance_cmd_vtysh);
22543 + install_element (ENABLE_NODE, &show_ipv6_ripng_status_cmd_vtysh);
22544 + install_element (OSPF_NODE, &no_ospf_area_filter_list_cmd_vtysh);
22545 + install_element (RMAP_NODE, &match_tag_cmd_vtysh);
22546 + install_element (BGP_IPV4M_NODE, &no_neighbor_soft_reconfiguration_cmd_vtysh);
22547 + install_element (BGP_NODE, &no_neighbor_set_peer_group_cmd_vtysh);
22548 + install_element (INTERFACE_NODE, &ip_ospf_priority_cmd_vtysh);
22549 + install_element (ENABLE_NODE, &show_ip_route_protocol_cmd_vtysh);
22550 + install_element (VIEW_NODE, &show_ip_as_path_access_list_cmd_vtysh);
22551 + install_element (VIEW_NODE, &show_bgp_regexp_cmd_vtysh);
22552 + install_element (BGP_NODE, &no_neighbor_override_capability_cmd_vtysh);
22553 + install_element (BGP_IPV4_NODE, &neighbor_maximum_prefix_cmd_vtysh);
22554 + install_element (ENABLE_NODE, &ipv6_mbgp_neighbor_advertised_route_cmd_vtysh);
22555 + install_element (BGP_IPV6_NODE, &no_bgp_redistribute_ipv6_metric_cmd_vtysh);
22556 + install_element (BGP_NODE, &no_neighbor_peer_group_cmd_vtysh);
22557 + install_element (CONFIG_NODE, &debug_rip_events_cmd_vtysh);
22558 + install_element (VIEW_NODE, &show_ip_ospf_neighbor_detail_all_cmd_vtysh);
22559 + install_element (VIEW_NODE, &show_bgp_ipv6_community4_exact_cmd_vtysh);
22560 + install_element (BGP_NODE, &neighbor_send_community_cmd_vtysh);
22561 + install_element (BGP_NODE, &no_neighbor_send_community_cmd_vtysh);
22562 + install_element (BGP_IPV6_NODE, &no_neighbor_filter_list_cmd_vtysh);
22563 + install_element (BGP_IPV6_NODE, &neighbor_nexthop_self_cmd_vtysh);
22564 + install_element (BGP_NODE, &no_neighbor_timers_cmd_vtysh);
22565 + install_element (OSPF_NODE, &ospf_refresh_timer_cmd_vtysh);
22566 + install_element (ENABLE_NODE, &clear_ip_bgp_external_ipv4_in_prefix_filter_cmd_vtysh);
22567 + install_element (BGP_IPV6_NODE, &bgp_redistribute_ipv6_cmd_vtysh);
22568 + install_element (VIEW_NODE, &show_ipv6_prefix_list_prefix_cmd_vtysh);
22569 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_neighbor_advertised_routes_cmd_vtysh);
22570 + install_element (RIPNG_NODE, &no_ripng_passive_interface_cmd_vtysh);
22571 + install_element (ENABLE_NODE, &show_bgp_view_ipv6_prefix_cmd_vtysh);
22572 + install_element (BGP_NODE, &neighbor_transparent_as_cmd_vtysh);
22573 + install_element (OSPF_NODE, &no_ospf_area_range_advertise_cmd_vtysh);
22574 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_route_cmd_vtysh);
22575 + install_element (CONFIG_NODE, &no_access_list_standard_host_cmd_vtysh);
22576 + install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged2_cmd_vtysh);
22577 + install_element (OSPF_NODE, &ospf_distance_ospf_intra_inter_cmd_vtysh);
22578 + install_element (BGP_NODE, &no_neighbor_attr_unchanged9_cmd_vtysh);
22579 + install_element (BGP_IPV6_NODE, &neighbor_attr_unchanged7_cmd_vtysh);
22580 + install_element (ENABLE_NODE, &clear_ip_bgp_all_in_prefix_filter_cmd_vtysh);
22581 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_soft_cmd_vtysh);
22582 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_neighbor_routes_cmd_vtysh);
22583 + install_element (OSPF_NODE, &no_ospf_area_import_list_cmd_vtysh);
22584 + install_element (ENABLE_NODE, &show_bgp_ipv6_cmd_vtysh);
22585 + install_element (ENABLE_NODE, &show_table_cmd_vtysh);
22586 + install_element (VIEW_NODE, &show_bgp_route_cmd_vtysh);
22587 + install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_out_cmd_vtysh);
22588 + install_element (ENABLE_NODE, &show_bgp_neighbors_cmd_vtysh);
22589 + install_element (CONFIG_NODE, &ipv6_prefix_list_seq_cmd_vtysh);
22590 + install_element (BGP_IPV4M_NODE, &neighbor_allowas_in_arg_cmd_vtysh);
22591 + install_element (ENABLE_NODE, &show_ipv6_bgp_community4_exact_cmd_vtysh);
22592 + install_element (ENABLE_NODE, &show_ipv6_mbgp_route_cmd_vtysh);
22593 + install_element (INTERFACE_NODE, &shutdown_if_cmd_vtysh);
22594 + install_element (RIPNG_NODE, &ripng_offset_list_ifname_cmd_vtysh);
22595 + install_element (BGP_VPNV4_NODE, &vpnv4_network_cmd_vtysh);
22596 + install_element (ENABLE_NODE, &clear_ip_bgp_dampening_address_mask_cmd_vtysh);
22597 + install_element (CONFIG_NODE, &no_key_chain_cmd_vtysh);
22598 + install_element (ENABLE_NODE, &clear_bgp_ipv6_as_in_prefix_filter_cmd_vtysh);
22599 + install_element (INTERFACE_NODE, &ip_ospf_transmit_delay_addr_cmd_vtysh);
22600 + install_element (ENABLE_NODE, &debug_ospf_ism_cmd_vtysh);
22601 + install_element (ZEBRA_NODE, &no_ripng_redistribute_ripng_cmd_vtysh);
22602 + install_element (ENABLE_NODE, &show_ip_bgp_instance_ipv4_summary_cmd_vtysh);
22603 + install_element (VIEW_NODE, &show_bgp_ipv6_prefix_cmd_vtysh);
22604 + install_element (BGP_NODE, &no_bgp_cluster_id_cmd_vtysh);
22605 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_soft_in_cmd_vtysh);
22606 + install_element (CONFIG_NODE, &no_ip_prefix_list_description_arg_cmd_vtysh);
22607 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_neighbors_peer_cmd_vtysh);
22608 + install_element (ENABLE_NODE, &show_bgp_ipv6_prefix_longer_cmd_vtysh);
22609 + install_element (CONFIG_NODE, &no_ip_route_flags_distance2_cmd_vtysh);
22610 + install_element (ENABLE_NODE, &show_ipv6_mbgp_community3_cmd_vtysh);
22611 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_ipv4_in_cmd_vtysh);
22612 + install_element (ENABLE_NODE, &show_ip_extcommunity_list_cmd_vtysh);
22613 + install_element (BGP_IPV4_NODE, &no_neighbor_attr_unchanged3_cmd_vtysh);
22614 + install_element (INTERFACE_NODE, &ospf_network_cmd_vtysh);
22615 + install_element (BGP_IPV4_NODE, &neighbor_attr_unchanged5_cmd_vtysh);
22616 + install_element (ENABLE_NODE, &show_bgp_ipv6_route_map_cmd_vtysh);
22617 + install_element (RMAP_NODE, &set_atomic_aggregate_cmd_vtysh);
22618 + install_element (BGP_IPV4M_NODE, &neighbor_activate_cmd_vtysh);
22619 + install_element (BGP_IPV4M_NODE, &neighbor_remove_private_as_cmd_vtysh);
22620 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_summary_cmd_vtysh);
22621 + install_element (BGP_NODE, &no_bgp_fast_external_failover_cmd_vtysh);
22622 + install_element (BGP_NODE, &neighbor_attr_unchanged7_cmd_vtysh);
22623 + install_element (INTERFACE_NODE, &ip_rip_send_version_1_cmd_vtysh);
22624 + install_element (BGP_VPNV4_NODE, &no_neighbor_filter_list_cmd_vtysh);
22625 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community3_cmd_vtysh);
22626 + install_element (ENABLE_NODE, &show_ipv6_bgp_filter_list_cmd_vtysh);
22627 + install_element (BGP_NODE, &bgp_network_mask_natural_backdoor_cmd_vtysh);
22628 + install_element (ENABLE_NODE, &show_ip_bgp_flap_statistics_cmd_vtysh);
22629 + install_element (ENABLE_NODE, &show_bgp_ipv6_neighbors_cmd_vtysh);
22630 + install_element (OSPF6_NODE, &ospf6_router_id_cmd_vtysh);
22631 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_route_map_cmd_vtysh);
22632 + install_element (ENABLE_NODE, &clear_ip_prefix_list_name_prefix_cmd_vtysh);
22633 + install_element (VIEW_NODE, &show_bgp_view_ipv6_neighbor_advertised_route_cmd_vtysh);
22634 + install_element (OSPF_NODE, &no_ospf_area_range_cmd_vtysh);
22635 + install_element (CONFIG_NODE, &ipv6_route_cmd_vtysh);
22636 + install_element (INTERFACE_NODE, &ipv6_ospf6_transmitdelay_cmd_vtysh);
22637 + install_element (INTERFACE_NODE, &no_bandwidth_if_cmd_vtysh);
22638 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community3_exact_cmd_vtysh);
22639 + install_element (RIP_NODE, &rip_redistribute_type_cmd_vtysh);
22640 + install_element (BGP_IPV4_NODE, &bgp_network_mask_route_map_cmd_vtysh);
22641 + install_element (BGP_NODE, &no_bgp_default_local_preference_cmd_vtysh);
22642 + install_element (OSPF_NODE, &no_ospf_rfc1583_flag_cmd_vtysh);
22643 + install_element (OSPF_NODE, &ospf_redistribute_source_type_metric_routemap_cmd_vtysh);
22644 + install_element (BGP_IPV4M_NODE, &no_neighbor_attr_unchanged5_cmd_vtysh);
22645 + install_element (VIEW_NODE, &show_bgp_community4_exact_cmd_vtysh);
22646 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_ipv4_soft_cmd_vtysh);
22647 + install_element (CONFIG_NODE, &no_debug_ospf_zebra_sub_cmd_vtysh);
22648 + install_element (ENABLE_NODE, &show_zebra_cmd_vtysh);
22649 + install_element (BGP_IPV6_NODE, &neighbor_attr_unchanged2_cmd_vtysh);
22650 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_neighbor_advertised_route_cmd_vtysh);
22651 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community_all_cmd_vtysh);
22652 + install_element (ENABLE_NODE, &show_ipv6_ospf6_topology_router_lsid_cmd_vtysh);
22653 + install_element (INTERFACE_NODE, &ospf_cost_cmd_vtysh);
22654 + install_element (ENABLE_NODE, &clear_bgp_peer_cmd_vtysh);
22655 + install_element (OSPF_NODE, &no_ospf_distribute_list_out_cmd_vtysh);
22656 + install_element (ENABLE_NODE, &show_ipv6_route_cmd_vtysh);
22657 + install_element (BGP_IPV4_NODE, &no_aggregate_address_mask_cmd_vtysh);
22658 + install_element (CONFIG_NODE, &debug_bgp_keepalive_cmd_vtysh);
22659 + install_element (BGP_IPV6_NODE, &neighbor_maximum_prefix_cmd_vtysh);
22660 + install_element (RMAP_NODE, &no_set_tag_cmd_vtysh);
22661 + install_element (RIPNG_NODE, &ipv6_distribute_list_all_cmd_vtysh);
22662 + install_element (INTERFACE_NODE, &ip_ospf_authentication_addr_cmd_vtysh);
22663 + install_element (VIEW_NODE, &show_bgp_ipv6_route_cmd_vtysh);
22664 + install_element (VIEW_NODE, &show_ipv6_ospf6_area_topology_cmd_vtysh);
22665 + install_element (ENABLE_NODE, &show_bgp_neighbor_damp_cmd_vtysh);
22666 + install_element (VIEW_NODE, &show_bgp_instance_ipv6_neighbors_peer_cmd_vtysh);
22667 + install_element (OSPF_NODE, &ospf_default_information_originate_always_type_routemap_cmd_vtysh);
22668 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community2_exact_cmd_vtysh);
22669 + install_element (BGP_IPV6_NODE, &no_ipv6_bgp_network_cmd_vtysh);
22670 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_description_arg_cmd_vtysh);
22671 + install_element (BGP_NODE, &no_bgp_timers_cmd_vtysh);
22672 + install_element (ENABLE_NODE, &clear_bgp_peer_in_cmd_vtysh);
22673 + install_element (CONFIG_NODE, &no_debug_ospf_event_cmd_vtysh);
22674 + install_element (INTERFACE_NODE, &ipv6_ospf6_instance_cmd_vtysh);
22675 + install_element (CONFIG_NODE, &no_ipv6_forwarding_cmd_vtysh);
22676 + install_element (VIEW_NODE, &show_ipv6_bgp_community2_exact_cmd_vtysh);
22677 + install_element (ENABLE_NODE, &show_version_ospf6_cmd_vtysh);
22678 + install_element (ZEBRA_NODE, &ripng_redistribute_ripng_cmd_vtysh);
22679 + install_element (ENABLE_NODE, &show_ip_bgp_neighbor_flap_cmd_vtysh);
22680 + install_element (CONFIG_NODE, &ipv6_route_ifname_cmd_vtysh);
22681 + install_element (CONFIG_NODE, &access_list_standard_host_cmd_vtysh);
22682 + install_element (BGP_NODE, &no_bgp_distance_source_cmd_vtysh);
22683 + install_element (ENABLE_NODE, &show_bgp_view_route_cmd_vtysh);
22684 + install_element (INTERFACE_NODE, &no_ip_rip_receive_version_cmd_vtysh);
22685 + install_element (ENABLE_NODE, &debug_rip_packet_cmd_vtysh);
22686 + install_element (VIEW_NODE, &show_ip_bgp_neighbors_cmd_vtysh);
22687 + install_element (OSPF_NODE, &no_ospf_auto_cost_reference_bandwidth_cmd_vtysh);
22688 + install_element (BGP_IPV4M_NODE, &neighbor_route_server_client_cmd_vtysh);
22689 + install_element (BGP_NODE, &bgp_network_import_check_cmd_vtysh);
22690 + install_element (BGP_NODE, &bgp_network_mask_natural_route_map_cmd_vtysh);
22691 + install_element (CONFIG_NODE, &dump_bgp_all_interval_cmd_vtysh);
22692 + install_element (BGP_NODE, &neighbor_route_map_cmd_vtysh);
22693 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_ge_le_cmd_vtysh);
22694 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_cmd_vtysh);
22695 + install_element (BGP_NODE, &neighbor_default_originate_rmap_cmd_vtysh);
22696 + install_element (CONFIG_NODE, &ipv6_access_list_remark_cmd_vtysh);
22697 + install_element (ENABLE_NODE, &show_bgp_ipv6_community_exact_cmd_vtysh);
22698 + install_element (RIPNG_NODE, &ripng_route_cmd_vtysh);
22699 + install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged9_cmd_vtysh);
22700 + install_element (ENABLE_NODE, &show_ip_bgp_filter_list_cmd_vtysh);
22701 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_community4_cmd_vtysh);
22702 + install_element (VIEW_NODE, &show_ipv6_bgp_community4_exact_cmd_vtysh);
22703 + install_element (ENABLE_NODE, &show_bgp_ipv6_neighbor_advertised_route_cmd_vtysh);
22704 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_neighbors_peer_cmd_vtysh);
22705 + install_element (BGP_IPV6_NODE, &neighbor_send_community_cmd_vtysh);
22706 + install_element (BGP_NODE, &neighbor_interface_cmd_vtysh);
22707 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_neighbors_cmd_vtysh);
22708 + install_element (ENABLE_NODE, &clear_ip_bgp_external_soft_out_cmd_vtysh);
22709 + install_element (BGP_NODE, &no_neighbor_unsuppress_map_cmd_vtysh);
22710 + install_element (CONFIG_NODE, &access_list_any_cmd_vtysh);
22711 + install_element (KEYCHAIN_KEY_NODE, &accept_lifetime_day_month_day_month_cmd_vtysh);
22712 + install_element (ENABLE_NODE, &clear_ip_bgp_as_soft_in_cmd_vtysh);
22713 + install_element (ENABLE_NODE, &show_bgp_ipv6_summary_cmd_vtysh);
22714 + install_element (BGP_NODE, &no_neighbor_attr_unchanged5_cmd_vtysh);
22715 + install_element (ENABLE_NODE, &clear_ip_bgp_external_ipv4_out_cmd_vtysh);
22716 + install_element (BGP_NODE, &no_neighbor_remote_as_cmd_vtysh);
22717 + install_element (BGP_NODE, &no_neighbor_prefix_list_cmd_vtysh);
22718 + install_element (BGP_IPV6_NODE, &neighbor_attr_unchanged3_cmd_vtysh);
22719 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_out_cmd_vtysh);
22720 + install_element (ENABLE_NODE, &show_ip_bgp_community4_exact_cmd_vtysh);
22721 + install_element (ENABLE_NODE, &show_bgp_filter_list_cmd_vtysh);
22722 + install_element (RIPNG_NODE, &no_ipv6_distribute_list_all_cmd_vtysh);
22723 + install_element (BGP_IPV4M_NODE, &no_aggregate_address_mask_as_set_cmd_vtysh);
22724 + install_element (RIPNG_NODE, &no_ripng_redistribute_type_cmd_vtysh);
22725 + install_element (OSPF_NODE, &no_ospf_area_vlink_authtype_md5_cmd_vtysh);
22726 + install_element (RMAP_NODE, &no_set_community_none_cmd_vtysh);
22727 + install_element (BGP_NODE, &no_bgp_always_compare_med_cmd_vtysh);
22728 + install_element (VIEW_NODE, &show_ipv6_ospf6_route_prefix_cmd_vtysh);
22729 + install_element (ENABLE_NODE, &show_bgp_cmd_vtysh);
22730 + install_element (OSPF_NODE, &ospf_distance_ospf_external_intra_inter_cmd_vtysh);
22731 + install_element (BGP_IPV4M_NODE, &neighbor_attr_unchanged3_cmd_vtysh);
22732 + install_element (VIEW_NODE, &show_ipv6_route_prefix_cmd_vtysh);
22733 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_seq_ge_cmd_vtysh);
22734 + install_element (ENABLE_NODE, &clear_bgp_peer_out_cmd_vtysh);
22735 + install_element (VIEW_NODE, &show_ipv6_bgp_community4_cmd_vtysh);
22736 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_in_prefix_filter_cmd_vtysh);
22737 + install_element (VIEW_NODE, &show_ipv6_bgp_community3_cmd_vtysh);
22738 + install_element (OSPF6_NODE, &ospf6_flap_damping_route_cmd_vtysh);
22739 + install_element (BGP_IPV4_NODE, &no_aggregate_address_mask_as_set_summary_cmd_vtysh);
22740 + install_element (RMAP_NODE, &set_origin_cmd_vtysh);
22741 + install_element (ENABLE_NODE, &no_debug_ospf_packet_send_recv_detail_cmd_vtysh);
22742 + install_element (RMAP_NODE, &match_metric_cmd_vtysh);
22743 + install_element (INTERFACE_NODE, &no_ip_rip_receive_version_num_cmd_vtysh);
22744 + install_element (CONFIG_NODE, &no_debug_rip_packet_direct_cmd_vtysh);
22745 + install_element (CONFIG_NODE, &ipv6_route_pref_cmd_vtysh);
22746 + install_element (ENABLE_NODE, &clear_bgp_ipv6_as_in_cmd_vtysh);
22747 + install_element (OSPF_NODE, &no_ospf_refresh_timer_val_cmd_vtysh);
22748 + install_element (ENABLE_NODE, &no_debug_rip_packet_cmd_vtysh);
22749 + install_element (ENABLE_NODE, &show_ip_bgp_neighbor_routes_cmd_vtysh);
22750 + install_element (ENABLE_NODE, &clear_ip_bgp_all_soft_out_cmd_vtysh);
22751 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_soft_out_cmd_vtysh);
22752 + install_element (CONFIG_NODE, &no_ip_prefix_list_seq_le_ge_cmd_vtysh);
22753 + install_element (KEYCHAIN_KEY_NODE, &accept_lifetime_duration_day_month_cmd_vtysh);
22754 + install_element (VIEW_NODE, &show_ip_bgp_route_cmd_vtysh);
22755 + install_element (VIEW_NODE, &show_ipv6_ospf6_interface_ifname_cmd_vtysh);
22756 + install_element (BGP_NODE, &no_bgp_bestpath_med3_cmd_vtysh);
22757 + install_element (BGP_NODE, &no_bgp_distance_source_access_list_cmd_vtysh);
22758 + install_element (RMAP_NODE, &no_match_community_cmd_vtysh);
22759 + install_element (BGP_NODE, &no_aggregate_address_summary_as_set_cmd_vtysh);
22760 + install_element (BGP_VPNV4_NODE, &neighbor_attr_unchanged4_cmd_vtysh);
22761 + install_element (ENABLE_NODE, &debug_ospf_zebra_sub_cmd_vtysh);
22762 + install_element (RMAP_NODE, &match_aspath_cmd_vtysh);
22763 + install_element (BGP_IPV4M_NODE, &neighbor_filter_list_cmd_vtysh);
22764 + install_element (BGP_NODE, &bgp_distance_cmd_vtysh);
22765 + install_element (ENABLE_NODE, &show_ipv6_ospf6_area_topology_router_lsid_cmd_vtysh);
22766 + install_element (VIEW_NODE, &show_ipv6_forwarding_cmd_vtysh);
22767 + install_element (ENABLE_NODE, &show_ipv6_bgp_community2_cmd_vtysh);
22768 + install_element (BGP_NODE, &neighbor_timers_cmd_vtysh);
22769 + install_element (ENABLE_NODE, &clear_bgp_external_soft_cmd_vtysh);
22770 + install_element (ENABLE_NODE, &show_bgp_neighbor_advertised_route_cmd_vtysh);
22771 + install_element (OSPF_NODE, &no_ospf_area_stub_cmd_vtysh);
22772 + install_element (ENABLE_NODE, &show_ip_ospf_neighbor_detail_cmd_vtysh);
22773 + install_element (ENABLE_NODE, &clear_bgp_external_in_cmd_vtysh);
22774 + install_element (OSPF_NODE, &no_ospf_area_vlink_md5_cmd_vtysh);
22775 + install_element (RIP_NODE, &no_rip_timers_val_cmd_vtysh);
22776 + install_element (RMAP_NODE, &no_set_originator_id_cmd_vtysh);
22777 + install_element (BGP_IPV6_NODE, &bgp_redistribute_ipv6_rmap_metric_cmd_vtysh);
22778 + install_element (ENABLE_NODE, &show_ip_bgp_prefix_cmd_vtysh);
22779 + install_element (RIP_NODE, &rip_neighbor_cmd_vtysh);
22780 + install_element (VIEW_NODE, &show_bgp_view_route_cmd_vtysh);
22781 + install_element (BGP_IPV4M_NODE, &neighbor_attr_unchanged9_cmd_vtysh);
22782 + install_element (CONFIG_NODE, &access_list_extended_any_any_cmd_vtysh);
22783 + install_element (BGP_NODE, &no_bgp_log_neighbor_changes_cmd_vtysh);
22784 + install_element (BGP_NODE, &no_auto_summary_cmd_vtysh);
22785 + install_element (BGP_NODE, &no_neighbor_route_reflector_client_cmd_vtysh);
22786 + install_element (CONFIG_NODE, &ip_prefix_list_le_ge_cmd_vtysh);
22787 + install_element (BGP_NODE, &no_bgp_deterministic_med_cmd_vtysh);
22788 + install_element (VIEW_NODE, &show_bgp_ipv6_community_cmd_vtysh);
22789 + install_element (KEYCHAIN_KEY_NODE, &no_key_chain_cmd_vtysh);
22790 + install_element (BGP_IPV4M_NODE, &neighbor_attr_unchanged4_cmd_vtysh);
22791 + install_element (INTERFACE_NODE, &no_ip_rip_split_horizon_cmd_vtysh);
22792 + install_element (ENABLE_NODE, &show_ip_bgp_flap_filter_list_cmd_vtysh);
22793 + install_element (INTERFACE_NODE, &ip_ospf_priority_addr_cmd_vtysh);
22794 + install_element (RMAP_NODE, &no_set_community_delete_val_cmd_vtysh);
22795 + install_element (VIEW_NODE, &show_ipv6_ospf6_database_type_id_adv_router_cmd_vtysh);
22796 + install_element (BGP_IPV6_NODE, &bgp_redistribute_ipv6_metric_rmap_cmd_vtysh);
22797 + install_element (CONFIG_NODE, &no_access_list_standard_nomask_cmd_vtysh);
22798 + install_element (BGP_IPV4_NODE, &no_neighbor_attr_unchanged_cmd_vtysh);
22799 + install_element (ENABLE_NODE, &show_ipv6_ospf6_database_type_id_adv_router_cmd_vtysh);
22800 + install_element (ENABLE_NODE, &show_bgp_view_ipv6_neighbor_damp_cmd_vtysh);
22801 + install_element (RMAP_NODE, &no_set_local_pref_cmd_vtysh);
22802 + install_element (CONFIG_NODE, &no_bgp_multiple_instance_cmd_vtysh);
22803 + install_element (CONFIG_NODE, &debug_ospf_zebra_sub_cmd_vtysh);
22804 + install_element (OSPF_NODE, &ospf_default_information_originate_metric_type_routemap_cmd_vtysh);
22805 + install_element (CONFIG_NODE, &debug_ospf_nsm_cmd_vtysh);
22806 + install_element (BGP_IPV4_NODE, &aggregate_address_as_set_cmd_vtysh);
22807 + install_element (RMAP_NODE, &no_set_ipv6_nexthop_local_cmd_vtysh);
22808 + install_element (CONFIG_NODE, &bgp_config_type_cmd_vtysh);
22809 + install_element (VIEW_NODE, &show_bgp_prefix_cmd_vtysh);
22810 + install_element (OSPF_NODE, &ospf_default_information_originate_routemap_cmd_vtysh);
22811 + install_element (BGP_VPNV4_NODE, &no_neighbor_maximum_prefix_val2_cmd_vtysh);
22812 + install_element (BGP_NODE, &no_bgp_network_mask_natural_route_map_cmd_vtysh);
22813 + install_element (VIEW_NODE, &show_ipv6_route_ospf6_external_cmd_vtysh);
22814 + install_element (CONFIG_NODE, &ip_route_mask_distance_cmd_vtysh);
22815 + install_element (BGP_IPV4_NODE, &neighbor_filter_list_cmd_vtysh);
22816 + install_element (ENABLE_NODE, &show_debugging_rip_cmd_vtysh);
22817 + install_element (BGP_VPNV4_NODE, &neighbor_attr_unchanged8_cmd_vtysh);
22818 + install_element (ENABLE_NODE, &show_ip_bgp_flap_route_map_cmd_vtysh);
22819 + install_element (INTERFACE_NODE, &ipv6_ospf6_passive_cmd_vtysh);
22820 + install_element (BGP_NODE, &no_aggregate_address_cmd_vtysh);
22821 + install_element (OSPF_NODE, &ospf_redistribute_source_metric_cmd_vtysh);
22822 + install_element (ENABLE_NODE, &show_ip_bgp_neighbor_damp_cmd_vtysh);
22823 + install_element (ENABLE_NODE, &show_ip_bgp_flap_cidr_only_cmd_vtysh);
22824 + install_element (BGP_IPV4M_NODE, &no_neighbor_route_server_client_cmd_vtysh);
22825 + install_element (OSPF_NODE, &no_router_ospf_id_cmd_vtysh);
22826 + install_element (OSPF_NODE, &ospf_distance_ospf_intra_cmd_vtysh);
22827 + install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_soft_in_cmd_vtysh);
22828 + install_element (ENABLE_NODE, &show_ipv6_prefix_list_name_cmd_vtysh);
22829 + install_element (RIPNG_NODE, &ripng_redistribute_type_metric_routemap_cmd_vtysh);
22830 + install_element (ENABLE_NODE, &show_bgp_ipv6_community4_exact_cmd_vtysh);
22831 + install_element (BGP_VPNV4_NODE, &neighbor_attr_unchanged3_cmd_vtysh);
22832 + install_element (OSPF_NODE, &ospf_redistribute_source_routemap_cmd_vtysh);
22833 + install_element (CONFIG_NODE, &no_debug_bgp_events_cmd_vtysh);
22834 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_cmd_vtysh);
22835 + install_element (RMAP_NODE, &no_match_aspath_val_cmd_vtysh);
22836 + install_element (BGP_NODE, &neighbor_remove_private_as_cmd_vtysh);
22837 + install_element (VIEW_NODE, &show_ip_ospf_cmd_vtysh);
22838 + install_element (BGP_IPV4M_NODE, &neighbor_route_reflector_client_cmd_vtysh);
22839 + install_element (ENABLE_NODE, &show_ipv6_ospf6_area_route_prefix_cmd_vtysh);
22840 + install_element (INTERFACE_NODE, &ip_ospf_authentication_args_addr_cmd_vtysh);
22841 + install_element (OSPF_NODE, &ospf_area_vlink_cmd_vtysh);
22842 + install_element (VIEW_NODE, &show_bgp_prefix_longer_cmd_vtysh);
22843 + install_element (VIEW_NODE, &show_bgp_view_ipv6_neighbor_damp_cmd_vtysh);
22844 + install_element (OSPF_NODE, &ospf_default_information_originate_type_routemap_cmd_vtysh);
22845 + install_element (CONFIG_NODE, &ip_extcommunity_list_name_expanded_cmd_vtysh);
22846 + install_element (RMAP_NODE, &no_match_ip_address_val_cmd_vtysh);
22847 + install_element (BGP_NODE, &no_neighbor_passive_cmd_vtysh);
22848 + install_element (CONFIG_NODE, &no_router_zebra_cmd_vtysh);
22849 + install_element (VIEW_NODE, &show_ipv6_mbgp_community_cmd_vtysh);
22850 + install_element (ENABLE_NODE, &clear_bgp_ipv6_as_soft_cmd_vtysh);
22851 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_le_cmd_vtysh);
22852 + install_element (VIEW_NODE, &show_zebra_cmd_vtysh);
22853 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_cmd_vtysh);
22854 + install_element (BGP_IPV4_NODE, &no_neighbor_send_community_cmd_vtysh);
22855 + install_element (ENABLE_NODE, &show_ipv6_prefix_list_cmd_vtysh);
22856 + install_element (VIEW_NODE, &show_bgp_ipv6_community2_cmd_vtysh);
22857 + install_element (ENABLE_NODE, &clear_ip_bgp_as_cmd_vtysh);
22858 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_prefix_cmd_vtysh);
22859 + install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged7_cmd_vtysh);
22860 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_cmd_vtysh);
22861 + install_element (VIEW_NODE, &show_bgp_ipv6_community3_cmd_vtysh);
22862 + install_element (BGP_NODE, &neighbor_distribute_list_cmd_vtysh);
22863 + install_element (VIEW_NODE, &show_ipv6_ospf6_topology_router_lsid_cmd_vtysh);
22864 + install_element (ENABLE_NODE, &ipv6_mbgp_neighbor_routes_cmd_vtysh);
22865 + install_element (VIEW_NODE, &show_ipv6_ripng_cmd_vtysh);
22866 + install_element (INTERFACE_NODE, &ip_rip_send_version_cmd_vtysh);
22867 + install_element (ENABLE_NODE, &show_ipv6_bgp_cmd_vtysh);
22868 + install_element (CONFIG_NODE, &ip_route_flags_distance_cmd_vtysh);
22869 + install_element (BGP_IPV4M_NODE, &neighbor_send_community_type_cmd_vtysh);
22870 + install_element (BGP_IPV6_NODE, &neighbor_route_reflector_client_cmd_vtysh);
22871 + install_element (BGP_IPV4_NODE, &neighbor_send_community_cmd_vtysh);
22872 + install_element (RIPNG_NODE, &no_ipv6_distribute_list_prefix_cmd_vtysh);
22873 + install_element (BGP_IPV4M_NODE, &no_neighbor_attr_unchanged_cmd_vtysh);
22874 + install_element (VIEW_NODE, &show_ipv6_bgp_community_exact_cmd_vtysh);
22875 + install_element (RIP_NODE, &no_rip_offset_list_ifname_cmd_vtysh);
22876 + install_element (BGP_IPV4M_NODE, &neighbor_attr_unchanged2_cmd_vtysh);
22877 + install_element (BGP_IPV6_NODE, &no_neighbor_attr_unchanged3_cmd_vtysh);
22878 + install_element (CONFIG_NODE, &ipv6_prefix_list_seq_ge_cmd_vtysh);
22879 + install_element (OSPF_NODE, &no_ospf_distance_cmd_vtysh);
22880 + install_element (CONFIG_NODE, &debug_ospf_event_cmd_vtysh);
22881 + install_element (OSPF_NODE, &ospf_timers_spf_cmd_vtysh);
22882 + install_element (ENABLE_NODE, &clear_ip_bgp_all_soft_cmd_vtysh);
22883 + install_element (VIEW_NODE, &show_ipv6_mbgp_community3_cmd_vtysh);
22884 + install_element (RMAP_NODE, &no_set_community_val_cmd_vtysh);
22885 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_cmd_vtysh);
22886 + install_element (ZEBRA_NODE, &no_redistribute_ospf6_cmd_vtysh);
22887 + install_element (ENABLE_NODE, &clear_ip_bgp_as_soft_cmd_vtysh);
22888 + install_element (INTERFACE_NODE, &no_ip_rip_split_horizon_poisoned_reverse_cmd_vtysh);
22889 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_prefix_list_cmd_vtysh);
22890 + install_element (ENABLE_NODE, &debug_ospf_event_cmd_vtysh);
22891 + install_element (OSPF_NODE, &no_ospf_area_vlink_param1_cmd_vtysh);
22892 + install_element (BGP_IPV4M_NODE, &no_neighbor_send_community_type_cmd_vtysh);
22893 + install_element (CONFIG_NODE, &no_ip_prefix_list_ge_le_cmd_vtysh);
22894 + install_element (RMAP_NODE, &no_set_metric_val_cmd_vtysh);
22895 + install_element (VIEW_NODE, &show_ip_bgp_prefix_longer_cmd_vtysh);
22896 + install_element (ENABLE_NODE, &show_ip_ospf_database_cmd_vtysh);
22897 + install_element (BGP_NODE, &no_neighbor_distribute_list_cmd_vtysh);
22898 + install_element (OSPF_NODE, &ospf_default_information_originate_always_type_metric_cmd_vtysh);
22899 + install_element (CONFIG_NODE, &ipv6_prefix_list_ge_cmd_vtysh);
22900 + install_element (RIPNG_NODE, &ripng_default_information_originate_cmd_vtysh);
22901 + install_element (ENABLE_NODE, &show_ip_bgp_community_all_cmd_vtysh);
22902 + install_element (CONFIG_NODE, &ip_route_mask_flags_distance2_cmd_vtysh);
22903 + install_element (BGP_VPNV4_NODE, &no_neighbor_distribute_list_cmd_vtysh);
22904 + install_element (RMAP_NODE, &set_weight_cmd_vtysh);
22905 + install_element (VIEW_NODE, &show_ipv6_route_prefix_longer_cmd_vtysh);
22906 + install_element (INTERFACE_NODE, &no_linkdetect_cmd_vtysh);
22907 + install_element (CONFIG_NODE, &ip_prefix_list_seq_le_ge_cmd_vtysh);
22908 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_summary_cmd_vtysh);
22909 + install_element (BGP_NODE, &neighbor_soft_reconfiguration_cmd_vtysh);
22910 + install_element (CONFIG_NODE, &ip_prefix_list_seq_ge_le_cmd_vtysh);
22911 + install_element (VIEW_NODE, &ipv6_mbgp_neighbor_received_routes_cmd_vtysh);
22912 + install_element (CONFIG_NODE, &debug_bgp_events_cmd_vtysh);
22913 + install_element (VIEW_NODE, &show_bgp_instance_neighbors_peer_cmd_vtysh);
22914 + install_element (BGP_IPV4_NODE, &no_aggregate_address_mask_summary_only_cmd_vtysh);
22915 + install_element (INTERFACE_NODE, &ip_ospf_transmit_delay_cmd_vtysh);
22916 + install_element (RMAP_NODE, &no_set_ip_nexthop_val_cmd_vtysh);
22917 + install_element (OSPF_NODE, &ospf_neighbor_priority_poll_interval_cmd_vtysh);
22918 + install_element (BGP_VPNV4_NODE, &no_neighbor_activate_cmd_vtysh);
22919 + install_element (CONFIG_NODE, &ip_community_list_cmd_vtysh);
22920 + install_element (OSPF_NODE, &no_ospf_neighbor_poll_interval_cmd_vtysh);
22921 + install_element (RIPNG_NODE, &no_ripng_timers_val_cmd_vtysh);
22922 + install_element (INTERFACE_NODE, &ip_ospf_authentication_key_addr_cmd_vtysh);
22923 + install_element (VIEW_NODE, &show_ipv6_mbgp_cmd_vtysh);
22924 + install_element (ENABLE_NODE, &show_ip_bgp_prefix_list_cmd_vtysh);
22925 + install_element (BGP_IPV4_NODE, &neighbor_route_reflector_client_cmd_vtysh);
22926 + install_element (RIPNG_NODE, &ipv6_distribute_list_prefix_all_cmd_vtysh);
22927 + install_element (KEYCHAIN_KEY_NODE, &send_lifetime_infinite_month_day_cmd_vtysh);
22928 + install_element (ENABLE_NODE, &clear_bgp_all_soft_out_cmd_vtysh);
22929 + install_element (BGP_NODE, &bgp_default_ipv4_unicast_cmd_vtysh);
22930 + install_element (ENABLE_NODE, &show_ipv6_prefix_list_detail_cmd_vtysh);
22931 + install_element (CONFIG_NODE, &no_ip_route_flags_cmd_vtysh);
22932 + install_element (ENABLE_NODE, &show_bgp_ipv6_route_cmd_vtysh);
22933 + install_element (CONFIG_NODE, &debug_ospf_lsa_sub_cmd_vtysh);
22934 + install_element (BGP_IPV4_NODE, &neighbor_attr_unchanged10_cmd_vtysh);
22935 + install_element (BGP_NODE, &no_bgp_bestpath_aspath_ignore_cmd_vtysh);
22936 + install_element (BGP_NODE, &bgp_cluster_id_cmd_vtysh);
22937 + install_element (ENABLE_NODE, &show_ipv6_prefix_list_prefix_cmd_vtysh);
22938 + install_element (BGP_NODE, &old_no_ipv6_aggregate_address_cmd_vtysh);
22939 + install_element (CONFIG_NODE, &no_access_list_all_cmd_vtysh);
22940 + install_element (ENABLE_NODE, &no_debug_ospf_ism_sub_cmd_vtysh);
22941 + install_element (VIEW_NODE, &show_bgp_view_ipv6_neighbor_received_routes_cmd_vtysh);
22942 + install_element (OSPF6_NODE, &ospf6_interface_area_passive_cmd_vtysh);
22943 + install_element (ENABLE_NODE, &no_debug_zebra_events_cmd_vtysh);
22944 + install_element (ENABLE_NODE, &no_debug_ripng_zebra_cmd_vtysh);
22945 + install_element (CONFIG_NODE, &ipv6_prefix_list_le_cmd_vtysh);
22946 + install_element (OSPF_NODE, &ospf_area_vlink_param1_cmd_vtysh);
22947 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_regexp_cmd_vtysh);
22948 + install_element (RMAP_NODE, &rmap_onmatch_goto_cmd_vtysh);
22949 + install_element (CONFIG_NODE, &ipv6_prefix_list_cmd_vtysh);
22950 + install_element (BGP_NODE, &bgp_redistribute_ipv4_metric_cmd_vtysh);
22951 + install_element (CONFIG_NODE, &ip_community_list_standard_cmd_vtysh);
22952 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_neighbors_cmd_vtysh);
22953 + install_element (BGP_NODE, &bgp_redistribute_ipv4_cmd_vtysh);
22954 + install_element (ENABLE_NODE, &show_ipv6_bgp_prefix_cmd_vtysh);
22955 + install_element (VIEW_NODE, &show_bgp_community_all_cmd_vtysh);
22956 + install_element (ENABLE_NODE, &show_ip_bgp_scan_cmd_vtysh);
22957 + install_element (BGP_IPV4M_NODE, &neighbor_attr_unchanged8_cmd_vtysh);
22958 + install_element (BGP_IPV4_NODE, &neighbor_prefix_list_cmd_vtysh);
22959 + install_element (BGP_NODE, &aggregate_address_mask_summary_as_set_cmd_vtysh);
22960 + install_element (RIPNG_NODE, &no_ripng_offset_list_ifname_cmd_vtysh);
22961 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_ipv4_soft_cmd_vtysh);
22962 + install_element (RIP_NODE, &no_rip_version_val_cmd_vtysh);
22963 + install_element (RMAP_NODE, &set_ipv6_nexthop_local_cmd_vtysh);
22964 + install_element (CONFIG_NODE, &access_list_extended_cmd_vtysh);
22965 + install_element (OSPF_NODE, &no_ospf_area_export_list_cmd_vtysh);
22966 + install_element (BGP_NODE, &no_neighbor_ebgp_multihop_cmd_vtysh);
22967 + install_element (INTERFACE_NODE, &no_ip_rip_send_version_cmd_vtysh);
22968 + install_element (CONFIG_NODE, &no_debug_ospf_nsm_cmd_vtysh);
22969 + install_element (VIEW_NODE, &show_bgp_view_prefix_cmd_vtysh);
22970 + install_element (RMAP_NODE, &no_match_metric_cmd_vtysh);
22971 + install_element (CONFIG_NODE, &no_ip_prefix_list_cmd_vtysh);
22972 + install_element (RIP_NODE, &rip_distance_source_access_list_cmd_vtysh);
22973 + install_element (ZEBRA_NODE, &rip_redistribute_rip_cmd_vtysh);
22974 + install_element (CONFIG_NODE, &ipv6_prefix_list_description_cmd_vtysh);
22975 + install_element (RIP_NODE, &no_rip_redistribute_type_cmd_vtysh);
22976 + install_element (VIEW_NODE, &show_ipv6_ospf6_route_flapping_cmd_vtysh);
22977 + install_element (INTERFACE_NODE, &ospf_priority_cmd_vtysh);
22978 + install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_ipv4_soft_cmd_vtysh);
22979 + install_element (RMAP_NODE, &rmap_onmatch_next_cmd_vtysh);
22980 + install_element (OSPF_NODE, &ospf_neighbor_poll_interval_cmd_vtysh);
22981 + install_element (ENABLE_NODE, &clear_ip_bgp_all_vpnv4_soft_in_cmd_vtysh);
22982 + install_element (VIEW_NODE, &show_ip_bgp_instance_neighbors_cmd_vtysh);
22983 + install_element (ENABLE_NODE, &no_debug_rip_events_cmd_vtysh);
22984 + install_element (ENABLE_NODE, &show_ip_prefix_list_prefix_first_match_cmd_vtysh);
22985 + install_element (ENABLE_NODE, &clear_ip_prefix_list_cmd_vtysh);
22986 + install_element (BGP_IPV4_NODE, &aggregate_address_mask_as_set_cmd_vtysh);
22987 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_cmd_vtysh);
22988 + install_element (ENABLE_NODE, &no_debug_zebra_kernel_cmd_vtysh);
22989 + install_element (RMAP_NODE, &set_ecommunity_soo_cmd_vtysh);
22990 + install_element (BGP_NODE, &no_neighbor_default_originate_rmap_cmd_vtysh);
22991 + install_element (BGP_NODE, &no_bgp_network_route_map_cmd_vtysh);
22992 + install_element (VIEW_NODE, &show_ipv6_prefix_list_prefix_longer_cmd_vtysh);
22993 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_neighbors_peer_cmd_vtysh);
22994 + install_element (RMAP_NODE, &no_match_origin_val_cmd_vtysh);
22995 + install_element (ENABLE_NODE, &clear_bgp_external_out_cmd_vtysh);
22996 + install_element (BGP_IPV4M_NODE, &no_neighbor_attr_unchanged6_cmd_vtysh);
22997 + install_element (VIEW_NODE, &show_bgp_view_neighbor_advertised_route_cmd_vtysh);
22998 + install_element (ENABLE_NODE, &show_ip_bgp_flap_regexp_cmd_vtysh);
22999 + install_element (BGP_IPV6_NODE, &neighbor_prefix_list_cmd_vtysh);
23000 + install_element (OSPF_NODE, &ospf_distance_ospf_inter_external_intra_cmd_vtysh);
23001 + install_element (CONFIG_NODE, &no_ipv6_route_pref_cmd_vtysh);
23002 + install_element (BGP_VPNV4_NODE, &no_neighbor_maximum_prefix_val_cmd_vtysh);
23003 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_route_cmd_vtysh);
23004 + install_element (ENABLE_NODE, &show_bgp_ipv6_neighbor_received_routes_cmd_vtysh);
23005 + install_element (RIP_NODE, &no_rip_distance_source_cmd_vtysh);
23006 + install_element (BGP_NODE, &no_neighbor_dont_capability_negotiate_cmd_vtysh);
23007 + install_element (BGP_IPV4M_NODE, &neighbor_prefix_list_cmd_vtysh);
23008 + install_element (BGP_IPV4M_NODE, &no_bgp_network_route_map_cmd_vtysh);
23009 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_filter_list_cmd_vtysh);
23010 + install_element (BGP_NODE, &bgp_distance_source_access_list_cmd_vtysh);
23011 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_route_cmd_vtysh);
23012 + install_element (ENABLE_NODE, &show_ip_as_path_access_list_cmd_vtysh);
23013 + install_element (ENABLE_NODE, &clear_bgp_peer_group_cmd_vtysh);
23014 + install_element (INTERFACE_NODE, &ospf_dead_interval_cmd_vtysh);
23015 + install_element (ENABLE_NODE, &no_debug_ospf_zebra_cmd_vtysh);
23016 + install_element (ENABLE_NODE, &show_ipv6_mbgp_community2_cmd_vtysh);
23017 + install_element (ENABLE_NODE, &show_bgp_prefix_list_cmd_vtysh);
23018 + install_element (BGP_VPNV4_NODE, &no_neighbor_send_community_type_cmd_vtysh);
23019 + install_element (BGP_NODE, &neighbor_nexthop_self_cmd_vtysh);
23020 + install_element (RIP_NODE, &if_rmap_cmd_vtysh);
23021 + install_element (ENABLE_NODE, &clear_bgp_peer_soft_out_cmd_vtysh);
23022 + install_element (BGP_NODE, &no_bgp_bestpath_med2_cmd_vtysh);
23023 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_neighbors_cmd_vtysh);
23024 + install_element (RMAP_NODE, &set_ipv6_nexthop_global_cmd_vtysh);
23025 + install_element (BGP_NODE, &no_neighbor_interface_cmd_vtysh);
23026 + install_element (RMAP_NODE, &no_set_aspath_prepend_val_cmd_vtysh);
23027 + install_element (RIPNG_NODE, &ipv6_distribute_list_prefix_cmd_vtysh);
23028 + install_element (BGP_IPV4_NODE, &neighbor_attr_unchanged2_cmd_vtysh);
23029 + install_element (BGP_NODE, &bgp_cluster_id32_cmd_vtysh);
23030 + install_element (ENABLE_NODE, &show_ip_ospf_neighbor_int_detail_cmd_vtysh);
23031 + install_element (ENABLE_NODE, &show_ipv6_mbgp_community_all_cmd_vtysh);
23032 + install_element (VIEW_NODE, &show_bgp_neighbor_advertised_route_cmd_vtysh);
23033 + install_element (BGP_NODE, &aggregate_address_as_set_cmd_vtysh);
23034 + install_element (ENABLE_NODE, &no_debug_ospf_nsm_cmd_vtysh);
23035 + install_element (RMAP_NODE, &no_match_origin_cmd_vtysh);
23036 + install_element (ENABLE_NODE, &clear_bgp_ipv6_all_cmd_vtysh);
23037 + install_element (VIEW_NODE, &show_bgp_ipv6_cmd_vtysh);
23038 + install_element (CONFIG_NODE, &no_ip_community_list_cmd_vtysh);
23039 + install_element (ENABLE_NODE, &show_ipv6_mbgp_prefix_longer_cmd_vtysh);
23040 + install_element (BGP_NODE, &no_neighbor_attr_unchanged7_cmd_vtysh);
23041 + install_element (ENABLE_NODE, &show_ip_bgp_flap_prefix_list_cmd_vtysh);
23042 + install_element (CONFIG_NODE, &no_debug_ospf_lsa_sub_cmd_vtysh);
23043 + install_element (INTERFACE_NODE, &ipv6_ospf6_advertise_prefix_list_cmd_vtysh);
23044 + install_element (RIP_NODE, &no_rip_neighbor_cmd_vtysh);
23045 + install_element (CONFIG_NODE, &debug_zebra_kernel_cmd_vtysh);
23046 + install_element (BGP_IPV6_NODE, &neighbor_default_originate_cmd_vtysh);
23047 + install_element (CONFIG_NODE, &ipv6_access_list_exact_cmd_vtysh);
23048 + install_element (VIEW_NODE, &show_ip_bgp_attr_info_cmd_vtysh);
23049 + install_element (OSPF_NODE, &no_ospf_area_vlink_authkey_cmd_vtysh);
23050 + install_element (VIEW_NODE, &show_ip_bgp_instance_neighbors_peer_cmd_vtysh);
23051 + install_element (CONFIG_NODE, &no_ipv6_route_flags_cmd_vtysh);
23052 + install_element (BGP_NODE, &no_bgp_enforce_first_as_cmd_vtysh);
23053 + install_element (BGP_IPV6_NODE, &no_bgp_redistribute_ipv6_metric_rmap_cmd_vtysh);
23054 + install_element (BGP_IPV4M_NODE, &no_aggregate_address_mask_cmd_vtysh);
23055 + install_element (BGP_NODE, &bgp_damp_set_cmd_vtysh);
23056 + install_element (BGP_IPV4M_NODE, &neighbor_nexthop_self_cmd_vtysh);
23057 + install_element (VIEW_NODE, &show_table_cmd_vtysh);
23058 + install_element (BGP_IPV4M_NODE, &no_aggregate_address_mask_summary_as_set_cmd_vtysh);
23059 + install_element (ENABLE_NODE, &show_ip_ospf_database_type_id_cmd_vtysh);
23060 + install_element (BGP_NODE, &neighbor_port_cmd_vtysh);
23061 + install_element (OSPF_NODE, &no_ospf_abr_type_cmd_vtysh);
23062 + install_element (BGP_NODE, &no_bgp_redistribute_ipv4_metric_cmd_vtysh);
23063 + install_element (ENABLE_NODE, &show_ip_prefix_list_detail_cmd_vtysh);
23064 + install_element (KEYCHAIN_NODE, &no_key_chain_cmd_vtysh);
23065 + install_element (CONFIG_NODE, &no_access_list_remark_cmd_vtysh);
23066 + install_element (OSPF_NODE, &ospf_neighbor_poll_interval_priority_cmd_vtysh);
23067 + install_element (CONFIG_NODE, &debug_ospf_ism_sub_cmd_vtysh);
23068 + install_element (OSPF_NODE, &ospf_default_information_originate_type_metric_routemap_cmd_vtysh);
23069 + install_element (ENABLE_NODE, &show_ip_bgp_route_map_cmd_vtysh);
23070 + install_element (CONFIG_NODE, &no_ip_community_list_expanded_cmd_vtysh);
23071 + install_element (CONFIG_NODE, &access_list_remark_cmd_vtysh);
23072 + install_element (INTERFACE_NODE, &no_ip_rip_send_version_num_cmd_vtysh);
23073 + install_element (OSPF_NODE, &ospf_default_information_originate_always_cmd_vtysh);
23074 + install_element (ENABLE_NODE, &show_ipv6_mbgp_regexp_cmd_vtysh);
23075 + install_element (BGP_NODE, &bgp_timers_cmd_vtysh);
23076 + install_element (VIEW_NODE, &show_ipv6_mbgp_summary_cmd_vtysh);
23077 + install_element (ENABLE_NODE, &clear_ip_bgp_dampening_address_cmd_vtysh);
23078 + install_element (ENABLE_NODE, &show_ipv6_prefix_list_prefix_first_match_cmd_vtysh);
23079 + install_element (ENABLE_NODE, &clear_bgp_all_in_prefix_filter_cmd_vtysh);
23080 + install_element (BGP_VPNV4_NODE, &neighbor_activate_cmd_vtysh);
23081 + install_element (BGP_IPV4_NODE, &no_bgp_network_cmd_vtysh);
23082 + install_element (ENABLE_NODE, &show_ipv6_mbgp_community_cmd_vtysh);
23083 + install_element (ENABLE_NODE, &clear_bgp_ipv6_all_out_cmd_vtysh);
23084 + install_element (VIEW_NODE, &show_ipv6_route_cmd_vtysh);
23085 + install_element (VIEW_NODE, &show_ip_bgp_prefix_cmd_vtysh);
23086 + install_element (INTERFACE_NODE, &no_ipv6_ospf6_advertise_prefix_list_cmd_vtysh);
23087 + install_element (VIEW_NODE, &show_ipv6_mbgp_route_cmd_vtysh);
23088 + install_element (ENABLE_NODE, &show_ip_bgp_flap_prefix_longer_cmd_vtysh);
23089 + install_element (CONFIG_NODE, &no_access_list_remark_arg_cmd_vtysh);
23090 + install_element (CONFIG_NODE, &ip_route_mask_flags_cmd_vtysh);
23091 + install_element (RMAP_NODE, &no_set_aggregator_as_cmd_vtysh);
23092 + install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_cmd_vtysh);
23093 + install_element (BGP_NODE, &neighbor_shutdown_cmd_vtysh);
23094 + install_element (BGP_IPV4M_NODE, &no_aggregate_address_summary_only_cmd_vtysh);
23095 + install_element (ENABLE_NODE, &show_ipv6_bgp_community3_exact_cmd_vtysh);
23096 + install_element (BGP_NODE, &no_neighbor_port_cmd_vtysh);
23097 + install_element (CONFIG_NODE, &no_ip_extcommunity_list_standard_cmd_vtysh);
23098 + install_element (VIEW_NODE, &show_bgp_instance_summary_cmd_vtysh);
23099 + install_element (OSPF_NODE, &ospf_area_vlink_authtype_args_cmd_vtysh);
23100 + install_element (RMAP_NODE, &no_set_weight_val_cmd_vtysh);
23101 + install_element (ENABLE_NODE, &show_bgp_ipv6_filter_list_cmd_vtysh);
23102 + install_element (ENABLE_NODE, &debug_rip_packet_direct_cmd_vtysh);
23103 + install_element (BGP_VPNV4_NODE, &neighbor_prefix_list_cmd_vtysh);
23104 + install_element (ENABLE_NODE, &show_bgp_community_list_cmd_vtysh);
23105 + install_element (ENABLE_NODE, &clear_bgp_ipv6_as_soft_out_cmd_vtysh);
23106 + install_element (ENABLE_NODE, &show_ip_bgp_cidr_only_cmd_vtysh);
23107 + install_element (OSPF_NODE, &ospf_default_information_originate_always_metric_routemap_cmd_vtysh);
23108 + install_element (VIEW_NODE, &show_ip_bgp_summary_cmd_vtysh);
23109 + install_element (ENABLE_NODE, &show_debug_ospf6_cmd_vtysh);
23110 + install_element (BGP_NODE, &neighbor_attr_unchanged6_cmd_vtysh);
23111 + install_element (ENABLE_NODE, &show_bgp_community3_exact_cmd_vtysh);
23112 + install_element (BGP_IPV6_NODE, &no_neighbor_remove_private_as_cmd_vtysh);
23113 + install_element (INTERFACE_NODE, &no_ip_ospf_transmit_delay_cmd_vtysh);
23114 + install_element (ENABLE_NODE, &debug_bgp_update_direct_cmd_vtysh);
23115 + install_element (BGP_IPV4_NODE, &no_neighbor_attr_unchanged4_cmd_vtysh);
23116 + install_element (CONFIG_NODE, &ipv6_access_list_any_cmd_vtysh);
23117 + install_element (RMAP_NODE, &set_originator_id_cmd_vtysh);
23118 + install_element (RMAP_NODE, &no_match_tag_val_cmd_vtysh);
23119 + install_element (ENABLE_NODE, &show_ip_bgp_instance_neighbors_peer_cmd_vtysh);
23120 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community_list_cmd_vtysh);
23121 + install_element (OSPF6_NODE, &ospf6_interface_area_plist_cmd_vtysh);
23122 + install_element (OSPF6_NODE, &ospf6_redistribute_cmd_vtysh);
23123 + install_element (CONFIG_NODE, &no_ipv6_prefix_list_le_ge_cmd_vtysh);
23124 + install_element (VIEW_NODE, &show_ip_community_list_cmd_vtysh);
23125 + install_element (CONFIG_NODE, &ip_prefix_list_seq_le_cmd_vtysh);
23126 + install_element (RIP_NODE, &no_rip_network_cmd_vtysh);
23127 + install_element (BGP_NODE, &aggregate_address_mask_summary_only_cmd_vtysh);
23128 + install_element (CONFIG_NODE, &access_list_standard_nomask_cmd_vtysh);
23129 + install_element (BGP_VPNV4_NODE, &neighbor_distribute_list_cmd_vtysh);
23130 + install_element (ENABLE_NODE, &show_ip_prefix_list_summary_name_cmd_vtysh);
23131 + install_element (ENABLE_NODE, &clear_ip_bgp_all_in_cmd_vtysh);
23132 + install_element (RIP_NODE, &no_distribute_list_all_cmd_vtysh);
23133 + install_element (CONFIG_NODE, &ip_prefix_list_cmd_vtysh);
23134 + install_element (ENABLE_NODE, &show_ip_bgp_community2_cmd_vtysh);
23135 + install_element (VIEW_NODE, &show_bgp_view_ipv6_neighbor_flap_cmd_vtysh);
23136 + install_element (ENABLE_NODE, &no_debug_bgp_all_cmd_vtysh);
23137 + install_element (INTERFACE_NODE, &ip_rip_send_version_2_cmd_vtysh);
23138 + install_element (BGP_NODE, &no_neighbor_attr_unchanged6_cmd_vtysh);
23139 + install_element (BGP_IPV6_NODE, &no_neighbor_nexthop_self_cmd_vtysh);
23140 + install_element (BGP_IPV4M_NODE, &no_neighbor_route_map_cmd_vtysh);
23141 + install_element (BGP_NODE, &neighbor_send_community_type_cmd_vtysh);
23142 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_summary_cmd_vtysh);
23143 + install_element (CONFIG_NODE, &debug_ripng_packet_detail_cmd_vtysh);
23144 + install_element (RMAP_NODE, &set_community_delete_cmd_vtysh);
23145 + install_element (ENABLE_NODE, &debug_ospf_lsa_cmd_vtysh);
23146 + install_element (VIEW_NODE, &show_ipv6_ospf6_area_route_cmd_vtysh);
23147 + install_element (ENABLE_NODE, &show_ipv6_bgp_prefix_longer_cmd_vtysh);
23148 + install_element (BGP_NODE, &no_bgp_redistribute_ipv4_metric_rmap_cmd_vtysh);
23149 + install_element (RIP_NODE, &rip_redistribute_type_metric_routemap_cmd_vtysh);
23150 + install_element (BGP_VPNV4_NODE, &no_neighbor_set_peer_group_cmd_vtysh);
23151 + install_element (BGP_IPV6_NODE, &no_neighbor_attr_unchanged5_cmd_vtysh);
23152 + install_element (ENABLE_NODE, &show_ip_bgp_community_info_cmd_vtysh);
23153 + install_element (BGP_NODE, &neighbor_ebgp_multihop_ttl_cmd_vtysh);
23154 + install_element (BGP_IPV4_NODE, &no_neighbor_default_originate_rmap_cmd_vtysh);
23155 + install_element (BGP_NODE, &bgp_redistribute_ipv4_rmap_cmd_vtysh);
23156 + install_element (VIEW_NODE, &show_ipv6_ospf6_database_type_id_adv_router_dump_cmd_vtysh);
23157 + install_element (ENABLE_NODE, &show_ipv6_bgp_community_exact_cmd_vtysh);
23158 + install_element (INTERFACE_NODE, &ipv6_ospf6_advertise_force_prefix_cmd_vtysh);
23159 + install_element (VIEW_NODE, &show_ipv6_mbgp_regexp_cmd_vtysh);
23160 + install_element (RIPNG_NODE, &no_ripng_redistribute_type_metric_cmd_vtysh);
23161 + install_element (BGP_VPNV4_NODE, &neighbor_remove_private_as_cmd_vtysh);
23162 + install_element (VIEW_NODE, &show_ipv6_ospf6_database_type_id_cmd_vtysh);
23163 + install_element (ENABLE_NODE, &show_ipv6_bgp_summary_cmd_vtysh);
23164 + install_element (CONFIG_NODE, &ip_route_distance_cmd_vtysh);
23165 + install_element (BGP_NODE, &no_bgp_bestpath_compare_router_id_cmd_vtysh);
23166 + install_element (OSPF_NODE, &ospf_default_information_originate_always_metric_cmd_vtysh);
23167 + install_element (VIEW_NODE, &show_bgp_community2_exact_cmd_vtysh);
23168 + install_element (ENABLE_NODE, &show_bgp_neighbor_routes_cmd_vtysh);
23169 + install_element (BGP_NODE, &no_neighbor_attr_unchanged3_cmd_vtysh);
23170 + install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_cmd_vtysh);
23171 + install_element (RMAP_NODE, &set_community_cmd_vtysh);
23172 + install_element (BGP_NODE, &neighbor_local_as_cmd_vtysh);
23173 + install_element (OSPF_NODE, &no_ospf_redistribute_source_cmd_vtysh);
23174 + install_element (ENABLE_NODE, &show_ipv6_mbgp_cmd_vtysh);
23175 + install_element (CONFIG_NODE, &no_access_list_extended_any_mask_cmd_vtysh);
23176 + install_element (ENABLE_NODE, &show_ip_route_supernets_cmd_vtysh);
23177 + install_element (INTERFACE_NODE, &no_ipv6_ripng_split_horizon_cmd_vtysh);
23178 + install_element (CONFIG_NODE, &no_access_list_standard_cmd_vtysh);
23179 + install_element (ENABLE_NODE, &clear_ip_bgp_as_ipv4_soft_cmd_vtysh);
23180 + install_element (ENABLE_NODE, &clear_ipv6_prefix_list_name_cmd_vtysh);
23181 + install_element (CONFIG_NODE, &no_ip_community_list_all_cmd_vtysh);
23182 + install_element (ENABLE_NODE, &ipv6_mbgp_neighbor_received_routes_cmd_vtysh);
23183 + install_element (BGP_NODE, &no_bgp_cluster_id_arg_cmd_vtysh);
23184 + install_element (OSPF_NODE, &ospf_area_range_not_advertise_cmd_vtysh);
23185 + install_element (BGP_IPV6_NODE, &no_neighbor_maximum_prefix_cmd_vtysh);
23186 + install_element (RMAP_NODE, &match_origin_cmd_vtysh);
23187 + install_element (CONFIG_NODE, &no_ipv6_route_ifname_cmd_vtysh);
23188 + install_element (VIEW_NODE, &show_ip_ospf_database_type_id_adv_router_cmd_vtysh);
23189 + install_element (VIEW_NODE, &show_ip_ospf_route_cmd_vtysh);
23190 + install_element (VIEW_NODE, &show_ipv6_prefix_list_detail_cmd_vtysh);
23191 + install_element (BGP_IPV6_NODE, &no_neighbor_distribute_list_cmd_vtysh);
23192 + install_element (OSPF_NODE, &ospf_area_range_cmd_vtysh);
23193 + install_element (BGP_VPNV4_NODE, &no_neighbor_maximum_prefix_cmd_vtysh);
23194 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_in_cmd_vtysh);
23195 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_soft_cmd_vtysh);
23196 + install_element (BGP_IPV6_NODE, &no_neighbor_prefix_list_cmd_vtysh);
23197 + install_element (OSPF_NODE, &no_ospf_distance_ospf_cmd_vtysh);
23198 + install_element (RMAP_NODE, &no_set_ecommunity_rt_val_cmd_vtysh);
23199 + install_element (CONFIG_NODE, &no_debug_bgp_normal_cmd_vtysh);
23200 + install_element (BGP_IPV6_NODE, &no_ipv6_aggregate_address_cmd_vtysh);
23201 + install_element (ENABLE_NODE, &clear_bgp_all_cmd_vtysh);
23202 + install_element (VIEW_NODE, &show_ipv6_prefix_list_prefix_first_match_cmd_vtysh);
23203 + install_element (BGP_IPV4_NODE, &no_aggregate_address_summary_only_cmd_vtysh);
23204 + install_element (INTERFACE_NODE, &no_ipv6_address_cmd_vtysh);
23205 + install_element (BGP_VPNV4_NODE, &neighbor_attr_unchanged9_cmd_vtysh);
23206 + install_element (RMAP_NODE, &set_ecommunity_rt_cmd_vtysh);
23207 + install_element (RMAP_NODE, &no_set_metric_type_cmd_vtysh);
23208 + install_element (VIEW_NODE, &show_ip_bgp_view_cmd_vtysh);
23209 + install_element (BGP_IPV4_NODE, &no_bgp_network_mask_route_map_cmd_vtysh);
23210 + install_element (VIEW_NODE, &show_bgp_neighbors_peer_cmd_vtysh);
23211 + install_element (ENABLE_NODE, &show_bgp_instance_summary_cmd_vtysh);
23212 + install_element (ENABLE_NODE, &clear_bgp_ipv6_external_in_prefix_filter_cmd_vtysh);
23213 + install_element (ENABLE_NODE, &debug_bgp_fsm_cmd_vtysh);
23214 + install_element (CONFIG_NODE, &debug_bgp_update_cmd_vtysh);
23215 + install_element (ENABLE_NODE, &show_bgp_instance_ipv6_neighbors_peer_cmd_vtysh);
23216 + install_element (CONFIG_NODE, &no_router_ripng_cmd_vtysh);
23217 + install_element (BGP_IPV6_NODE, &no_neighbor_attr_unchanged10_cmd_vtysh);
23218 + install_element (BGP_NODE, &no_neighbor_allowas_in_cmd_vtysh);
23219 + install_element (BGP_NODE, &no_neighbor_timers_connect_cmd_vtysh);
23220 + install_element (CONFIG_NODE, &debug_ospf_zebra_cmd_vtysh);
23221 + install_element (BGP_NODE, &no_neighbor_weight_val_cmd_vtysh);
23222 + install_element (ENABLE_NODE, &clear_bgp_all_soft_in_cmd_vtysh);
23223 + install_element (CONFIG_NODE, &no_ip_prefix_list_seq_le_cmd_vtysh);
23224 + install_element (RMAP_NODE, &set_community_none_cmd_vtysh);
23225 + install_element (BGP_NODE, &no_bgp_network_mask_backdoor_cmd_vtysh);
23226 + install_element (INTERFACE_NODE, &no_multicast_cmd_vtysh);
23227 + install_element (ENABLE_NODE, &clear_bgp_instance_all_soft_in_cmd_vtysh);
23228 + install_element (KEYCHAIN_KEY_NODE, &no_key_string_cmd_vtysh);
23229 + install_element (CONFIG_NODE, &no_ip_prefix_list_description_cmd_vtysh);
23230 + install_element (BGP_NODE, &no_bgp_router_id_val_cmd_vtysh);
23231 + install_element (BGP_NODE, &no_bgp_bestpath_med_cmd_vtysh);
23232 + install_element (OSPF_NODE, &ospf_passive_interface_cmd_vtysh);
23233 + install_element (BGP_IPV4M_NODE, &aggregate_address_summary_only_cmd_vtysh);
23234 + install_element (CONFIG_NODE, &no_ip_extcommunity_list_expanded_cmd_vtysh);
23235 + install_element (BGP_NODE, &bgp_fast_external_failover_cmd_vtysh);
23236 + install_element (VIEW_NODE, &show_ip_route_prefix_longer_cmd_vtysh);
23237 + install_element (VIEW_NODE, &show_ipv6_mbgp_prefix_longer_cmd_vtysh);
23238 + install_element (ENABLE_NODE, &no_debug_bgp_keepalive_cmd_vtysh);
23239 + install_element (ENABLE_NODE, &show_bgp_ipv6_community2_cmd_vtysh);
23240 + install_element (RIP_NODE, &rip_timers_cmd_vtysh);
23241 + install_element (CONFIG_NODE, &no_debug_ospf_lsa_cmd_vtysh);
23242 + install_element (BGP_NODE, &aggregate_address_mask_as_set_cmd_vtysh);
23243 + install_element (CONFIG_NODE, &debug_rip_packet_cmd_vtysh);
23244 + install_element (ENABLE_NODE, &no_debug_ripng_packet_direct_cmd_vtysh);
23245 + install_element (ENABLE_NODE, &show_ipv6_prefix_list_name_seq_cmd_vtysh);
23246 + install_element (BGP_IPV4M_NODE, &neighbor_route_map_cmd_vtysh);
23247 + install_element (OSPF_NODE, &no_ospf_area_shortcut_cmd_vtysh);
23248 + install_element (VIEW_NODE, &show_bgp_ipv6_regexp_cmd_vtysh);
23249 + install_element (OSPF6_NODE, &ospf6_passive_interface_cmd_vtysh);
23250 + install_element (BGP_NODE, &no_neighbor_attr_unchanged8_cmd_vtysh);
23251 + install_element (VIEW_NODE, &show_ip_ospf_database_cmd_vtysh);
23252 + install_element (BGP_VPNV4_NODE, &neighbor_soft_reconfiguration_cmd_vtysh);
23253 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_neighbor_received_routes_cmd_vtysh);
23254 + install_element (KEYCHAIN_KEY_NODE, &accept_lifetime_month_day_day_month_cmd_vtysh);
23255 + install_element (CONFIG_NODE, &dump_bgp_updates_interval_cmd_vtysh);
23256 + install_element (VIEW_NODE, &show_ipv6_bgp_prefix_cmd_vtysh);
23257 + install_element (BGP_NODE, &neighbor_maximum_prefix_warning_cmd_vtysh);
23258 + install_element (VIEW_NODE, &show_ip_bgp_view_prefix_cmd_vtysh);
23259 + install_element (ENABLE_NODE, &show_bgp_view_ipv6_neighbor_routes_cmd_vtysh);
23260 + install_element (ENABLE_NODE, &show_bgp_view_neighbor_advertised_route_cmd_vtysh);
23261 + install_element (BGP_NODE, &neighbor_filter_list_cmd_vtysh);
23262 + install_element (ENABLE_NODE, &show_bgp_neighbor_flap_cmd_vtysh);
23263 + install_element (CONFIG_NODE, &ip_extcommunity_list_standard_cmd_vtysh);
23264 + install_element (CONFIG_NODE, &no_debug_bgp_fsm_cmd_vtysh);
23265 + install_element (ENABLE_NODE, &show_ip_bgp_ipv4_summary_cmd_vtysh);
23266 + install_element (ENABLE_NODE, &show_bgp_instance_neighbors_cmd_vtysh);
23267 + install_element (BGP_IPV4_NODE, &neighbor_distribute_list_cmd_vtysh);
23268 + install_element (ENABLE_NODE, &clear_ip_bgp_peer_ipv4_out_cmd_vtysh);
23269 + install_element (OSPF_NODE, &no_ospf_refresh_timer_cmd_vtysh);
23270 + install_element (ENABLE_NODE, &debug_ripng_events_cmd_vtysh);
23271 + install_element (BGP_NODE, &no_neighbor_strict_capability_cmd_vtysh);
23272 + install_element (ENABLE_NODE, &clear_ip_bgp_all_ipv4_soft_out_cmd_vtysh);
23273 + install_element (ENABLE_NODE, &clear_bgp_peer_group_soft_out_cmd_vtysh);
23274 + install_element (ENABLE_NODE, &clear_bgp_all_in_cmd_vtysh);
23275 + install_element (CONFIG_NODE, &no_debug_rip_packet_cmd_vtysh);
23276 + install_element (ENABLE_NODE, &show_ip_as_path_access_list_all_cmd_vtysh);
23277 + install_element (BGP_IPV4_NODE, &no_neighbor_unsuppress_map_cmd_vtysh);
23278 + install_element (ENABLE_NODE, &clear_bgp_instance_all_cmd_vtysh);
23279 + install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged_cmd_vtysh);
23280 + install_element (VIEW_NODE, &show_ipv6_ospf6_area_spf_node_cmd_vtysh);
23281 + install_element (ENABLE_NODE, &clear_bgp_peer_soft_in_cmd_vtysh);
23282 + install_element (BGP_NODE, &aggregate_address_mask_cmd_vtysh);
23283 + install_element (VIEW_NODE, &show_ipv6_mbgp_community_all_cmd_vtysh);
23284 + install_element (CONFIG_NODE, &no_ipv6_route_ifname_flags_cmd_vtysh);
23285 + install_element (VIEW_NODE, &show_ip_prefix_list_detail_name_cmd_vtysh);
23286 + install_element (ENABLE_NODE, &show_ip_bgp_flap_address_cmd_vtysh);
23287 + install_element (VIEW_NODE, &show_ip_bgp_neighbor_advertised_route_cmd_vtysh);
23288 + install_element (BGP_IPV4_NODE, &no_bgp_network_mask_natural_cmd_vtysh);
23289 + install_element (BGP_NODE, &no_bgp_network_mask_natural_backdoor_cmd_vtysh);
23290 + install_element (BGP_IPV6_NODE, &no_ipv6_aggregate_address_summary_only_cmd_vtysh);
23291 + install_element (ENABLE_NODE, &clear_ip_bgp_as_in_prefix_filter_cmd_vtysh);
23292 + install_element (ENABLE_NODE, &debug_ospf_lsa_sub_cmd_vtysh);
23293 + install_element (RMAP_NODE, &no_set_weight_cmd_vtysh);
23294 + install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_in_prefix_filter_cmd_vtysh);
23295 + install_element (BGP_NODE, &no_neighbor_remove_private_as_cmd_vtysh);
23296 + install_element (BGP_NODE, &neighbor_allowas_in_cmd_vtysh);
23297 + install_element (BGP_IPV4M_NODE, &no_bgp_network_mask_route_map_cmd_vtysh);
23298 + install_element (VIEW_NODE, &show_ip_bgp_flap_cidr_only_cmd_vtysh);
23299 + install_element (ENABLE_NODE, &show_bgp_regexp_cmd_vtysh);
23300 + install_element (VIEW_NODE, &show_ipv6_ospf6_topology_cmd_vtysh);
23301 + install_element (OSPF6_NODE, &no_ospf6_passive_interface_cmd_vtysh);
23302 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_neighbor_routes_cmd_vtysh);
23303 + install_element (BGP_IPV4_NODE, &no_neighbor_route_server_client_cmd_vtysh);
23304 + install_element (OSPF_NODE, &ospf_neighbor_cmd_vtysh);
23305 + install_element (BGP_VPNV4_NODE, &no_neighbor_route_server_client_cmd_vtysh);
23306 + install_element (BGP_NODE, &no_neighbor_description_cmd_vtysh);
23307 + install_element (VIEW_NODE, &show_ip_bgp_ipv4_community2_cmd_vtysh);
23308 + install_element (BGP_NODE, &aggregate_address_summary_as_set_cmd_vtysh);
23309 + install_element (INTERFACE_NODE, &ip_rip_authentication_key_chain_cmd_vtysh);
23311 diff --exclude=rsvpd -uNr quagga/zebra/interface.c quagga-mpls/zebra/interface.c
23312 --- quagga/zebra/interface.c 2004-02-25 13:47:26.000000000 -0600
23313 +++ quagga-mpls/zebra/interface.c 2004-07-14 23:38:32.680427976 -0500
23314 @@ -39,6 +39,7 @@
23315 #include "zebra/zserv.h"
23316 #include "zebra/redistribute.h"
23317 #include "zebra/debug.h"
23318 +#include "zebra/mpls_vty.h"
23320 /* Allocate a new internal interface index
23321 * This works done from the top so that %d macros
23322 @@ -548,6 +549,13 @@
23323 vty_out(vty, "%s", VTY_NEWLINE);
23326 + /* MPLS labelspace */
23327 + if (ifp->mpls_labelspace != -1)
23329 + vty_out(vty, " MPLS labelspace %u", ifp->mpls_labelspace);
23330 + vty_out(vty, "%s", VTY_NEWLINE);
23333 for (node = listhead (ifp->connected); node; nextnode (node))
23335 connected = getdata (node);
23336 @@ -1313,6 +1321,39 @@
23338 #endif /* KAME */
23340 +DEFUN (mpls_labelspace,
23341 + mpls_labelspace_cmd,
23342 + "mpls labelspace <0-255>",
23343 + "MPLS interface configuration\n"
23344 + "labelspace\n"
23345 + "labelspace number\n")
23347 + struct interface *ifp;
23349 + ifp = vty->index;
23350 + ifp->mpls_labelspace = atoi(argv[0]);
23352 + mpls_ctrl_set_interface_labelspace(ifp);
23354 + return CMD_SUCCESS;
23357 +DEFUN (no_mpls_labelspace,
23358 + no_mpls_labelspace_cmd,
23359 + "no mpls labelspace",
23360 + NO_STR
23361 + "MPLS interface configuration\n"
23362 + "labelspace\n")
23364 + struct interface *ifp;
23365 + ifp = vty->index;
23367 + ifp->mpls_labelspace = -1;
23368 + mpls_ctrl_set_interface_labelspace(ifp);
23370 + return CMD_SUCCESS;
23374 if_config_write (struct vty *vty)
23376 @@ -1328,6 +1369,10 @@
23377 struct prefix *p;
23379 ifp = getdata (node);
23381 + if (ifp->node != INTERFACE_NODE)
23382 + continue;
23384 if_data = ifp->info;
23386 vty_out (vty, "interface %s%s", ifp->name,
23387 @@ -1342,6 +1387,9 @@
23388 if (ifp->bandwidth != 0)
23389 vty_out(vty, " bandwidth %u%s", ifp->bandwidth, VTY_NEWLINE);
23391 + if (ifp->mpls_labelspace != -1)
23392 + vty_out(vty, " mpls labelspace %u%s",ifp->mpls_labelspace,VTY_NEWLINE);
23394 if (CHECK_FLAG(ifp->status, ZEBRA_INTERFACE_LINKDETECTION))
23395 vty_out(vty, " link-detect%s", VTY_NEWLINE);
23397 @@ -1424,6 +1472,8 @@
23398 install_element (INTERFACE_NODE, &ip_tunnel_cmd);
23399 install_element (INTERFACE_NODE, &no_ip_tunnel_cmd);
23400 #endif /* KAME */
23401 + install_element (INTERFACE_NODE, &mpls_labelspace_cmd);
23402 + install_element (INTERFACE_NODE, &no_mpls_labelspace_cmd);
23403 #ifdef HAVE_NETLINK
23404 install_element (INTERFACE_NODE, &ip_address_secondary_cmd);
23405 install_element (INTERFACE_NODE, &ip_address_label_cmd);
23406 diff --exclude=rsvpd -uNr quagga/zebra/interface.h quagga-mpls/zebra/interface.h
23407 --- quagga/zebra/interface.h 2004-02-25 13:47:26.000000000 -0600
23408 +++ quagga-mpls/zebra/interface.h 2004-03-03 14:17:06.000000000 -0600
23409 @@ -153,6 +153,8 @@
23410 #ifdef RTADV
23411 struct rtadvconf rtadv;
23412 #endif /* RTADV */
23414 + unsigned int mpls_tunnel;
23417 void if_delete_update (struct interface *ifp);
23418 diff --exclude=rsvpd -uNr quagga/zebra/main.c quagga-mpls/zebra/main.c
23419 --- quagga/zebra/main.c 2004-02-25 13:47:31.000000000 -0600
23420 +++ quagga-mpls/zebra/main.c 2004-02-25 13:57:55.000000000 -0600
23421 @@ -34,7 +34,7 @@
23422 #include "zebra/rib.h"
23423 #include "zebra/zserv.h"
23424 #include "zebra/debug.h"
23425 -#include "zebra/rib.h"
23426 +#include "zebra/router-id.h"
23428 /* Zebra instance */
23429 struct zebra_t zebrad =
23430 @@ -299,6 +299,7 @@
23431 rib_init ();
23432 zebra_if_init ();
23433 zebra_debug_init ();
23434 + router_id_init();
23435 zebra_vty_init ();
23436 access_list_init ();
23437 rtadv_init ();
23438 diff --exclude=rsvpd -uNr quagga/zebra/Makefile.am quagga-mpls/zebra/Makefile.am
23439 --- quagga/zebra/Makefile.am 2004-02-25 13:47:20.000000000 -0600
23440 +++ quagga-mpls/zebra/Makefile.am 2004-05-03 18:32:28.000000000 -0500
23441 @@ -14,19 +14,21 @@
23442 rtread_method = @RTREAD_METHOD@
23443 kernel_method = @KERNEL_METHOD@
23444 other_method = @OTHER_METHOD@
23445 +mpls_method = mpls_null.o
23447 otherobj = $(ipforward) $(if_method) $(if_proc) $(rt_method) \
23448 - $(rtread_method) $(kernel_method) $(other_method)
23449 + $(rtread_method) $(kernel_method) $(other_method) $(mpls_method)
23451 sbin_PROGRAMS = zebra
23453 zebra_SOURCES = \
23454 zserv.c main.c interface.c connected.c ioctl.c zebra_rib.c \
23455 - redistribute.c debug.c rtadv.c zebra_snmp.c zebra_vty.c
23456 + redistribute.c debug.c rtadv.c zebra_snmp.c zebra_vty.c router-id.c \
23457 + mpls_vty.c
23459 noinst_HEADERS = \
23460 connected.h ioctl.h rib.h rt.h zserv.h redistribute.h debug.h rtadv.h \
23461 - interface.h ipforward.h
23462 + interface.h ipforward.h router-id.h
23464 zebra_LDADD = ../lib/libzebra.a $(otherobj) $(LIBCAP) $(LIB_IPV6)
23466 diff --exclude=rsvpd -uNr quagga/zebra/mpls_linux.c quagga-mpls/zebra/mpls_linux.c
23467 --- quagga/zebra/mpls_linux.c 1969-12-31 18:00:00.000000000 -0600
23468 +++ quagga-mpls/zebra/mpls_linux.c 2004-07-14 23:37:41.009283184 -0500
23469 @@ -0,0 +1,168 @@
23470 +#include <linux/mpls.h>
23471 +#include "zebra.h"
23472 +#include "mpls_vty.h"
23474 +static int mpls_linux_fd = 0;
23476 +int
23477 +mpls_ctrl_init()
23479 + mpls_linux_fd = socket(AF_INET,SOCK_DGRAM,0);
23480 +#if 0
23481 + struct ifreq ifr;
23482 +#endif
23484 + if(mpls_linux_fd < 0)
23486 + return -1;
23489 +#if 0
23490 + ioctl(mpls_linux_fd,SIOCMPLSILMFLUSH,&ifr);
23491 + ioctl(mpls_linux_fd,SIOCMPLSNHLFEFLUSH,&ifr);
23492 +#endif
23494 + return 0;
23497 +int
23498 +mpls_ctrl_nhlfe_unregister(struct zmpls_out_segment *old)
23500 + struct mpls_out_label_req mol_req;
23502 + mol_req.mol_label.ml_type = MPLS_LABEL_KEY;
23503 + mol_req.mol_label.u.ml_key = old->out_key;
23504 + return ioctl(mpls_linux_fd,SIOCMPLSNHLFEDEL,&mol_req);
23507 +int
23508 +mpls_ctrl_nhlfe_register(struct zmpls_out_segment *new)
23510 + struct mpls_out_label_req mol_req;
23511 + struct mpls_instr_req mir_req;
23512 + struct interface *ifp;
23513 + int result;
23515 + mol_req.mol_label.ml_type = MPLS_LABEL_KEY;
23516 + mol_req.mol_label.u.ml_key = 0;
23518 + result = ioctl(mpls_linux_fd,SIOCMPLSNHLFEADD,&mol_req);
23519 + if (result < 0)
23521 + return -1;
23523 + new->out_key = mol_req.mol_label.u.ml_key;
23525 + mir_req.mir_direction = MPLS_OUT;
23526 + memcpy(&mir_req.mir_label,&mol_req.mol_label,sizeof(struct mpls_label));
23528 + mir_req.mir_instr[0].mir_opcode = MPLS_OP_PUSH;
23529 + mir_req.mir_instr[0].mir_data.push.ml_type = MPLS_LABEL_GEN;
23530 + mir_req.mir_instr[0].mir_data.push.u.ml_gen = new->push.u.gen;
23532 + mir_req.mir_instr[1].mir_opcode = MPLS_OP_SET;
23534 + switch (new->nh.type)
23536 + case NEXTHOP_TYPE_IFNAME:
23537 + case NEXTHOP_TYPE_IPV4_IFNAME:
23538 + case NEXTHOP_TYPE_IPV6_IFNAME:
23539 + ifp = if_lookup_by_name (new->nh.ifname);
23540 + mir_req.mir_instr[1].mir_data.set.mni_if = ifp ? ifp->ifindex : 0;
23541 + break;
23542 + case NEXTHOP_TYPE_IPV4:
23543 + case NEXTHOP_TYPE_IPV6:
23544 + default:
23545 + assert(0);
23548 + switch (new->nh.type)
23550 + case NEXTHOP_TYPE_IFNAME:
23551 + break;
23552 + case NEXTHOP_TYPE_IPV4_IFNAME:
23554 + struct sockaddr_in addr;
23555 + addr.sin_family = AF_INET;
23556 + addr.sin_addr = new->nh.gate.ipv4;
23557 + memcpy(&mir_req.mir_instr[1].mir_data.set.mni_addr, &addr, sizeof(addr));
23558 + break;
23560 + case NEXTHOP_TYPE_IPV6_IFNAME:
23562 + struct sockaddr_in6 addr;
23563 + addr.sin6_family = AF_INET6;
23564 + addr.sin6_addr = new->nh.gate.ipv6;
23565 + memcpy(&mir_req.mir_instr[1].mir_data.set.mni_addr, &addr, sizeof(addr));
23566 + break;
23568 + default:
23569 + assert(0);
23572 + mir_req.mir_instr_length = 2;
23574 + result = ioctl(mpls_linux_fd,SIOCSMPLSOUTINSTR,&mir_req);
23576 + return (result < 0) ? mpls_ctrl_nhlfe_unregister(new) : 0;
23579 +int
23580 +mpls_ctrl_ilm_unregister(struct zmpls_in_segment *old)
23582 + struct mpls_in_label_req mil_req;
23584 + mil_req.mil_label.ml_type = MPLS_LABEL_GEN;
23585 + mil_req.mil_label.u.ml_gen = old->label.u.gen;
23586 + mil_req.mil_label.ml_index = old->labelspace;
23588 + return ioctl(mpls_linux_fd,SIOCMPLSILMDEL,&mil_req);
23591 +int
23592 +mpls_ctrl_ilm_register(struct zmpls_in_segment *new,
23593 + struct zmpls_out_segment *out)
23595 + struct mpls_in_label_req mil_req;
23596 + int result;
23598 + mil_req.mil_label.ml_type = MPLS_LABEL_GEN;
23599 + mil_req.mil_label.u.ml_gen = new->label.u.gen;
23600 + mil_req.mil_label.ml_index = new->labelspace;
23602 + result = ioctl(mpls_linux_fd,SIOCMPLSILMADD,&mil_req);
23604 + if (result < 0)
23606 + return -1;
23609 + if (new->fwd && out)
23611 + struct mpls_xconnect_req mx_req;
23613 + memcpy(&mx_req.mx_in, &mil_req.mil_label,sizeof(struct mpls_label));
23614 + mx_req.mx_out.ml_type = MPLS_LABEL_KEY;
23615 + mx_req.mx_out.u.ml_key = out->out_key;
23617 + result = ioctl(mpls_linux_fd,SIOCMPLSXCADD,&mx_req);
23619 + if (result < 0)
23621 + return mpls_ctrl_ilm_unregister(new);
23625 + return 0;
23628 +int mpls_ctrl_set_interface_labelspace(struct interface *ifp)
23630 + struct mpls_labelspace_req mls_req;
23632 + mls_req.mls_ifindex = ifp->ifindex;
23633 + mls_req.mls_labelspace = ifp->mpls_labelspace;
23634 + ioctl(mpls_linux_fd,SIOCSLABELSPACEMPLS,&mls_req);
23636 + return 0;
23638 diff --exclude=rsvpd -uNr quagga/zebra/mpls_null.c quagga-mpls/zebra/mpls_null.c
23639 --- quagga/zebra/mpls_null.c 1969-12-31 18:00:00.000000000 -0600
23640 +++ quagga-mpls/zebra/mpls_null.c 2004-07-14 23:37:50.586827176 -0500
23641 @@ -0,0 +1,38 @@
23642 +#include <zebra.h>
23643 +#include "mpls_vty.h"
23645 +int
23646 +mpls_ctrl_init()
23648 + return 0;
23651 +int
23652 +mpls_ctrl_nhlfe_unregister(struct zmpls_out_segment *old)
23654 + return 0;
23657 +int
23658 +mpls_ctrl_nhlfe_register(struct zmpls_out_segment *new)
23660 + return 0;
23663 +int
23664 +mpls_ctrl_ilm_unregister(struct zmpls_in_segment *old)
23666 + return 0;
23669 +int
23670 +mpls_ctrl_ilm_register(struct zmpls_in_segment *new,
23671 + struct zmpls_out_segment *out)
23673 + return 0;
23676 +int mpls_ctrl_set_interface_labelspace(struct interface *ifp)
23678 + return 0;
23680 diff --exclude=rsvpd -uNr quagga/zebra/mpls_vty.c quagga-mpls/zebra/mpls_vty.c
23681 --- quagga/zebra/mpls_vty.c 1969-12-31 18:00:00.000000000 -0600
23682 +++ quagga-mpls/zebra/mpls_vty.c 2004-07-14 23:40:33.788016824 -0500
23683 @@ -0,0 +1,1219 @@
23684 +#include <zebra.h>
23685 +#include "zmpls.h"
23686 +#include "linklist.h"
23687 +#include "vty.h"
23688 +#include "memory.h"
23689 +#include "command.h"
23690 +#include "if.h"
23691 +#include "ioctl.h"
23693 +#include "zebra/rib.h"
23694 +#include "zebra/zserv.h"
23695 +#include "zebra/interface.h"
23696 +#include "zebra/redistribute.h"
23697 +#include "zebra/router-id.h"
23698 +#include "zebra/connected.h"
23700 +static
23701 +int label_parse(struct vty *vty, char **argv, struct zmpls_label *label)
23703 + if (!strncmp(argv[0], "gen", 3))
23705 + label->type = ZEBRA_MPLS_LABEL_GEN;
23707 + else if (!strncmp(argv[0], "atm", 3))
23709 + label->type = ZEBRA_MPLS_LABEL_ATM;
23711 + else if (!strncmp(argv[0], "fr", 2))
23713 + label->type = ZEBRA_MPLS_LABEL_FR;
23715 + else
23717 + vty_out (vty, "'%s' is not a valid label type (gen|atm|fr)%s",
23718 + argv[0], VTY_NEWLINE);
23719 + return CMD_WARNING;
23722 + switch (label->type)
23724 + case ZEBRA_MPLS_LABEL_GEN:
23725 + if ((!sscanf(argv[1], "%u", &label->u.gen)))
23727 + vty_out (vty, "'%s' is not an valid gen label value (16 .. 2^20 - 1)%s",
23728 + argv[1], VTY_NEWLINE);
23729 + return CMD_WARNING;
23731 + break;
23732 + case ZEBRA_MPLS_LABEL_ATM:
23733 + if ((sscanf(argv[1], "%hu/%hu", &label->u.atm.vpi,
23734 + &label->u.atm.vci) != 2))
23736 + vty_out (vty, "'%s' is not an valid atm label value (vpi/vci)%s",
23737 + argv[1], VTY_NEWLINE);
23738 + return CMD_WARNING;
23740 + break;
23741 + case ZEBRA_MPLS_LABEL_FR:
23742 + if ((!sscanf(argv[1], "%u", &label->u.fr)))
23744 + vty_out (vty, "'%s' is not an valid fr label value (1 .. 2^17 - 1)%s",
23745 + argv[1], VTY_NEWLINE);
23746 + return CMD_WARNING;
23748 + break;
23750 + return CMD_SUCCESS;
23753 +/*************************** out segment *****************************/
23755 +static int mpls_out_segment_cmp(void *val1, void *val2)
23757 + struct zmpls_out_segment *v1 = val1;
23758 + struct zmpls_out_segment *v2 = val2;
23760 + if (v1->index > v2->index)
23762 + return 1;
23764 + else if (v1->index < v2->index)
23766 + return -1;
23768 + return 0;
23771 +static int mpls_out_segment_nextindex = 1;
23773 +struct list mpls_out_segment_list = {
23774 + .head = NULL,
23775 + .tail = NULL,
23776 + .count = 0,
23777 + .cmp = mpls_out_segment_cmp,
23778 + .del = NULL,
23781 +int
23782 +nhlfe_parse(struct vty *vty, char **argv, struct zmpls_out_segment *out,
23783 + char* addr)
23785 + struct prefix p;
23786 + int result;
23788 + result = label_parse (vty, argv, &out->push);
23789 + if (result != CMD_SUCCESS)
23790 + return result;
23792 + out->nh.type = NEXTHOP_TYPE_IFNAME;
23793 + out->nh.ifname = XSTRDUP (0, argv[2]);
23795 + if (addr)
23797 + str2prefix (addr, &p);
23798 + if ((p.family == AF_INET && p.prefixlen != IPV4_MAX_BITLEN) ||
23799 + (p.family == AF_INET6 && p.prefixlen != IPV6_MAX_BITLEN))
23801 + vty_out (vty, "Nexthop IP address must be a host address(%s)%s",
23802 + addr, VTY_NEWLINE);
23803 + return CMD_WARNING;
23805 + switch (p.family)
23807 + case AF_INET:
23808 + if (p.prefixlen != IPV4_MAX_BITLEN)
23810 + vty_out (vty, "Nexthop IP address must be a host address(%s)%s",
23811 + addr, VTY_NEWLINE);
23812 + return CMD_WARNING;
23814 + out->nh.gate.ipv4 = p.u.prefix4;
23815 + out->nh.type = NEXTHOP_TYPE_IPV4_IFNAME;
23816 + break;
23817 + case AF_INET6:
23818 + if (p.prefixlen != IPV6_MAX_BITLEN)
23819 + {
23820 + vty_out (vty, "Nexthop IP address must be a host address(%s)%s",
23821 + addr, VTY_NEWLINE);
23822 + return CMD_WARNING;
23824 + out->nh.gate.ipv6 = p.u.prefix6;
23825 + out->nh.type = NEXTHOP_TYPE_IPV6_IFNAME;
23826 + break;
23827 + default:
23828 + vty_out (vty, "Invalid nexthop(%s)%s", addr, VTY_NEWLINE);
23829 + return CMD_WARNING;
23830 + break;
23833 + return CMD_SUCCESS;
23836 +unsigned int
23837 +mpls_out_segment_find_index_by_nhlfe(struct zmpls_out_segment *out)
23839 + listnode node;
23840 + struct zmpls_out_segment *old;
23842 + for (node = listhead (&mpls_out_segment_list); node; nextnode (node))
23844 + old = getdata (node);
23845 + if (old->owner == out->owner &&
23846 + mpls_label_match(&old->push, &out->push) &&
23847 + nexthop_match(&old->nh, &out->nh))
23848 + goto found;
23850 + return 0;
23851 +found:
23852 + return old->index;
23855 +struct zmpls_out_segment*
23856 +mpls_out_segment_find(unsigned int index)
23858 + listnode node;
23859 + struct zmpls_out_segment *old;
23861 + for (node = listhead (&mpls_out_segment_list); node; nextnode (node))
23863 + old = getdata (node);
23864 + if (index == old->index)
23866 + goto found;
23869 + return NULL;
23870 +found:
23871 + return old;
23874 +static void
23875 +do_mpls_out_segment_unregister(struct zmpls_out_segment *old)
23877 + mpls_ctrl_nhlfe_unregister(old);
23878 + redistribute_delete_mpls_out_segment (old);
23879 + LISTNODE_DELETE(&mpls_out_segment_list, &old->global);
23880 + XFREE (MTYPE_TMP, old);
23883 +int
23884 +mpls_out_segment_unregister(struct zmpls_out_segment *out)
23886 + struct zmpls_out_segment *old = mpls_out_segment_find (out->index);
23888 + if (!old)
23890 + return 1;
23892 + do_mpls_out_segment_unregister (old);
23893 + return 0;
23896 +int
23897 +mpls_out_segment_unregister_by_index(unsigned int index)
23899 + struct zmpls_out_segment *old = mpls_out_segment_find (index);
23901 + if (!old)
23903 + return 1;
23905 + do_mpls_out_segment_unregister (old);
23906 + return 0;
23909 +int
23910 +mpls_out_segment_register(struct zmpls_out_segment *out)
23912 + struct zmpls_out_segment *new;
23913 + if (out->index)
23915 + new = mpls_out_segment_find (out->index);
23916 + if (new)
23918 + return 1;
23922 + new = XMALLOC (MTYPE_TMP, sizeof (*new));
23923 + if (!new)
23925 + return 1;
23928 + memcpy (new, out, sizeof (*new));
23929 + new->nh.ifname = XSTRDUP (0, out->nh.ifname);
23930 + new->global.data = new;
23931 + new->global.next = NULL;
23932 + new->global.prev = NULL;
23933 + new->index = mpls_out_segment_nextindex++;
23934 + out->index = new->index;
23936 + LISTNODE_ADD(&mpls_out_segment_list, &new->global);
23938 + mpls_ctrl_nhlfe_register(new);
23939 + out->out_key = new->out_key;
23941 + redistribute_add_mpls_out_segment (new);
23943 + return 0;
23946 +/*************************** in segment *****************************/
23948 +struct list mpls_in_segment_list = {
23949 + .head = NULL,
23950 + .tail = NULL,
23951 + .count = 0,
23952 + .cmp = NULL,
23953 + .del = NULL,
23956 +static struct zmpls_in_segment*
23957 +mpls_in_segment_find(struct zmpls_in_segment *in)
23959 + listnode node;
23960 + struct zmpls_in_segment *old;
23962 + for (node = listhead (&mpls_in_segment_list); node; nextnode (node))
23964 + old = getdata (node);
23965 + if (in->labelspace == old->labelspace && in->label.type == old->label.type)
23967 + switch (in->label.type)
23969 + case ZEBRA_MPLS_LABEL_GEN:
23970 + if (in->label.u.gen == old->label.u.gen)
23972 + goto found;
23974 + break;
23975 + case ZEBRA_MPLS_LABEL_ATM:
23976 + if (in->label.u.atm.vpi == old->label.u.atm.vpi &&
23977 + in->label.u.atm.vci == old->label.u.atm.vci)
23979 + goto found;
23981 + break;
23982 + case ZEBRA_MPLS_LABEL_FR:
23983 + if (in->label.u.fr == old->label.u.fr)
23985 + goto found;
23987 + break;
23991 + return NULL;
23992 +found:
23993 + return old;
23996 +int
23997 +mpls_in_segment_unregister(struct zmpls_in_segment *in)
23999 + struct zmpls_in_segment *old = mpls_in_segment_find (in);
24001 + if (!old)
24003 + return 1;
24006 + mpls_ctrl_ilm_unregister(old);
24008 + if (old->fwd)
24010 + mpls_out_segment_unregister_by_index (old->fwd);
24013 + redistribute_delete_mpls_in_segment (old);
24015 + LISTNODE_DELETE(&mpls_in_segment_list, &old->global);
24016 + XFREE (MTYPE_TMP, old);
24017 + return 0;
24020 +int
24021 +mpls_in_segment_register(struct zmpls_in_segment *in)
24023 + struct zmpls_in_segment *new = mpls_in_segment_find (in);
24025 + if (new)
24027 + return 1;
24030 + new = XMALLOC (MTYPE_TMP, sizeof (*new));
24031 + if (!new)
24033 + return 1;
24036 + memcpy (new, in, sizeof (*new));
24037 + new->global.data = new;
24038 + new->global.next = NULL;
24039 + new->global.prev = NULL;
24041 + LISTNODE_ADD(&mpls_in_segment_list, &new->global);
24044 + struct zmpls_out_segment *out = NULL;
24045 + if (new->fwd)
24046 + out = mpls_out_segment_find(new->fwd);
24047 + mpls_ctrl_ilm_register(new, out);
24050 + redistribute_add_mpls_in_segment (new);
24052 + return 0;
24055 +/******************************** labelspace ******************************/
24057 +static unsigned char labelspace_map[32];
24059 +int
24060 +mpls_labelspace_register(int labelspace)
24062 + unsigned char byte;
24063 + div_t res;
24065 + res = div(labelspace, 8);
24066 + byte = labelspace_map[res.quot];
24067 + byte |= 1 << res.rem;
24068 + labelspace_map[res.quot] = byte;
24070 + redistribute_add_mpls_labelspace (labelspace);
24071 + return 0;
24074 +int
24075 +mpls_labelspace_unregister(int labelspace)
24077 + unsigned char byte;
24078 + div_t res;
24080 + res = div(labelspace, 8);
24081 + byte = labelspace_map[res.quot];
24082 + byte &= ~(1 << res.rem);
24083 + labelspace_map[res.quot] = byte;
24085 + redistribute_delete_mpls_labelspace (labelspace);
24086 + return 0;
24089 +int
24090 +mpls_labelspace_is_registered(int labelspace)
24092 + unsigned char byte;
24093 + div_t res;
24095 + res = div(labelspace, 8);
24096 + byte = labelspace_map[res.quot];
24097 + return (byte & (1 << res.rem)) ? 1 : 0;
24100 +/******************************** vty commands ******************************/
24102 +DEFUN (mpls_labelspace_num,
24103 + mpls_labelspace_num_cmd,
24104 + "mpls labelspace <0-255>",
24105 + "Multi-protocol Label Switching\n"
24106 + "Labelspace\n"
24107 + "Labelspace number\n")
24109 + int labelspace = -1;
24110 + if (!sscanf(argv[0], "%u", &labelspace)) {
24111 + vty_out (vty, "'%s' is not an valid labelspace (0 .. 255)%s",
24112 + argv[0], VTY_NEWLINE);
24113 + return CMD_WARNING;
24115 + vty->index = (void*)labelspace;
24116 + vty->node = MPLS_LABELSPACE_NODE;
24117 + if (!mpls_labelspace_is_registered (labelspace))
24119 + mpls_labelspace_register(labelspace);
24121 + return CMD_SUCCESS;
24124 +DEFUN (no_mpls_labelspace_num,
24125 + no_mpls_labelspace_num_cmd,
24126 + "no mpls labelspace <0-255>",
24127 + NO_STR
24128 + "Multi-protocol Label Switching\n"
24129 + "Labelspace\n"
24130 + "Labelspace number\n")
24132 + listnode node, next;
24133 + struct zmpls_in_segment *in;
24134 + int labelspace = -1;
24136 + if (!sscanf(argv[0], "%u", &labelspace)) {
24137 + vty_out (vty, "'%s' is not an valid labelspace (0 .. 255)%s",
24138 + argv[0], VTY_NEWLINE);
24139 + return CMD_WARNING;
24142 + if (!mpls_labelspace_is_registered (labelspace))
24144 + return CMD_SUCCESS;
24147 + node = listhead (&mpls_in_segment_list);
24148 + while (node)
24150 + next = node;
24151 + nextnode (next);
24153 + in = getdata (node);
24154 + if (in->labelspace == labelspace)
24156 + mpls_in_segment_unregister(in);
24158 + node = next;
24160 + mpls_labelspace_unregister(labelspace);
24161 + return CMD_SUCCESS;
24164 +DEFUN (label_map_pop,
24165 + label_map_pop_cmd,
24166 + "label-map (gen|atm|fr) VALUE pop",
24167 + "Create a static incoming label-map (ILM)\n"
24168 + "In-coming Generic label\n"
24169 + "In-coming ATM VC\n"
24170 + "In-coming FR DLCI\n"
24171 + "Label value\n"
24172 + "Pop and lookup\n")
24174 + struct zmpls_in_segment in;
24175 + int result;
24177 + in.owner = ZEBRA_MPLS_OWNER_STATIC;
24178 + in.labelspace = (int)vty->index;
24180 + result = label_parse(vty,argv,&in.label);
24181 + if (result != CMD_SUCCESS)
24182 + return result;
24184 + in.pop = 1;
24185 + in.fwd = 0;
24187 + return mpls_in_segment_register(&in) ? CMD_WARNING : CMD_SUCCESS;
24190 +DEFUN (label_map_swap_if,
24191 + label_map_swap_if_cmd,
24192 + "label-map (gen|atm|fr) VALUE swap (gen|atm|fr) VALUE nexthop INTERFACE",
24193 + "Create a static incoming label-map (ILM)\n"
24194 + "In-coming Generic label\n"
24195 + "In-coming ATM VC\n"
24196 + "In-coming FR DLCI\n"
24197 + "Label value\n"
24198 + "Forward\n"
24199 + "Out-going Generic label\n"
24200 + "Out-going ATM VC\n"
24201 + "Out-going FR DLCI\n"
24202 + "Label value\n"
24203 + "Nexthop\n"
24204 + "Out-going interface name\n")
24206 + struct zmpls_in_segment in;
24207 + struct zmpls_out_segment out;
24208 + int result;
24210 + in.owner = ZEBRA_MPLS_OWNER_STATIC;
24212 + in.labelspace = (int)vty->index;
24214 + result = label_parse (vty, argv, &in.label);
24215 + if (result != CMD_SUCCESS)
24216 + return result;
24218 + memset (&out, 0, sizeof (out));
24219 + out.owner = ZEBRA_MPLS_OWNER_STATIC;
24220 + result = nhlfe_parse (vty, &argv[2], &out, NULL);
24221 + if (result != CMD_SUCCESS)
24222 + return result;
24224 + if (mpls_out_segment_find_index_by_nhlfe(&out))
24226 + vty_out(vty, "NHLFE already exists%s",VTY_NEWLINE);
24227 + return CMD_WARNING;
24230 + out.index = 0;
24231 + if (mpls_out_segment_register (&out))
24233 + vty_out(vty, "Unable to register NHLFE%s",VTY_NEWLINE);
24234 + return CMD_WARNING;
24237 + in.pop = 1;
24238 + in.fwd = out.index;
24240 + if (mpls_in_segment_register (&in))
24242 + if (mpls_out_segment_unregister (&out))
24244 + vty_out (vty, "no such out-segment%s", VTY_NEWLINE);
24246 + return CMD_WARNING;
24248 + return CMD_SUCCESS;
24251 +DEFUN (label_map_swap_if_addr,
24252 + label_map_swap_if_addr_cmd,
24253 + "label-map (gen|atm|fr) VALUE swap (gen|atm|fr) VALUE nexthop INTERFACE IPADDR",
24254 + "Incoming label-map (ILM)\n"
24255 + "In-coming Generic label\n"
24256 + "In-coming ATM VC\n"
24257 + "In-coming FR DLCI\n"
24258 + "Label value\n"
24259 + "Forward\n"
24260 + "Out-going Generic label\n"
24261 + "Out-going ATM VC\n"
24262 + "Out-going FR DLCI\n"
24263 + "Label value\n"
24264 + "Nexthop\n"
24265 + "Out-going interface name\n"
24266 + "Nexthop IP address\n")
24268 + struct zmpls_in_segment in;
24269 + struct zmpls_out_segment out;
24270 + int result;
24272 + in.owner = ZEBRA_MPLS_OWNER_STATIC;
24273 + out.owner = ZEBRA_MPLS_OWNER_STATIC;
24275 + in.labelspace = (int)vty->index;
24277 + result = label_parse (vty, argv, &in.label);
24278 + if (result != CMD_SUCCESS)
24279 + return result;
24281 + result = nhlfe_parse (vty, &argv[2], &out, argv[5]);
24282 + if (result != CMD_SUCCESS)
24283 + return result;
24285 + if (mpls_out_segment_find_index_by_nhlfe(&out))
24287 + vty_out(vty, "NHLFE already exists%s",VTY_NEWLINE);
24288 + return CMD_WARNING;
24291 + out.index = 0;
24292 + if (mpls_out_segment_register (&out))
24294 + vty_out(vty, "Unable to register NHLFE%s",VTY_NEWLINE);
24295 + return CMD_WARNING;
24298 + in.pop = 1;
24299 + in.fwd = out.index;
24301 + if (mpls_in_segment_register (&in))
24303 + if (mpls_out_segment_unregister (&out))
24305 + vty_out (vty, "no such out-segment%s", VTY_NEWLINE);
24307 + return CMD_WARNING;
24309 + return CMD_SUCCESS;
24312 +DEFUN (no_label_map,
24313 + no_label_map_cmd,
24314 + "no label-map (gen|atm|fr) VALUE",
24315 + NO_STR
24316 + "Incoming label-map (ILM)\n"
24317 + "In-coming Generic label\n"
24318 + "In-coming ATM VC\n"
24319 + "In-coming FR DLCI\n"
24320 + "Label value\n")
24322 + struct zmpls_in_segment in;
24323 + int result;
24325 + in.labelspace = (int)vty->index;
24327 + result = label_parse(vty, argv, &in.label);
24328 + if (result != CMD_SUCCESS)
24329 + return result;
24331 + return mpls_in_segment_unregister(&in) ? CMD_WARNING : CMD_SUCCESS;
24334 +DEFUN (tunnel_destination_addr,
24335 + tunnel_destination_addr_cmd,
24336 + "tunnel destination IPADDR",
24337 + "Tunnel configuration\n"
24338 + "Destination of tunnel\n"
24339 + "IP Address of the destination of tunnel\n")
24341 + struct interface *ifp;
24342 + struct connected *ifc;
24343 + struct prefix dest;
24344 + struct prefix *p;
24345 + int ret;
24347 + ifp = (struct interface *) vty->index;
24348 + ret = str2prefix (argv[0], &dest);
24349 + if (ret <= 0)
24351 + vty_out (vty, "%% Malformed address %s", VTY_NEWLINE);
24352 + return CMD_WARNING;
24355 + if (listcount (ifp->connected))
24357 + vty_out (vty, "%% Tunnel destination already configured %s", VTY_NEWLINE);
24358 + return CMD_WARNING;
24361 + ifc = connected_new ();
24362 + ifc->ifp = ifp;
24364 + /* source */
24365 + p = prefix_new ();
24366 + router_id_get (p);
24367 + ifc->address = (struct prefix *) p;
24369 + /* destination. */
24370 + p = prefix_new ();
24371 + *p = dest;
24372 + p->prefixlen = (p->family == AF_INET)?IPV4_MAX_BITLEN:IPV6_MAX_PREFIXLEN;
24373 + ifc->destination = (struct prefix *) p;
24375 + /* Add to linked list. */
24376 + listnode_add (ifp->connected, ifc);
24378 + SET_FLAG (ifc->conf, ZEBRA_IFC_CONFIGURED);
24380 + if_set_flags (ifp, IFF_UP | IFF_RUNNING);
24381 + if_refresh (ifp);
24383 + ret = if_set_prefix (ifp, ifc);
24384 + if (ret < 0)
24386 + vty_out (vty, "%% Can't set interface IP address: %s.%s",
24387 + strerror(errno), VTY_NEWLINE);
24388 + return CMD_WARNING;
24391 + /* IP address propery set. */
24392 + SET_FLAG (ifc->conf, ZEBRA_IFC_REAL);
24394 + /* Update interface address information to protocol daemon. */
24395 + zebra_interface_address_add_update (ifp, ifc);
24397 + /* If interface is up register connected route. */
24398 + if (if_is_operative(ifp))
24399 + connected_up_ipv4 (ifp, ifc);
24401 + return CMD_SUCCESS;
24404 +DEFUN (no_tunnel_destination,
24405 + no_tunnel_destination_cmd,
24406 + "no tunnel destination",
24407 + NO_STR
24408 + "Tunnel configuration\n"
24409 + "Destination of tunnel\n")
24411 + struct interface *ifp;
24412 + struct connected *ifc;
24413 + int ret;
24415 + ifp = (struct interface *) vty->index;
24416 + ifc = getdata (listhead (ifp->connected));
24418 + /* This is real route. */
24419 + ret = if_unset_prefix (ifp, ifc);
24420 + if (ret < 0)
24422 + vty_out (vty, "%% Can't unset interface IP address: %s.%s",
24423 + strerror(errno), VTY_NEWLINE);
24424 + return CMD_WARNING;
24427 + /* Redistribute this information. */
24428 + zebra_interface_address_delete_update (ifp, ifc);
24430 + /* Remove connected route. */
24431 + connected_down_ipv4 (ifp, ifc);
24433 + /* Free address information. */
24434 + listnode_delete (ifp->connected, ifc);
24435 + connected_free (ifc);
24437 + return CMD_SUCCESS;
24440 +DEFUN (tunnel_mode_mpls_static_if,
24441 + tunnel_mode_mpls_static_if_cmd,
24442 + "tunnel mode mpls static (gen|atm|fr) VALUE nexthop INTERFACE",
24443 + "Tunnel configuration\n"
24444 + "Tunnel mode\n"
24445 + "MPLS tunnel type\n"
24446 + "Static MPLS tunnel\n"
24447 + "Out-going Generic label\n"
24448 + "Out-going ATM VC\n"
24449 + "Out-going FR DLCI\n"
24450 + "Label value\n"
24451 + "Nexthop\n"
24452 + "Out-going interface name\n")
24454 + struct zmpls_out_segment out;
24455 + struct zebra_if *zif;
24456 + struct interface *ifp;
24457 + int result;
24459 + ifp = (struct interface *) vty->index;
24460 + zif = ifp->info;
24462 + memset (&out, 0, sizeof (out));
24464 + out.owner = ZEBRA_MPLS_OWNER_STATIC;
24465 + result = nhlfe_parse (vty, argv, &out, NULL);
24466 + if (result != CMD_SUCCESS)
24467 + return result;
24469 + if (mpls_out_segment_find_index_by_nhlfe(&out))
24471 + vty_out(vty, "NHLFE already exists%s",VTY_NEWLINE);
24472 + return CMD_WARNING;
24475 + out.index = 0;
24476 + if (mpls_out_segment_register (&out))
24478 + vty_out(vty, "Unable to register NHLFE%s",VTY_NEWLINE);
24479 + return CMD_WARNING;
24482 + zif->mpls_tunnel = out.index;
24483 + return CMD_SUCCESS;
24486 +DEFUN (tunnel_mode_mpls_static_if_addr,
24487 + tunnel_mode_mpls_static_if_addr_cmd,
24488 + "tunnel mode mpls static (gen|atm|fr) VALUE nexthop INTERFACE IPADDR",
24489 + "Tunnel configuration\n"
24490 + "Tunnel mode\n"
24491 + "MPLS tunnel type\n"
24492 + "Static MPLS tunnel\n"
24493 + "Out-going Generic label\n"
24494 + "Out-going ATM VC\n"
24495 + "Out-going FR DLCI\n"
24496 + "Label value\n"
24497 + "Nexthop\n"
24498 + "Out-going interface name\n"
24499 + "Nexthop IP address\n")
24501 + struct zmpls_out_segment out;
24502 + struct interface *ifp;
24503 + struct zebra_if *zif;
24504 + int result;
24506 + ifp = (struct interface *) vty->index;
24507 + zif = ifp->info;
24509 + memset (&out, 0, sizeof (out));
24511 + out.owner = ZEBRA_MPLS_OWNER_STATIC;
24512 + result = nhlfe_parse (vty, argv, &out, argv[3]);
24513 + if (result != CMD_SUCCESS)
24514 + return result;
24516 + if (mpls_out_segment_find_index_by_nhlfe(&out))
24518 + vty_out(vty, "NHLFE already exists%s",VTY_NEWLINE);
24519 + return CMD_WARNING;
24522 + out.index = 0;
24523 + if (mpls_out_segment_register (&out))
24525 + vty_out(vty, "Unable to register NHLFE%s",VTY_NEWLINE);
24526 + return CMD_WARNING;
24529 + zif->mpls_tunnel = out.index;
24530 + return CMD_SUCCESS;
24533 +DEFUN (no_tunnel_mode_mpls_static,
24534 + no_tunnel_mode_mpls_static_cmd,
24535 + "no tunnel mode mpls static",
24536 + NO_STR
24537 + "Tunnel configuration\n"
24538 + "Tunnel mode\n"
24539 + "MPLS tunnel type\n"
24540 + "Static MPLS tunnel\n")
24542 + struct interface *ifp;
24543 + struct zebra_if *zif;
24545 + ifp = (struct interface *) vty->index;
24546 + zif = ifp->info;
24548 + if (mpls_out_segment_unregister_by_index (zif->mpls_tunnel))
24550 + vty_out (vty, "no such out-segment%s", VTY_NEWLINE);
24551 + return CMD_WARNING;
24553 + return CMD_SUCCESS;
24556 +char *owner_name[6] = { "", "STATIC", "BGP", "LDP", "RSVP", "CR-LDP" };
24558 +void mpls_print_label(struct zmpls_label *label, char *buf)
24560 + switch (label->type)
24562 + case ZEBRA_MPLS_LABEL_GEN:
24563 + sprintf(buf, "%u", label->u.gen);
24564 + break;
24565 + case ZEBRA_MPLS_LABEL_ATM:
24566 + sprintf(buf, "%hu/%hu", label->u.atm.vpi, label->u.atm.vci);
24567 + break;
24568 + case ZEBRA_MPLS_LABEL_FR:
24569 + sprintf(buf, "%u", label->u.fr);
24570 + break;
24574 +DEFUN (mpls_show_mpls_fwd,
24575 + mpls_show_mpls_fwd_cmd,
24576 + "show mpls forwarding",
24577 + SHOW_STR
24578 + "MPLS commands\n"
24579 + "forwarding table\n")
24581 + struct zmpls_out_segment *out;
24582 + struct zmpls_in_segment *in;
24583 + listnode node;
24584 + int count;
24586 + vty_out(vty, "Insegments:%s",VTY_NEWLINE);
24588 + count = 0;
24589 + for (node = listhead (&mpls_in_segment_list); node; nextnode (node))
24591 + char buf[16];
24593 + in = getdata(node);
24595 + mpls_print_label(&in->label, buf);
24597 + if (!count) {
24598 + vty_out(vty, " Lbl Spc Label Owner%s", VTY_NEWLINE);
24600 + vty_out(vty, " %-3d %7s %-6s%s", in->labelspace,
24601 + buf, owner_name[in->owner], VTY_NEWLINE);
24602 + count++;
24604 + if (!count) {
24605 + vty_out(vty, "%s", VTY_NEWLINE);
24607 + vty_out(vty, "Total %d%s",count, VTY_NEWLINE);
24608 + vty_out(vty, "%s", VTY_NEWLINE);
24610 + vty_out(vty, "Outsegments:%s",VTY_NEWLINE);
24611 + count = 0;
24612 + for (node = listhead (&mpls_out_segment_list); node; nextnode (node))
24614 + char buf2[16];
24615 + char buf[48];
24616 + char *ifname;
24618 + out = getdata(node);
24620 + if (!count) {
24621 + vty_out (vty, " Interface Label Next Hop Owner%s",
24622 + VTY_NEWLINE);
24625 + switch (out->nh.type)
24627 + case NEXTHOP_TYPE_IFNAME:
24628 + case NEXTHOP_TYPE_IPV4_IFNAME:
24629 + case NEXTHOP_TYPE_IPV6_IFNAME:
24630 + ifname = out->nh.ifname;
24631 + break;
24632 + case NEXTHOP_TYPE_IPV4:
24633 + case NEXTHOP_TYPE_IPV6:
24634 + ifname = "(remote)";
24635 + break;
24636 + default:
24637 + assert(0);
24640 + switch (out->nh.type)
24642 + case NEXTHOP_TYPE_IFNAME:
24643 + strcpy (buf, "0.0.0.0");
24644 + break;
24645 + case NEXTHOP_TYPE_IPV4_IFNAME:
24646 + case NEXTHOP_TYPE_IPV4:
24647 + inet_ntop (AF_INET, &out->nh.gate.ipv6, buf, sizeof(buf));
24648 + break;
24649 + case NEXTHOP_TYPE_IPV6_IFNAME:
24650 + case NEXTHOP_TYPE_IPV6:
24651 + inet_ntop (AF_INET6, &out->nh.gate.ipv6, buf, sizeof(buf));
24652 + break;
24653 + default:
24654 + assert(0);
24657 + mpls_print_label(&out->push, buf2);
24659 + vty_out(vty, " %-16s %7s %-15s %-6s%s", ifname,
24660 + buf2, buf, owner_name[out->owner], VTY_NEWLINE);
24661 + count++;
24663 + if (!count) {
24664 + vty_out(vty, "%s", VTY_NEWLINE);
24666 + vty_out(vty, "Total %d%s",count, VTY_NEWLINE);
24667 + vty_out(vty, "%s", VTY_NEWLINE);
24669 +#if 0
24670 + vty_out(vty, "Cross Connects:%s",VTY_NEWLINE);
24671 + count = 0;
24672 + xc.index = 0;
24673 + while (lsr_cfg_xconnect_getnext(mpls->h,&xc,0xFFFFFFFF) == MPLS_SUCCESS) {
24674 + if (!count) {
24675 + vty_out(vty, " Lbl Spc In Label Out Label Interface "
24676 + "Next Hop Owner%s", VTY_NEWLINE);
24679 + in.index = xc.insegment_index;
24680 + lsr_cfg_insegment_get(mpls->h,&in,0xFFFFFFFF);
24682 + out.index = xc.outsegment_index;
24683 + lsr_cfg_outsegment_get(mpls->h,&out,0xFFFFFFFF);
24684 + if (out.info.nexthop.type & MPLS_NH_IP) {
24685 + ip.s_addr = htonl(out.info.nexthop.ip.u.ipv4);
24686 + } else {
24687 + ip.s_addr = 0;
24689 + if (out.info.nexthop.type & MPLS_NH_IF) {
24690 + iff = out.info.nexthop.if_handle;
24691 + } else {
24692 + iff = NULL;
24695 + vty_out(vty, " %-3d %7d %7d %-16s %-15s %-6s%s",
24696 + in.info.labelspace, in.info.label.u.gen, out.info.label.u.gen,
24697 + iff->name, inet_ntoa(ip), owner_name[in.info.owner], VTY_NEWLINE);
24698 + count++;
24700 + if (!count) {
24701 + vty_out(vty, "%s", VTY_NEWLINE);
24703 + vty_out(vty, "Total %d%s",count, VTY_NEWLINE);
24704 + vty_out(vty, "%s", VTY_NEWLINE);
24705 +#endif
24707 + return CMD_SUCCESS;
24710 +static void
24711 +mpls_label_config_write (struct vty *vty, struct zmpls_label *label)
24713 + switch (label->type)
24715 + case ZEBRA_MPLS_LABEL_GEN:
24716 + vty_out (vty, "gen %d", label->u.gen);
24717 + break;
24718 + case ZEBRA_MPLS_LABEL_ATM:
24719 + vty_out (vty, "atm %d/%d", label->u.atm.vpi, label->u.atm.vci);
24720 + break;
24721 + case ZEBRA_MPLS_LABEL_FR:
24722 + vty_out (vty, "fr %d", label->u.fr);
24723 + break;
24727 +void
24728 +mpls_out_segment_config_write (struct vty *vty, struct zmpls_out_segment *out)
24730 + char buf[128];
24732 + assert(out->owner == ZEBRA_MPLS_OWNER_STATIC);
24734 + mpls_label_config_write (vty, &out->push);
24735 + vty_out (vty, " nexthop %s", out->nh.ifname);
24736 + switch (out->nh.type)
24738 + case NEXTHOP_TYPE_IPV6_IFNAME:
24739 + inet_ntop (AF_INET6, &out->nh.gate.ipv6, buf, sizeof (buf));
24740 + break;
24741 + case NEXTHOP_TYPE_IPV4_IFNAME:
24742 + inet_ntop (AF_INET, &out->nh.gate.ipv4, buf, sizeof (buf));
24743 + break;
24744 + case NEXTHOP_TYPE_IPV6:
24745 + case NEXTHOP_TYPE_IPV4:
24746 + /* fall through */
24747 + default:
24748 + assert(0);
24750 + vty_out (vty, " %s", buf);
24753 +static void
24754 +mpls_in_segment_config_write (struct vty *vty, struct zmpls_in_segment *in)
24756 + mpls_label_config_write (vty, &in->label);
24758 + if (in->pop)
24760 + vty_out (vty, " pop");
24762 + if (in->fwd)
24764 + struct zmpls_out_segment *out;
24765 + vty_out (vty, " swap ");
24766 + out = mpls_out_segment_find (in->fwd);
24767 + if (out)
24769 + mpls_out_segment_config_write (vty, out);
24771 + else
24773 + vty_out (vty, "(unable to find out-segment with index %d)", in->fwd);
24778 +static int
24779 +mpls_labelspace_config_write (struct vty *vty)
24781 + listnode node;
24782 + struct zmpls_in_segment *in;
24783 + int labelspace;
24785 + for (labelspace = 0;labelspace < 256;labelspace++)
24787 + if (!mpls_labelspace_is_registered(labelspace))
24788 + continue;
24790 + vty_out (vty, "mpls labelspace %d%s", labelspace, VTY_NEWLINE);
24792 + for (node = listhead (&mpls_in_segment_list); node; nextnode (node))
24794 + in = getdata(node);
24796 + if (in->owner != ZEBRA_MPLS_OWNER_STATIC)
24797 + continue;
24799 + if (in->labelspace != labelspace)
24800 + continue;
24802 + vty_out (vty, " label-map ");
24803 + mpls_in_segment_config_write (vty, in);
24804 + vty_out (vty, "%s", VTY_NEWLINE);
24806 + vty_out (vty, "!%s", VTY_NEWLINE);
24808 + return 0;
24811 +static
24812 +struct cmd_node mpls_labelspace_node =
24814 + MPLS_LABELSPACE_NODE,
24815 + "%s(config-ls)# ",
24819 +static int
24820 +mpls_tun_interface_config_write (struct vty *vty)
24822 + listnode node;
24824 + for (node = listhead (iflist); node; nextnode (node))
24826 + struct interface *ifp;
24827 + struct zebra_if *zif;
24828 + ifp = getdata (node);
24830 + if (ifp->node != MPLS_TUN_INTERFACE_NODE)
24831 + continue;
24833 + zif = ifp->info;
24835 + vty_out (vty, "int %s%s", ifp->name, VTY_NEWLINE);
24836 + if (listcount (ifp->connected))
24838 + struct connected *ifc;
24839 + char buf[48];
24841 + ifc = getdata (listhead (ifp->connected));
24842 + inet_ntop (ifc->destination->family,&ifc->destination->u.prefix, buf, 48);
24844 + vty_out (vty, " tunnel destination %s%s", buf, VTY_NEWLINE);
24847 + if (zif->mpls_tunnel)
24849 + struct zmpls_out_segment *out;
24851 + out = mpls_out_segment_find(zif->mpls_tunnel);
24852 + if (out)
24854 + vty_out (vty, " tunnel mode mpls static ");
24855 + mpls_out_segment_config_write (vty, out);
24856 + vty_out (vty, "%s", VTY_NEWLINE);
24860 + vty_out (vty, "!%s", VTY_NEWLINE);
24862 + return 0;
24865 +static
24866 +struct cmd_node mpls_tun_interface_node =
24868 + MPLS_TUN_INTERFACE_NODE,
24869 + "%s(config-if)# ",
24873 +void
24874 +mpls_vty_init ()
24876 + memset(labelspace_map, 0, sizeof(labelspace_map));
24878 + mpls_ctrl_init();
24880 + install_element (CONFIG_NODE, &mpls_labelspace_num_cmd);
24881 + install_element (CONFIG_NODE, &no_mpls_labelspace_num_cmd);
24883 + install_node (&mpls_labelspace_node, mpls_labelspace_config_write);
24884 + install_default (MPLS_LABELSPACE_NODE);
24886 + install_element (MPLS_LABELSPACE_NODE, &label_map_pop_cmd);
24887 + install_element (MPLS_LABELSPACE_NODE, &label_map_swap_if_cmd);
24888 + install_element (MPLS_LABELSPACE_NODE, &label_map_swap_if_addr_cmd);
24889 + install_element (MPLS_LABELSPACE_NODE, &no_label_map_cmd);
24891 + install_node (&mpls_tun_interface_node, mpls_tun_interface_config_write);
24892 + install_default (MPLS_TUN_INTERFACE_NODE);
24894 + install_element (MPLS_TUN_INTERFACE_NODE, &tunnel_destination_addr_cmd);
24895 + install_element (MPLS_TUN_INTERFACE_NODE, &no_tunnel_destination_cmd);
24896 + install_element (MPLS_TUN_INTERFACE_NODE, &tunnel_mode_mpls_static_if_cmd);
24897 + install_element (MPLS_TUN_INTERFACE_NODE, &tunnel_mode_mpls_static_if_addr_cmd);
24898 + install_element (MPLS_TUN_INTERFACE_NODE, &no_tunnel_mode_mpls_static_cmd);
24900 + install_element (VIEW_NODE, &mpls_show_mpls_fwd_cmd);
24901 + install_element (ENABLE_NODE, &mpls_show_mpls_fwd_cmd);
24903 diff --exclude=rsvpd -uNr quagga/zebra/mpls_vty.h quagga-mpls/zebra/mpls_vty.h
24904 --- quagga/zebra/mpls_vty.h 1969-12-31 18:00:00.000000000 -0600
24905 +++ quagga-mpls/zebra/mpls_vty.h 2004-07-14 23:37:59.300502496 -0500
24906 @@ -0,0 +1,99 @@
24907 +#ifndef _ZEBRA_MPLS_VTY_H
24908 +#define _ZEBRA_MPLS_VTY_H
24910 +#include "vty.h"
24911 +#include "zmpls.h"
24913 +#include "zebra/rib.h"
24915 +struct zmpls_in_segment
24917 + struct listnode global;
24918 + u_char owner;
24919 + u_char labelspace;
24920 + u_short protocol;
24921 + u_int fwd;
24922 + struct zmpls_label label;
24923 + u_char pop;
24926 +struct zmpls_out_segment
24928 + struct listnode global;
24929 + u_char owner;
24930 + struct zmpls_label push;
24931 + struct nexthop nh;
24932 + u_int index;
24933 + u_int out_key;
24936 +struct zmpls_xc
24938 + u_int index;
24939 + struct zmpls_in_segment *in;
24940 + struct zmpls_out_segmen *out;
24944 +extern void mpls_vty_init();
24946 +extern struct list mpls_in_segment_list;
24947 +extern struct list mpls_out_segment_list;
24949 +extern int
24950 +mpls_in_segment_register(struct zmpls_in_segment *in);
24952 +extern int
24953 +mpls_in_segment_unregister(struct zmpls_in_segment *in);
24955 +extern int
24956 +mpls_out_segment_register(struct zmpls_out_segment *out);
24958 +extern int
24959 +mpls_out_segment_unregister(struct zmpls_out_segment *out);
24961 +extern int
24962 +mpls_out_segment_unregister_by_index(unsigned int index);
24964 +extern int
24965 +mpls_labelspace_register(int labelspace);
24967 +extern int
24968 +mpls_labelspace_unregister(int labelspace);
24970 +extern int
24971 +mpls_labelspace_is_registered(int labelspace);
24973 +extern void
24974 +mpls_out_segment_config_write (struct vty *vty, struct zmpls_out_segment *out);
24976 +extern struct zmpls_out_segment*
24977 +mpls_out_segment_find(unsigned int index);
24979 +extern unsigned int
24980 +mpls_out_segment_find_index_by_nhlfe (struct zmpls_out_segment *out);
24982 +extern int
24983 +nhlfe_parse(struct vty *vty, char **argv, struct zmpls_out_segment *out,
24984 + char* addr);
24986 +extern int
24987 +mpls_ctrl_init(void);
24989 +extern int
24990 +mpls_ctrl_nhlfe_unregister(struct zmpls_out_segment *old);
24992 +extern int
24993 +mpls_ctrl_nhlfe_register(struct zmpls_out_segment *new);
24995 +extern int
24996 +mpls_ctrl_ilm_unregister(struct zmpls_in_segment *old);
24998 +extern int
24999 +mpls_ctrl_ilm_register(struct zmpls_in_segment *new,
25000 + struct zmpls_out_segment *out);
25002 +extern int
25003 +mpls_ctrl_set_interface_labelspace(struct interface *ifp);
25005 +#endif /* _ZEBRA_MPLS_VTY_H */
25006 diff --exclude=rsvpd -uNr quagga/zebra/redistribute.c quagga-mpls/zebra/redistribute.c
25007 --- quagga/zebra/redistribute.c 2004-02-25 13:47:32.000000000 -0600
25008 +++ quagga-mpls/zebra/redistribute.c 2004-07-14 22:58:12.968280136 -0500
25009 @@ -35,6 +35,7 @@
25010 #include "zebra/zserv.h"
25011 #include "zebra/redistribute.h"
25012 #include "zebra/debug.h"
25013 +#include "zebra/router-id.h"
25015 /* master zebra server structure */
25016 extern struct zebra_t zebrad;
25017 @@ -380,6 +381,8 @@
25018 p->prefixlen, ifc->ifp->name);
25021 + router_id_add_address(ifc);
25023 for (node = listhead (zebrad.client_list); node; nextnode (node))
25024 if ((client = getdata (node)) != NULL)
25025 if (client->ifinfo && CHECK_FLAG (ifc->conf, ZEBRA_IFC_REAL))
25026 @@ -404,8 +407,106 @@
25027 p->prefixlen, ifc->ifp->name);
25030 + router_id_del_address(ifc);
25032 for (node = listhead (zebrad.client_list); node; nextnode (node))
25033 if ((client = getdata (node)) != NULL)
25034 if (client->ifinfo && CHECK_FLAG (ifc->conf, ZEBRA_IFC_REAL))
25035 zsend_interface_address_delete (client, ifp, ifc);
25038 +void
25039 +redistribute_add_mpls_xc (struct zmpls_xc *xc)
25041 + listnode node;
25042 + struct zserv *client;
25044 + for (node = listhead (zebrad.client_list); node; nextnode (node))
25045 + if ((client = getdata (node)) != NULL)
25046 + if (client->mplsinfo)
25047 + zsend_mpls_xc_add (client, xc);
25050 +void
25051 +redistribute_delete_mpls_xc (struct zmpls_xc *xc)
25053 + listnode node;
25054 + struct zserv *client;
25056 + for (node = listhead (zebrad.client_list); node; nextnode (node))
25057 + if ((client = getdata (node)) != NULL)
25058 + if (client->mplsinfo)
25059 + zsend_mpls_xc_delete (client, xc);
25062 +void
25063 +redistribute_add_mpls_in_segment (struct zmpls_in_segment *in)
25065 + listnode node;
25066 + struct zserv *client;
25068 + for (node = listhead (zebrad.client_list); node; nextnode (node))
25069 + if ((client = getdata (node)) != NULL)
25070 + if (client->mplsinfo)
25071 + zsend_mpls_in_segment_add (client, in);
25074 +void
25075 +redistribute_delete_mpls_in_segment (struct zmpls_in_segment *in)
25077 + listnode node;
25078 + struct zserv *client;
25080 + for (node = listhead (zebrad.client_list); node; nextnode (node))
25081 + if ((client = getdata (node)) != NULL)
25082 + if (client->mplsinfo)
25083 + zsend_mpls_in_segment_delete (client, in);
25086 +void
25087 +redistribute_add_mpls_out_segment (struct zmpls_out_segment *out)
25089 + listnode node;
25090 + struct zserv *client;
25092 + for (node = listhead (zebrad.client_list); node; nextnode (node))
25093 + if ((client = getdata (node)) != NULL)
25094 + if (client->mplsinfo)
25095 + zsend_mpls_out_segment_add (client, out);
25098 +void
25099 +redistribute_delete_mpls_out_segment (struct zmpls_out_segment *out)
25101 + listnode node;
25102 + struct zserv *client;
25104 + for (node = listhead (zebrad.client_list); node; nextnode (node))
25105 + if ((client = getdata (node)) != NULL)
25106 + if (client->mplsinfo)
25107 + zsend_mpls_out_segment_delete (client, out);
25110 +void
25111 +redistribute_add_mpls_labelspace (int labelspace)
25113 + listnode node;
25114 + struct zserv *client;
25116 + for (node = listhead (zebrad.client_list); node; nextnode (node))
25117 + if ((client = getdata (node)) != NULL)
25118 + if (client->mplsinfo)
25119 + zsend_mpls_labelspace_add (client, labelspace);
25122 +void
25123 +redistribute_delete_mpls_labelspace (int labelspace)
25125 + listnode node;
25126 + struct zserv *client;
25128 + for (node = listhead (zebrad.client_list); node; nextnode (node))
25129 + if ((client = getdata (node)) != NULL)
25130 + if (client->mplsinfo)
25131 + zsend_mpls_labelspace_delete (client, labelspace);
25133 diff --exclude=rsvpd -uNr quagga/zebra/redistribute.h quagga-mpls/zebra/redistribute.h
25134 --- quagga/zebra/redistribute.h 2004-02-25 13:47:32.000000000 -0600
25135 +++ quagga-mpls/zebra/redistribute.h 2004-07-14 22:57:17.087775264 -0500
25136 @@ -45,5 +45,14 @@
25137 void zebra_interface_address_delete_update (struct interface *,
25138 struct connected *c);
25140 +void redistribute_add_mpls_xc (struct zmpls_xc *xc);
25141 +void redistribute_delete_mpls_xc (struct zmpls_xc *xc);
25142 +void redistribute_add_mpls_in_segment (struct zmpls_in_segment *in);
25143 +void redistribute_delete_mpls_in_segment (struct zmpls_in_segment *in);
25144 +void redistribute_add_mpls_out_segment (struct zmpls_out_segment *out);
25145 +void redistribute_delete_mpls_out_segment (struct zmpls_out_segment *out);
25146 +void redistribute_add_mpls_labelspace (int labelspace);
25147 +void redistribute_delete_mpls_labelspace (int labelspace);
25149 #endif /* _ZEBRA_REDISTRIBUTE_H */
25151 diff --exclude=rsvpd -uNr quagga/zebra/rib.h quagga-mpls/zebra/rib.h
25152 --- quagga/zebra/rib.h 2004-02-25 13:47:33.000000000 -0600
25153 +++ quagga-mpls/zebra/rib.h 2004-04-16 21:39:59.000000000 -0500
25154 @@ -77,12 +77,14 @@
25155 #define STATIC_IPV4_GATEWAY 1
25156 #define STATIC_IPV4_IFNAME 2
25157 #define STATIC_IPV4_BLACKHOLE 3
25158 +#define STATIC_IPV4_MPLS 4
25160 /* Nexthop value. */
25161 union
25163 struct in_addr ipv4;
25164 char *ifname;
25165 + u_int32_t mpls;
25166 } gate;
25168 /* bit flags */
25169 @@ -109,10 +111,12 @@
25170 #define STATIC_IPV6_GATEWAY 1
25171 #define STATIC_IPV6_GATEWAY_IFNAME 2
25172 #define STATIC_IPV6_IFNAME 3
25173 +#define STATIC_IPV6_MPLS 4
25175 /* Nexthop value. */
25176 struct in6_addr ipv6;
25177 char *ifname;
25178 + u_int32_t mpls;
25180 /* bit flags */
25181 u_char flags;
25182 @@ -134,6 +138,7 @@
25183 NEXTHOP_TYPE_IPV6_IFINDEX, /* IPv6 nexthop with ifindex. */
25184 NEXTHOP_TYPE_IPV6_IFNAME, /* IPv6 nexthop with ifname. */
25185 NEXTHOP_TYPE_BLACKHOLE, /* Null0 nexthop. */
25186 + NEXTHOP_TYPE_MPLS, /* MPLS nexthop. */
25189 /* Nexthop structure. */
25190 @@ -160,6 +165,7 @@
25191 #ifdef HAVE_IPV6
25192 struct in6_addr ipv6;
25193 #endif /* HAVE_IPV6*/
25194 + unsigned int mpls;
25195 } gate;
25197 /* Recursive lookup nexthop. */
25198 @@ -171,6 +177,7 @@
25199 #ifdef HAVE_IPV6
25200 struct in6_addr ipv6;
25201 #endif /* HAVE_IPV6 */
25202 + unsigned int mpls;
25203 } rgate;
25205 struct nexthop *indirect;
25206 @@ -198,6 +205,7 @@
25207 struct route_table *stable[AFI_MAX][SAFI_MAX];
25210 +int nexthop_match(struct nexthop *, struct nexthop *);
25211 struct nexthop *nexthop_ifindex_add (struct rib *, unsigned int);
25212 struct nexthop *nexthop_ifname_add (struct rib *, char *);
25213 struct nexthop *nexthop_blackhole_add (struct rib *);
25214 @@ -235,11 +243,11 @@
25217 static_add_ipv4 (struct prefix *p, struct in_addr *gate, char *ifname,
25218 - u_char flags, u_char distance, u_int32_t vrf_id);
25219 + u_int32_t mpls, u_char flags, u_char distance, u_int32_t vrf_id);
25222 static_delete_ipv4 (struct prefix *p, struct in_addr *gate, char *ifname,
25223 - u_char distance, u_int32_t vrf_id);
25224 + u_int32_t mpls, u_char distance, u_int32_t vrf_id);
25226 #ifdef HAVE_IPV6
25228 @@ -258,11 +266,13 @@
25231 static_add_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate,
25232 - char *ifname, u_char flags, u_char distance, u_int32_t vrf_id);
25233 + char *ifname, u_int32_t mpls, u_char flags, u_char distance,
25234 + u_int32_t vrf_id);
25237 static_delete_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate,
25238 - char *ifname, u_char distance, u_int32_t vrf_id);
25239 + char *ifname, u_int32_t mpls, u_char distance,
25240 + u_int32_t vrf_id);
25242 #endif /* HAVE_IPV6 */
25244 diff --exclude=rsvpd -uNr quagga/zebra/router-id.c quagga-mpls/zebra/router-id.c
25245 --- quagga/zebra/router-id.c 1969-12-31 18:00:00.000000000 -0600
25246 +++ quagga-mpls/zebra/router-id.c 2004-03-01 23:05:28.000000000 -0600
25247 @@ -0,0 +1,245 @@
25248 +#include <zebra.h>
25250 +#include "if.h"
25251 +#include "vty.h"
25252 +#include "sockunion.h"
25253 +#include "prefix.h"
25254 +#include "stream.h"
25255 +#include "command.h"
25256 +#include "memory.h"
25257 +#include "ioctl.h"
25258 +#include "connected.h"
25259 +#include "network.h"
25260 +#include "log.h"
25261 +#include "table.h"
25262 +#include "rib.h"
25264 +#include "zebra/zserv.h"
25266 +static struct list rid_all_sorted_list;
25267 +static struct list rid_lo_sorted_list;
25268 +static struct prefix rid_user_assigned;
25270 +/* master zebra server structure */
25271 +extern struct zebra_t zebrad;
25273 +static struct connected *router_id_find_node(struct list *l,
25274 + struct connected *ifc) {
25275 + struct listnode *node;
25276 + struct connected *c;
25278 + for (node = l->head; node; node = node->next) {
25279 + c = (struct connected*)getdata(node);
25280 + if (prefix_same(ifc->address,c->address)) {
25281 + return c;
25284 + return NULL;
25287 +static int router_id_bad_address(struct connected *ifc) {
25288 + struct prefix n;
25290 + n.u.prefix4.s_addr = htonl(INADDR_LOOPBACK);
25291 + n.prefixlen = 8;
25292 + n.family = AF_INET;
25294 + if (ifc->address->family != AF_INET) {
25295 + return 1;
25298 + if (prefix_match(&n,ifc->address)) {
25299 + return 1;
25301 + return 0;
25304 +void router_id_get(struct prefix *p) {
25305 + struct listnode *node;
25306 + struct connected *c;
25308 + p->u.prefix4.s_addr = 0;
25309 + p->family = AF_INET;
25310 + p->prefixlen = 32;
25312 + if (rid_user_assigned.u.prefix4.s_addr) {
25313 + p->u.prefix4.s_addr = rid_user_assigned.u.prefix4.s_addr;
25314 + } else if (!list_isempty(&rid_lo_sorted_list)) {
25315 + node = listtail(&rid_lo_sorted_list);
25316 + c = getdata(node);
25317 + p->u.prefix4.s_addr = c->address->u.prefix4.s_addr;
25318 + } else if (!list_isempty(&rid_all_sorted_list)) {
25319 + node = listtail(&rid_all_sorted_list);
25320 + c = getdata(node);
25321 + p->u.prefix4.s_addr = c->address->u.prefix4.s_addr;
25325 +static void router_id_set(struct prefix *p) {
25326 + struct prefix p2;
25327 + struct listnode *node;
25328 + struct zserv *client;
25330 + rid_user_assigned.u.prefix4.s_addr = p->u.prefix4.s_addr;
25332 + router_id_get(&p2);
25333 + for (node = listhead(zebrad.client_list); node; nextnode(node))
25334 + if ((client = getdata(node)) != NULL)
25335 + zsend_router_id_update(client,&p2);
25338 +void router_id_add_address(struct connected *ifc) {
25339 + struct list *l = NULL;
25340 + struct listnode *node;
25341 + struct prefix before;
25342 + struct prefix after;
25343 + struct zserv *client;
25345 + if (router_id_bad_address(ifc)) {
25346 + return;
25349 + router_id_get(&before);
25351 + if (!strncmp(ifc->ifp->name,"lo",2) || !strncmp(ifc->ifp->name,"dummy",5)) {
25352 + l = &rid_lo_sorted_list;
25353 + } else {
25354 + l = &rid_all_sorted_list;
25356 + if (!router_id_find_node(l,ifc)) {
25357 + listnode_add(l,ifc);
25360 + router_id_get(&after);
25362 + if (prefix_same(&before, &after)) {
25363 + return;
25366 + for (node = listhead(zebrad.client_list); node; nextnode(node))
25367 + if ((client = getdata(node)) != NULL)
25368 + zsend_router_id_update(client,&after);
25371 +void router_id_del_address(struct connected *ifc) {
25372 + struct connected *c;
25373 + struct list *l;
25374 + struct prefix after;
25375 + struct prefix before;
25376 + struct listnode *node;
25377 + struct zserv *client;
25379 + if (router_id_bad_address(ifc)) {
25380 + return;
25383 + router_id_get(&before);
25385 + if (!strncmp(ifc->ifp->name,"lo",2) || !strncmp(ifc->ifp->name,"dummy",5)) {
25386 + l = &rid_lo_sorted_list;
25387 + } else {
25388 + l = &rid_all_sorted_list;
25391 + if ((c = router_id_find_node(l,ifc))) {
25392 + listnode_delete(l,c);
25395 + router_id_get(&after);
25397 + if (prefix_same(&before, &after)) {
25398 + return;
25401 + for (node = listhead(zebrad.client_list); node; nextnode(node))
25402 + if ((client = getdata(node)) != NULL)
25403 + zsend_router_id_update(client,&after);
25406 +void router_id_write(struct vty *vty) {
25407 + if (rid_user_assigned.u.prefix4.s_addr) {
25408 + vty_out(vty, "router-id %s%s", inet_ntoa(rid_user_assigned.u.prefix4),
25409 + VTY_NEWLINE);
25413 +DEFUN (router_id,
25414 + router_id_cmd,
25415 + "router-id A.B.C.D",
25416 + "Manually set the router-id\n"
25417 + "IP address to use for router-id\n")
25419 + struct prefix rid;
25421 + rid.u.prefix4.s_addr = inet_addr(argv[0]);
25422 + if (!rid.u.prefix4.s_addr) {
25423 + return CMD_WARNING;
25425 + rid.prefixlen = 32;
25426 + rid.family = AF_INET;
25428 + router_id_set(&rid);
25430 + return CMD_SUCCESS;
25433 +DEFUN (no_router_id,
25434 + no_router_id_cmd,
25435 + "no router-id",
25436 + NO_STR
25437 + "Remove the manually configured router-id\n")
25439 + struct prefix rid;
25441 + rid.u.prefix4.s_addr = 0;
25442 + rid.prefixlen = 0;
25443 + rid.family = AF_INET;
25445 + router_id_set(&rid);
25447 + return CMD_SUCCESS;
25450 +DEFUN (show_router_id,
25451 + show_router_id_cmd,
25452 + "show router-id",
25453 + SHOW_STR
25454 + "current router ID\n")
25456 + struct prefix rid;
25457 + router_id_get(&rid);
25459 + vty_out(vty, "router-id: %s%s", inet_ntoa(rid.u.prefix4),VTY_NEWLINE);
25460 + return CMD_SUCCESS;
25463 +int router_id_cmp(void *a, void *b) {
25464 + unsigned int A, B;
25466 + A = ((struct connected*)a)->address->u.prefix4.s_addr;
25467 + B = ((struct connected*)b)->address->u.prefix4.s_addr;
25469 + if (A > B) {
25470 + return 1;
25471 + } else if (A < B) {
25472 + return -1;
25474 + return 0;
25477 +void router_id_init(void) {
25478 + install_element(VIEW_NODE, &show_router_id_cmd);
25479 + install_element(ENABLE_NODE, &show_router_id_cmd);
25480 + install_element(CONFIG_NODE, &router_id_cmd);
25481 + install_element(CONFIG_NODE, &no_router_id_cmd);
25483 + memset(&rid_all_sorted_list,0,sizeof(rid_all_sorted_list));
25484 + memset(&rid_lo_sorted_list,0,sizeof(rid_lo_sorted_list));
25485 + memset(&rid_user_assigned,0,sizeof(rid_user_assigned));
25487 + rid_all_sorted_list.cmp = router_id_cmp;
25488 + rid_lo_sorted_list.cmp = router_id_cmp;
25490 + rid_user_assigned.family = AF_INET;
25491 + rid_user_assigned.prefixlen = 32;
25493 diff --exclude=rsvpd -uNr quagga/zebra/router-id.h quagga-mpls/zebra/router-id.h
25494 --- quagga/zebra/router-id.h 1969-12-31 18:00:00.000000000 -0600
25495 +++ quagga-mpls/zebra/router-id.h 2004-02-25 13:57:55.000000000 -0600
25496 @@ -0,0 +1,20 @@
25497 +#ifndef _ROUTER_ID_H_
25498 +#define _ROUTER_ID_H_
25500 +#include <zebra.h>
25502 +#include "memory.h"
25503 +#include "prefix.h"
25504 +#include "zclient.h"
25505 +#include "if.h"
25507 +extern void router_id_add_address(struct connected *);
25508 +extern void router_id_del_address(struct connected *);
25509 +extern void router_id_init(void);
25510 +extern void router_id_write(struct vty *);
25511 +extern void router_id_get(struct prefix *);
25513 +extern void zread_router_id_add(struct zserv *, u_short);
25514 +extern void zread_router_id_delete(struct zserv *, u_short);
25516 +#endif
25517 diff --exclude=rsvpd -uNr quagga/zebra/rt_ioctl.c quagga-mpls/zebra/rt_ioctl.c
25518 --- quagga/zebra/rt_ioctl.c 2004-02-25 13:47:34.000000000 -0600
25519 +++ quagga-mpls/zebra/rt_ioctl.c 2004-03-20 02:50:53.000000000 -0600
25520 @@ -215,7 +215,8 @@
25521 rtentry.rt_flags |= RTF_GATEWAY;
25523 if (nexthop->rtype == NEXTHOP_TYPE_IFINDEX
25524 - || nexthop->rtype == NEXTHOP_TYPE_IFNAME)
25525 + || nexthop->rtype == NEXTHOP_TYPE_IFNAME
25526 + || nexthop->rtype == NEXTHOP_TYPE_MPLS)
25528 ifp = if_lookup_by_index (nexthop->rifindex);
25529 if (ifp)
25530 @@ -237,7 +238,8 @@
25531 rtentry.rt_flags |= RTF_GATEWAY;
25533 if (nexthop->type == NEXTHOP_TYPE_IFINDEX
25534 - || nexthop->type == NEXTHOP_TYPE_IFNAME)
25535 + || nexthop->type == NEXTHOP_TYPE_IFNAME
25536 + || nexthop->type == NEXTHOP_TYPE_MPLS)
25538 ifp = if_lookup_by_index (nexthop->ifindex);
25539 if (ifp)
25540 @@ -472,6 +474,7 @@
25542 if (nexthop->rtype == NEXTHOP_TYPE_IFINDEX
25543 || nexthop->rtype == NEXTHOP_TYPE_IFNAME
25544 + || nexthop->rtype == NEXTHOP_TYPE_MPLS
25545 || nexthop->rtype == NEXTHOP_TYPE_IPV6_IFNAME
25546 || nexthop->rtype == NEXTHOP_TYPE_IPV6_IFINDEX)
25547 rtm.rtmsg_ifindex = nexthop->rifindex;
25548 @@ -490,6 +493,7 @@
25550 if (nexthop->type == NEXTHOP_TYPE_IFINDEX
25551 || nexthop->type == NEXTHOP_TYPE_IFNAME
25552 + || nexthop->type == NEXTHOP_TYPE_MPLS
25553 || nexthop->type == NEXTHOP_TYPE_IPV6_IFNAME
25554 || nexthop->type == NEXTHOP_TYPE_IPV6_IFINDEX)
25555 rtm.rtmsg_ifindex = nexthop->ifindex;
25556 diff --exclude=rsvpd -uNr quagga/zebra/rt_netlink.c quagga-mpls/zebra/rt_netlink.c
25557 --- quagga/zebra/rt_netlink.c 2004-03-03 11:46:00.000000000 -0600
25558 +++ quagga-mpls/zebra/rt_netlink.c 2004-03-20 02:47:46.000000000 -0600
25559 @@ -1380,6 +1380,7 @@
25560 #endif /* HAVE_IPV6 */
25561 if (nexthop->rtype == NEXTHOP_TYPE_IFINDEX
25562 || nexthop->rtype == NEXTHOP_TYPE_IFNAME
25563 + || nexthop->rtype == NEXTHOP_TYPE_MPLS
25564 || nexthop->rtype == NEXTHOP_TYPE_IPV4_IFINDEX
25565 || nexthop->rtype == NEXTHOP_TYPE_IPV6_IFINDEX
25566 || nexthop->rtype == NEXTHOP_TYPE_IPV6_IFNAME)
25567 @@ -1412,6 +1413,7 @@
25568 #endif /* HAVE_IPV6 */
25569 if (nexthop->type == NEXTHOP_TYPE_IFINDEX
25570 || nexthop->type == NEXTHOP_TYPE_IFNAME
25571 + || nexthop->type == NEXTHOP_TYPE_MPLS
25572 || nexthop->type == NEXTHOP_TYPE_IPV4_IFINDEX
25573 || nexthop->type == NEXTHOP_TYPE_IPV6_IFINDEX
25574 || nexthop->type == NEXTHOP_TYPE_IPV6_IFNAME)
25575 @@ -1482,6 +1484,7 @@
25576 /* ifindex */
25577 if (nexthop->rtype == NEXTHOP_TYPE_IFINDEX
25578 || nexthop->rtype == NEXTHOP_TYPE_IFNAME
25579 + || nexthop->rtype == NEXTHOP_TYPE_MPLS
25580 || nexthop->rtype == NEXTHOP_TYPE_IPV4_IFINDEX
25581 || nexthop->rtype == NEXTHOP_TYPE_IPV6_IFINDEX
25582 || nexthop->rtype == NEXTHOP_TYPE_IPV6_IFNAME)
25583 @@ -1518,6 +1521,7 @@
25584 /* ifindex */
25585 if (nexthop->type == NEXTHOP_TYPE_IFINDEX
25586 || nexthop->type == NEXTHOP_TYPE_IFNAME
25587 + || nexthop->type == NEXTHOP_TYPE_MPLS
25588 || nexthop->type == NEXTHOP_TYPE_IPV4_IFINDEX
25589 || nexthop->type == NEXTHOP_TYPE_IPV6_IFNAME
25590 || nexthop->type == NEXTHOP_TYPE_IPV6_IFINDEX)
25591 @@ -1633,6 +1637,12 @@
25592 addattr_l (&req.n, sizeof req, IFA_BROADCAST, &p->u.prefix,
25593 bytelen);
25595 + else if (if_is_pointopoint (ifp) && ifc->destination)
25597 + p = ifc->destination;
25598 + addattr_l (&req.n, sizeof req, IFA_ADDRESS, &p->u.prefix,
25599 + bytelen);
25603 if (CHECK_FLAG (ifc->flags, ZEBRA_IFA_SECONDARY))
25604 diff --exclude=rsvpd -uNr quagga/zebra/rt_socket.c quagga-mpls/zebra/rt_socket.c
25605 --- quagga/zebra/rt_socket.c 2004-02-25 13:47:38.000000000 -0600
25606 +++ quagga-mpls/zebra/rt_socket.c 2004-03-20 02:52:31.000000000 -0600
25607 @@ -117,6 +117,7 @@
25609 if (nexthop->rtype == NEXTHOP_TYPE_IFINDEX
25610 || nexthop->rtype == NEXTHOP_TYPE_IFNAME
25611 + || nexthop->rtype == NEXTHOP_TYPE_MPLS
25612 || nexthop->rtype == NEXTHOP_TYPE_IPV4_IFINDEX)
25613 ifindex = nexthop->rifindex;
25615 @@ -130,6 +131,7 @@
25617 if (nexthop->type == NEXTHOP_TYPE_IFINDEX
25618 || nexthop->type == NEXTHOP_TYPE_IFNAME
25619 + || nexthop->type == NEXTHOP_TYPE_MPLS
25620 || nexthop->type == NEXTHOP_TYPE_IPV4_IFINDEX)
25621 ifindex = nexthop->ifindex;
25622 if (nexthop->type == NEXTHOP_TYPE_BLACKHOLE)
25623 @@ -358,6 +360,7 @@
25625 if (nexthop->rtype == NEXTHOP_TYPE_IFINDEX
25626 || nexthop->rtype == NEXTHOP_TYPE_IFNAME
25627 + || nexthop->rtype == NEXTHOP_TYPE_MPLS
25628 || nexthop->rtype == NEXTHOP_TYPE_IPV6_IFNAME
25629 || nexthop->rtype == NEXTHOP_TYPE_IPV6_IFINDEX)
25630 ifindex = nexthop->rifindex;
25631 @@ -373,6 +376,7 @@
25633 if (nexthop->type == NEXTHOP_TYPE_IFINDEX
25634 || nexthop->type == NEXTHOP_TYPE_IFNAME
25635 + || nexthop->type == NEXTHOP_TYPE_MPLS
25636 || nexthop->type == NEXTHOP_TYPE_IPV6_IFNAME
25637 || nexthop->type == NEXTHOP_TYPE_IPV6_IFINDEX)
25638 ifindex = nexthop->ifindex;
25639 diff --exclude=rsvpd -uNr quagga/zebra/zebra_rib.c quagga-mpls/zebra/zebra_rib.c
25640 --- quagga/zebra/zebra_rib.c 2004-02-25 13:47:45.000000000 -0600
25641 +++ quagga-mpls/zebra/zebra_rib.c 2004-07-14 23:46:53.341315952 -0500
25642 @@ -34,6 +34,7 @@
25643 #include "zebra/rt.h"
25644 #include "zebra/zserv.h"
25645 #include "zebra/redistribute.h"
25646 +#include "zebra/mpls_vty.h"
25647 #include "zebra/debug.h"
25649 /* Default rtm_table for all clients */
25650 @@ -153,6 +154,60 @@
25651 return vrf->stable[afi][safi];
25654 +int
25655 +nexthop_match(struct nexthop *a, struct nexthop *b)
25657 + int no_match = 0;
25659 + if (a->type != b->type)
25660 + return 0;
25662 + switch (a->type)
25664 + case NEXTHOP_TYPE_IPV6_IFINDEX:
25665 + case NEXTHOP_TYPE_IPV4_IFINDEX:
25666 + case NEXTHOP_TYPE_IFINDEX:
25667 + if (a->ifindex != b->ifindex)
25668 + return 0;
25669 + break;
25670 + case NEXTHOP_TYPE_IPV6_IFNAME:
25671 + case NEXTHOP_TYPE_IPV4_IFNAME:
25672 + case NEXTHOP_TYPE_IFNAME:
25673 + if (strncmp (a->ifname, b->ifname, IFNAMSIZ))
25674 + return 0;
25675 + break;
25676 + case NEXTHOP_TYPE_MPLS:
25677 + if (a->gate.mpls != b->gate.mpls)
25678 + return 0;
25679 + break;
25680 + default:
25681 + no_match++;
25684 + switch (a->type)
25686 + case NEXTHOP_TYPE_IPV4_IFNAME:
25687 + case NEXTHOP_TYPE_IPV4_IFINDEX:
25688 + case NEXTHOP_TYPE_IPV4:
25689 + if (memcmp (&a->gate.ipv4, &b->gate.ipv4, sizeof(struct in_addr)))
25690 + return 0;
25691 + break;
25692 + case NEXTHOP_TYPE_IPV6_IFNAME:
25693 + case NEXTHOP_TYPE_IPV6_IFINDEX:
25694 + case NEXTHOP_TYPE_IPV6:
25695 + if (memcmp (&a->gate.ipv6, &b->gate.ipv6, sizeof(struct in6_addr)))
25696 + return 0;
25697 + break;
25698 + default:
25699 + no_match++;
25702 + if (no_match == 2)
25703 + return 0;
25705 + return 1;
25708 /* Add nexthop to the end of the list. */
25709 void
25710 nexthop_add (struct rib *rib, struct nexthop *nexthop)
25711 @@ -223,6 +278,37 @@
25714 struct nexthop *
25715 +nexthop_mpls_add (struct rib *rib, u_int32_t mpls)
25717 + struct nexthop *nexthop;
25718 + struct zmpls_out_segment *out;
25720 + out = mpls_out_segment_find(mpls);
25721 + if (!out)
25722 + return NULL;
25724 + nexthop = XMALLOC (MTYPE_NEXTHOP, sizeof (struct nexthop));
25725 + memset (nexthop, 0, sizeof (struct nexthop));
25726 + nexthop->type = NEXTHOP_TYPE_MPLS;
25727 + nexthop->gate.mpls = mpls;
25729 + switch (out->nh.type)
25731 + case NEXTHOP_TYPE_IFNAME:
25732 + case NEXTHOP_TYPE_IPV4_IFNAME:
25733 + case NEXTHOP_TYPE_IPV6_IFNAME:
25734 + nexthop->ifname = XSTRDUP (0, out->nh.ifname);
25735 + break;
25736 + default:
25737 + assert (0);
25740 + nexthop_add (rib, nexthop);
25742 + return nexthop;
25745 +struct nexthop *
25746 nexthop_ipv4_add (struct rib *rib, struct in_addr *ipv4)
25748 struct nexthop *nexthop;
25749 @@ -400,8 +486,11 @@
25750 nexthop->rgate.ipv4 = newhop->gate.ipv4;
25751 if (newhop->type == NEXTHOP_TYPE_IFINDEX
25752 || newhop->type == NEXTHOP_TYPE_IFNAME
25753 + || newhop->type == NEXTHOP_TYPE_MPLS
25754 || newhop->type == NEXTHOP_TYPE_IPV4_IFINDEX)
25755 nexthop->rifindex = newhop->ifindex;
25756 + if (newhop->type == NEXTHOP_TYPE_MPLS)
25757 + nexthop->rgate.mpls = newhop->gate.mpls;
25759 return 1;
25761 @@ -499,9 +588,12 @@
25762 nexthop->rgate.ipv6 = newhop->gate.ipv6;
25763 if (newhop->type == NEXTHOP_TYPE_IFINDEX
25764 || newhop->type == NEXTHOP_TYPE_IFNAME
25765 + || newhop->type == NEXTHOP_TYPE_MPLS
25766 || newhop->type == NEXTHOP_TYPE_IPV6_IFINDEX
25767 || newhop->type == NEXTHOP_TYPE_IPV6_IFNAME)
25768 nexthop->rifindex = newhop->ifindex;
25769 + if (newhop->type == NEXTHOP_TYPE_MPLS)
25770 + nexthop->rgate.mpls = newhop->gate.mpls;
25772 return 1;
25774 @@ -690,6 +782,7 @@
25775 else
25776 UNSET_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE);
25777 break;
25778 + case NEXTHOP_TYPE_MPLS:
25779 case NEXTHOP_TYPE_IFNAME:
25780 case NEXTHOP_TYPE_IPV6_IFNAME:
25781 ifp = if_lookup_by_name (nexthop->ifname);
25782 @@ -765,6 +858,9 @@
25783 && active != CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE))
25784 SET_FLAG (rib->flags, ZEBRA_FLAG_CHANGED);
25786 + if (CHECK_FLAG (rib->flags, ZEBRA_FLAG_CHANGED_MPLS))
25787 + SET_FLAG (rib->flags, ZEBRA_FLAG_CHANGED);
25789 if (CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE))
25790 rib->nexthop_active_num++;
25792 @@ -845,7 +941,10 @@
25794 if (CHECK_FLAG (rib->flags, ZEBRA_FLAG_SELECTED))
25796 - redistribute_delete (&rn->p, rib);
25797 + /* JLEU: this might no longer be true since MPLS is a seperate NH*/
25798 + if (!CHECK_FLAG (rib->flags, ZEBRA_FLAG_CHANGED_MPLS))
25799 + redistribute_delete (&rn->p, rib);
25801 if (! RIB_SYSTEM_ROUTE (rib))
25802 rib_uninstall_kernel (rn, rib);
25803 UNSET_FLAG (rib->flags, ZEBRA_FLAG_SELECTED);
25804 @@ -894,7 +993,9 @@
25806 if (CHECK_FLAG (select->flags, ZEBRA_FLAG_CHANGED))
25808 - redistribute_delete (&rn->p, select);
25809 + /* JLEU: this may no longer be true since MPLS is a real NH */
25810 + if (!CHECK_FLAG (select->flags, ZEBRA_FLAG_CHANGED_MPLS))
25811 + redistribute_delete (&rn->p, select);
25812 if (! RIB_SYSTEM_ROUTE (select))
25813 rib_uninstall_kernel (rn, select);
25815 @@ -903,7 +1004,11 @@
25817 if (! RIB_SYSTEM_ROUTE (select))
25818 rib_install_kernel (rn, select);
25819 - redistribute_add (&rn->p, select);
25821 + if (!CHECK_FLAG (select->flags, ZEBRA_FLAG_CHANGED_MPLS))
25822 + redistribute_add (&rn->p, select);
25824 + UNSET_FLAG (select->flags, ZEBRA_FLAG_CHANGED_MPLS);
25826 else if (! RIB_SYSTEM_ROUTE (select))
25828 @@ -1314,6 +1419,9 @@
25829 case STATIC_IPV4_IFNAME:
25830 nexthop_ifname_add (rib, si->gate.ifname);
25831 break;
25832 + case STATIC_IPV4_MPLS:
25833 + nexthop_mpls_add (rib, si->gate.mpls);
25834 + break;
25835 case STATIC_IPV4_BLACKHOLE:
25836 nexthop_blackhole_add (rib);
25837 break;
25838 @@ -1339,6 +1447,9 @@
25839 case STATIC_IPV4_IFNAME:
25840 nexthop_ifname_add (rib, si->gate.ifname);
25841 break;
25842 + case STATIC_IPV4_MPLS:
25843 + nexthop_mpls_add (rib, si->gate.mpls);
25844 + break;
25845 case STATIC_IPV4_BLACKHOLE:
25846 nexthop_blackhole_add (rib);
25847 break;
25848 @@ -1366,6 +1477,10 @@
25849 && si->type == STATIC_IPV4_IFNAME
25850 && strcmp (nexthop->ifname, si->gate.ifname) == 0)
25851 return 1;
25852 + if (nexthop->type == NEXTHOP_TYPE_MPLS
25853 + && si->type == STATIC_IPV4_MPLS
25854 + && nexthop->gate.mpls == si->gate.mpls)
25855 + return 1;
25856 if (nexthop->type == NEXTHOP_TYPE_BLACKHOLE
25857 && si->type == STATIC_IPV4_BLACKHOLE)
25858 return 1;
25859 @@ -1437,7 +1552,8 @@
25860 /* Add static route into static route configuration. */
25862 static_add_ipv4 (struct prefix *p, struct in_addr *gate, char *ifname,
25863 - u_char flags, u_char distance, u_int32_t vrf_id)
25864 + u_int32_t mpls, u_char flags, u_char distance,
25865 + u_int32_t vrf_id)
25867 u_char type = 0;
25868 struct route_node *rn;
25869 @@ -1460,6 +1576,8 @@
25870 type = STATIC_IPV4_GATEWAY;
25871 else if (ifname)
25872 type = STATIC_IPV4_IFNAME;
25873 + else if (mpls)
25874 + type = STATIC_IPV4_MPLS;
25875 else
25876 type = STATIC_IPV4_BLACKHOLE;
25878 @@ -1468,7 +1586,8 @@
25880 if (type == si->type
25881 && (! gate || IPV4_ADDR_SAME (gate, &si->gate.ipv4))
25882 - && (! ifname || strcmp (ifname, si->gate.ifname) == 0))
25883 + && (! ifname || strcmp (ifname, si->gate.ifname) == 0)
25884 + && (! mpls || (mpls == si->gate.mpls)))
25886 if (distance == si->distance)
25888 @@ -1482,7 +1601,7 @@
25890 /* Distance chaged. */
25891 if (update)
25892 - static_delete_ipv4 (p, gate, ifname, update->distance, vrf_id);
25893 + static_delete_ipv4 (p, gate, ifname, mpls, update->distance, vrf_id);
25895 /* Make new static route structure. */
25896 si = XMALLOC (MTYPE_STATIC_IPV4, sizeof (struct static_ipv4));
25897 @@ -1496,6 +1615,8 @@
25898 si->gate.ipv4 = *gate;
25899 if (ifname)
25900 si->gate.ifname = XSTRDUP (0, ifname);
25901 + if (mpls)
25902 + si->gate.mpls = mpls;
25904 /* Add new static route information to the tree with sort by
25905 distance value and gateway address. */
25906 @@ -1533,7 +1654,7 @@
25907 /* Delete static route from static route configuration. */
25909 static_delete_ipv4 (struct prefix *p, struct in_addr *gate, char *ifname,
25910 - u_char distance, u_int32_t vrf_id)
25911 + u_int32_t mpls, u_char distance, u_int32_t vrf_id)
25913 u_char type = 0;
25914 struct route_node *rn;
25915 @@ -1555,6 +1676,8 @@
25916 type = STATIC_IPV4_GATEWAY;
25917 else if (ifname)
25918 type = STATIC_IPV4_IFNAME;
25919 + else if (mpls)
25920 + type = STATIC_IPV4_MPLS;
25921 else
25922 type = STATIC_IPV4_BLACKHOLE;
25924 @@ -1562,7 +1685,8 @@
25925 for (si = rn->info; si; si = si->next)
25926 if (type == si->type
25927 && (! gate || IPV4_ADDR_SAME (gate, &si->gate.ipv4))
25928 - && (! ifname || strcmp (ifname, si->gate.ifname) == 0))
25929 + && (! ifname || strcmp (ifname, si->gate.ifname) == 0)
25930 + && (! mpls || (mpls == si->gate.mpls)))
25931 break;
25933 /* Can't find static route. */
25934 @@ -1878,6 +2002,9 @@
25935 case STATIC_IPV6_IFNAME:
25936 nexthop_ifname_add (rib, si->ifname);
25937 break;
25938 + case STATIC_IPV6_MPLS:
25939 + nexthop_mpls_add (rib, si->mpls);
25940 + break;
25941 case STATIC_IPV6_GATEWAY_IFNAME:
25942 nexthop_ipv6_ifname_add (rib, &si->ipv6, si->ifname);
25943 break;
25944 @@ -1903,6 +2030,9 @@
25945 case STATIC_IPV6_IFNAME:
25946 nexthop_ifname_add (rib, si->ifname);
25947 break;
25948 + case STATIC_IPV6_MPLS:
25949 + nexthop_mpls_add (rib, si->mpls);
25950 + break;
25951 case STATIC_IPV6_GATEWAY_IFNAME:
25952 nexthop_ipv6_ifname_add (rib, &si->ipv6, si->ifname);
25953 break;
25954 @@ -1930,6 +2060,10 @@
25955 && si->type == STATIC_IPV6_IFNAME
25956 && strcmp (nexthop->ifname, si->ifname) == 0)
25957 return 1;
25958 + if (nexthop->type == NEXTHOP_TYPE_MPLS
25959 + && si->type == STATIC_IPV6_MPLS
25960 + && nexthop->gate.mpls == si->mpls)
25961 + return 1;
25962 if (nexthop->type == NEXTHOP_TYPE_IPV6_IFNAME
25963 && si->type == STATIC_IPV6_GATEWAY_IFNAME
25964 && IPV6_ADDR_SAME (&nexthop->gate.ipv6, &si->ipv6)
25965 @@ -2001,7 +2135,8 @@
25966 /* Add static route into static route configuration. */
25968 static_add_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate,
25969 - char *ifname, u_char flags, u_char distance, u_int32_t vrf_id)
25970 + char *ifname, u_int32_t mpls, u_char flags, u_char distance,
25971 + u_int32_t vrf_id)
25973 struct route_node *rn;
25974 struct static_ipv6 *si;
25975 @@ -2023,6 +2158,7 @@
25976 if (distance == si->distance
25977 && type == si->type
25978 && (! gate || IPV6_ADDR_SAME (gate, &si->ipv6))
25979 + && (! mpls || mpls == si->mpls)
25980 && (! ifname || strcmp (ifname, si->ifname) == 0))
25982 route_unlock_node (rn);
25983 @@ -2046,6 +2182,9 @@
25984 case STATIC_IPV6_IFNAME:
25985 si->ifname = XSTRDUP (0, ifname);
25986 break;
25987 + case STATIC_IPV6_MPLS:
25988 + si->mpls = mpls;
25989 + break;
25990 case STATIC_IPV6_GATEWAY_IFNAME:
25991 si->ipv6 = *gate;
25992 si->ifname = XSTRDUP (0, ifname);
25993 @@ -2081,7 +2220,8 @@
25994 /* Delete static route from static route configuration. */
25996 static_delete_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate,
25997 - char *ifname, u_char distance, u_int32_t vrf_id)
25998 + char *ifname, u_int32_t mpls, u_char distance,
25999 + u_int32_t vrf_id)
26001 struct route_node *rn;
26002 struct static_ipv6 *si;
26003 @@ -2102,6 +2242,7 @@
26004 if (distance == si->distance
26005 && type == si->type
26006 && (! gate || IPV6_ADDR_SAME (gate, &si->ipv6))
26007 + && (! mpls || mpls == si->mpls)
26008 && (! ifname || strcmp (ifname, si->ifname) == 0))
26009 break;
26011 diff --exclude=rsvpd -uNr quagga/zebra/zebra_vty.c quagga-mpls/zebra/zebra_vty.c
26012 --- quagga/zebra/zebra_vty.c 2004-02-25 13:47:50.000000000 -0600
26013 +++ quagga-mpls/zebra/zebra_vty.c 2004-07-14 23:22:03.934740168 -0500
26014 @@ -26,6 +26,7 @@
26015 #include "command.h"
26016 #include "table.h"
26017 #include "rib.h"
26018 +#include "mpls_vty.h"
26020 /* Return route type string for VTY output. */
26021 const char *
26022 @@ -86,10 +87,10 @@
26025 /* General fucntion for static route. */
26026 -int
26027 +static int
26028 zebra_static_ipv4 (struct vty *vty, int add_cmd,
26029 char *dest_str, char *mask_str, char *gate_str,
26030 - char *flag_str, char *distance_str)
26031 + char *flag_str, char *distance_str, u_int32_t mpls)
26033 int ret;
26034 u_char distance;
26035 @@ -136,9 +137,9 @@
26036 return CMD_WARNING;
26038 if (add_cmd)
26039 - static_add_ipv4 (&p, NULL, NULL, ZEBRA_FLAG_BLACKHOLE, distance, 0);
26040 + static_add_ipv4 (&p, NULL, NULL, mpls, ZEBRA_FLAG_BLACKHOLE, distance, 0);
26041 else
26042 - static_delete_ipv4 (&p, NULL, NULL, distance, 0);
26043 + static_delete_ipv4 (&p, NULL, NULL, mpls, distance, 0);
26044 return CMD_SUCCESS;
26047 @@ -162,9 +163,9 @@
26048 if (gate_str == NULL)
26050 if (add_cmd)
26051 - static_add_ipv4 (&p, NULL, NULL, flag, distance, 0);
26052 + static_add_ipv4 (&p, NULL, NULL, mpls, flag, distance, 0);
26053 else
26054 - static_delete_ipv4 (&p, NULL, NULL, distance, 0);
26055 + static_delete_ipv4 (&p, NULL, NULL, mpls, distance, 0);
26057 return CMD_SUCCESS;
26059 @@ -178,9 +179,9 @@
26060 ifname = gate_str;
26062 if (add_cmd)
26063 - static_add_ipv4 (&p, ifname ? NULL : &gate, ifname, flag, distance, 0);
26064 + static_add_ipv4 (&p, ifname ? NULL : &gate, ifname, mpls, flag, distance, 0);
26065 else
26066 - static_delete_ipv4 (&p, ifname ? NULL : &gate, ifname, distance, 0);
26067 + static_delete_ipv4 (&p, ifname ? NULL : &gate, ifname, mpls, distance, 0);
26069 return CMD_SUCCESS;
26071 @@ -196,7 +197,7 @@
26072 "IP gateway interface name\n"
26073 "Null interface\n")
26075 - return zebra_static_ipv4 (vty, 1, argv[0], NULL, argv[1], NULL, NULL);
26076 + return zebra_static_ipv4 (vty, 1, argv[0], NULL, argv[1], NULL, NULL, 0);
26079 DEFUN (ip_route_flags,
26080 @@ -210,7 +211,7 @@
26081 "Emit an ICMP unreachable when matched\n"
26082 "Silently discard pkts when matched\n")
26084 - return zebra_static_ipv4 (vty, 1, argv[0], NULL, argv[1], argv[2], NULL);
26085 + return zebra_static_ipv4 (vty, 1, argv[0], NULL, argv[1], argv[2], NULL, 0);
26088 DEFUN (ip_route_flags2,
26089 @@ -222,7 +223,7 @@
26090 "Emit an ICMP unreachable when matched\n"
26091 "Silently discard pkts when matched\n")
26093 - return zebra_static_ipv4 (vty, 1, argv[0], NULL, NULL, argv[1], NULL);
26094 + return zebra_static_ipv4 (vty, 1, argv[0], NULL, NULL, argv[1], NULL, 0);
26097 /* Mask as A.B.C.D format. */
26098 @@ -237,7 +238,7 @@
26099 "IP gateway interface name\n"
26100 "Null interface\n")
26102 - return zebra_static_ipv4 (vty, 1, argv[0], argv[1], argv[2], NULL, NULL);
26103 + return zebra_static_ipv4 (vty, 1, argv[0], argv[1], argv[2], NULL, NULL, 0);
26106 DEFUN (ip_route_mask_flags,
26107 @@ -252,7 +253,7 @@
26108 "Emit an ICMP unreachable when matched\n"
26109 "Silently discard pkts when matched\n")
26111 - return zebra_static_ipv4 (vty, 1, argv[0], argv[1], argv[2], argv[3], NULL);
26112 + return zebra_static_ipv4 (vty, 1, argv[0], argv[1], argv[2], argv[3], NULL, 0);
26115 DEFUN (ip_route_mask_flags2,
26116 @@ -265,7 +266,7 @@
26117 "Emit an ICMP unreachable when matched\n"
26118 "Silently discard pkts when matched\n")
26120 - return zebra_static_ipv4 (vty, 1, argv[0], argv[1], NULL, argv[2], NULL);
26121 + return zebra_static_ipv4 (vty, 1, argv[0], argv[1], NULL, argv[2], NULL, 0);
26124 /* Distance option value. */
26125 @@ -280,7 +281,7 @@
26126 "Null interface\n"
26127 "Distance value for this route\n")
26129 - return zebra_static_ipv4 (vty, 1, argv[0], NULL, argv[1], NULL, argv[2]);
26130 + return zebra_static_ipv4 (vty, 1, argv[0], NULL, argv[1], NULL, argv[2], 0);
26133 DEFUN (ip_route_flags_distance,
26134 @@ -295,7 +296,7 @@
26135 "Silently discard pkts when matched\n"
26136 "Distance value for this route\n")
26138 - return zebra_static_ipv4 (vty, 1, argv[0], NULL, argv[1], argv[2], argv[3]);
26139 + return zebra_static_ipv4 (vty, 1, argv[0], NULL, argv[1], argv[2], argv[3], 0);
26142 DEFUN (ip_route_flags_distance2,
26143 @@ -308,7 +309,7 @@
26144 "Silently discard pkts when matched\n"
26145 "Distance value for this route\n")
26147 - return zebra_static_ipv4 (vty, 1, argv[0], NULL, NULL, argv[1], argv[2]);
26148 + return zebra_static_ipv4 (vty, 1, argv[0], NULL, NULL, argv[1], argv[2], 0);
26151 DEFUN (ip_route_mask_distance,
26152 @@ -323,7 +324,7 @@
26153 "Null interface\n"
26154 "Distance value for this route\n")
26156 - return zebra_static_ipv4 (vty, 1, argv[0], argv[1], argv[2], NULL, argv[3]);
26157 + return zebra_static_ipv4 (vty, 1, argv[0], argv[1], argv[2], NULL, argv[3], 0);
26160 DEFUN (ip_route_mask_flags_distance,
26161 @@ -339,7 +340,7 @@
26162 "Emit an ICMP unreachable when matched\n"
26163 "Silently discard pkts when matched\n")
26165 - return zebra_static_ipv4 (vty, 1, argv[0], argv[1], argv[2], argv[3], argv[4]);
26166 + return zebra_static_ipv4 (vty, 1, argv[0], argv[1], argv[2], argv[3], argv[4], 0);
26169 DEFUN (ip_route_mask_flags_distance2,
26170 @@ -353,7 +354,7 @@
26171 "Emit an ICMP unreachable when matched\n"
26172 "Silently discard pkts when matched\n")
26174 - return zebra_static_ipv4 (vty, 1, argv[0], argv[1], NULL, argv[2], argv[3]);
26175 + return zebra_static_ipv4 (vty, 1, argv[0], argv[1], NULL, argv[2], argv[3], 0);
26178 DEFUN (no_ip_route,
26179 @@ -367,7 +368,7 @@
26180 "IP gateway interface name\n"
26181 "Null interface\n")
26183 - return zebra_static_ipv4 (vty, 0, argv[0], NULL, argv[1], NULL, NULL);
26184 + return zebra_static_ipv4 (vty, 0, argv[0], NULL, argv[1], NULL, NULL, 0);
26187 ALIAS (no_ip_route,
26188 @@ -392,7 +393,7 @@
26189 "Emit an ICMP unreachable when matched\n"
26190 "Silently discard pkts when matched\n")
26192 - return zebra_static_ipv4 (vty, 0, argv[0], NULL, NULL, NULL, NULL);
26193 + return zebra_static_ipv4 (vty, 0, argv[0], NULL, NULL, NULL, NULL, 0);
26196 DEFUN (no_ip_route_mask,
26197 @@ -407,7 +408,7 @@
26198 "IP gateway interface name\n"
26199 "Null interface\n")
26201 - return zebra_static_ipv4 (vty, 0, argv[0], argv[1], argv[2], NULL, NULL);
26202 + return zebra_static_ipv4 (vty, 0, argv[0], argv[1], argv[2], NULL, NULL, 0);
26205 ALIAS (no_ip_route_mask,
26206 @@ -434,7 +435,7 @@
26207 "Emit an ICMP unreachable when matched\n"
26208 "Silently discard pkts when matched\n")
26210 - return zebra_static_ipv4 (vty, 0, argv[0], argv[1], NULL, NULL, NULL);
26211 + return zebra_static_ipv4 (vty, 0, argv[0], argv[1], NULL, NULL, NULL, 0);
26214 DEFUN (no_ip_route_distance,
26215 @@ -449,7 +450,7 @@
26216 "Null interface\n"
26217 "Distance value for this route\n")
26219 - return zebra_static_ipv4 (vty, 0, argv[0], NULL, argv[1], NULL, argv[2]);
26220 + return zebra_static_ipv4 (vty, 0, argv[0], NULL, argv[1], NULL, argv[2], 0);
26223 DEFUN (no_ip_route_flags_distance,
26224 @@ -465,7 +466,7 @@
26225 "Silently discard pkts when matched\n"
26226 "Distance value for this route\n")
26228 - return zebra_static_ipv4 (vty, 0, argv[0], NULL, argv[1], argv[2], argv[3]);
26229 + return zebra_static_ipv4 (vty, 0, argv[0], NULL, argv[1], argv[2], argv[3], 0);
26232 DEFUN (no_ip_route_flags_distance2,
26233 @@ -479,7 +480,7 @@
26234 "Silently discard pkts when matched\n"
26235 "Distance value for this route\n")
26237 - return zebra_static_ipv4 (vty, 0, argv[0], NULL, NULL, argv[1], argv[2]);
26238 + return zebra_static_ipv4 (vty, 0, argv[0], NULL, NULL, argv[1], argv[2], 0);
26241 DEFUN (no_ip_route_mask_distance,
26242 @@ -495,7 +496,7 @@
26243 "Null interface\n"
26244 "Distance value for this route\n")
26246 - return zebra_static_ipv4 (vty, 0, argv[0], argv[1], argv[2], NULL, argv[3]);
26247 + return zebra_static_ipv4 (vty, 0, argv[0], argv[1], argv[2], NULL, argv[3], 0);
26250 DEFUN (no_ip_route_mask_flags_distance,
26251 @@ -512,7 +513,7 @@
26252 "Silently discard pkts when matched\n"
26253 "Distance value for this route\n")
26255 - return zebra_static_ipv4 (vty, 0, argv[0], argv[1], argv[2], argv[3], argv[4]);
26256 + return zebra_static_ipv4 (vty, 0, argv[0], argv[1], argv[2], argv[3], argv[4], 0);
26259 DEFUN (no_ip_route_mask_flags_distance2,
26260 @@ -527,7 +528,348 @@
26261 "Silently discard pkts when matched\n"
26262 "Distance value for this route\n")
26264 - return zebra_static_ipv4 (vty, 0, argv[0], argv[1], NULL, argv[2], argv[3]);
26265 + return zebra_static_ipv4 (vty, 0, argv[0], argv[1], NULL, argv[2], argv[3], 0);
26268 +/* Static route + MPLS configuration. */
26270 +static int
26271 +zebra_static_ipv4_mpls (struct vty *vty, int add_cmd, char *dest, char *addr, char *mask,
26272 + char *distance, char **argv)
26274 + struct zmpls_out_segment out;
26275 + int result;
26277 + memset (&out, 0, sizeof (out));
26278 + out.owner = ZEBRA_MPLS_OWNER_STATIC;
26279 + result = nhlfe_parse (vty, argv, &out, addr);
26280 + if (result != CMD_SUCCESS)
26281 + return result;
26283 + out.index = mpls_out_segment_find_index_by_nhlfe(&out);
26284 + vty_out(vty, "NHLFE %ds%s",out.index, VTY_NEWLINE);
26286 + if (add_cmd)
26288 + if (out.index)
26290 + vty_out(vty, "NHLFE already exists%s",VTY_NEWLINE);
26291 + return CMD_WARNING;
26294 + if (mpls_out_segment_register (&out))
26296 + vty_out(vty, "Unable to register NHLFE%s",VTY_NEWLINE);
26297 + return CMD_WARNING;
26301 + result = zebra_static_ipv4 (vty, add_cmd, dest, mask, NULL, NULL, distance,
26302 + out.index);
26304 + if (add_cmd)
26306 + if (result != CMD_SUCCESS)
26308 + mpls_out_segment_unregister_by_index (out.index);
26309 + return CMD_WARNING;
26312 + else
26314 + mpls_out_segment_unregister_by_index (out.index);
26316 + return CMD_SUCCESS;
26319 +DEFUN (ip_route_mpls,
26320 + ip_route_mpls_cmd,
26321 + "ip route A.B.C.D/M (gen|atm|fr) VALUE nexthop INTERFACE",
26322 + IP_STR
26323 + "Establish static routes\n"
26324 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
26325 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26326 + "Out-going ATM MPLS label (VPI/VCI)\n"
26327 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26328 + "Out-going label value\n"
26329 + "Nexthop\n"
26330 + "IP gateway interface name\n")
26332 + return zebra_static_ipv4_mpls (vty, 1, argv[0], NULL, NULL, NULL, &argv[1]);
26335 +DEFUN (ip_route_mpls_addr,
26336 + ip_route_mpls_addr_cmd,
26337 + "ip route A.B.C.D/M (gen|atm|fr) VALUE nexthop INTERFACE ADDR",
26338 + IP_STR
26339 + "Establish static routes\n"
26340 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
26341 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26342 + "Out-going ATM MPLS label (VPI/VCI)\n"
26343 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26344 + "Out-going label value\n"
26345 + "Nexthop\n"
26346 + "IP gateway interface name\n"
26347 + "IP gateway address\n")
26349 + return zebra_static_ipv4_mpls (vty, 1, argv[0], argv[4], NULL, NULL, &argv[1]);
26352 +/* Mask as A.B.C.D format. */
26353 +DEFUN (ip_route_mpls_mask,
26354 + ip_route_mpls_mask_cmd,
26355 + "ip route A.B.C.D A.B.C.D (gen|atm|fr) VALUE nexthop INTERFACE",
26356 + IP_STR
26357 + "Establish static routes\n"
26358 + "IP destination prefix\n"
26359 + "IP destination prefix mask\n"
26360 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26361 + "Out-going ATM MPLS label (VPI/VCI)\n"
26362 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26363 + "Out-going label value\n"
26364 + "Nexthop\n"
26365 + "IP gateway interface name\n")
26367 + return zebra_static_ipv4_mpls (vty, 1, argv[0], argv[1], NULL, NULL, &argv[2]);
26370 +DEFUN (ip_route_mpls_mask_addr,
26371 + ip_route_mpls_mask_addr_cmd,
26372 + "ip route A.B.C.D A.B.C.D (gen|atm|fr) VALUE nexthop INTERFACE ADDR",
26373 + IP_STR
26374 + "Establish static routes\n"
26375 + "IP destination prefix\n"
26376 + "IP destination prefix mask\n"
26377 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26378 + "Out-going ATM MPLS label (VPI/VCI)\n"
26379 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26380 + "Out-going label value\n"
26381 + "Nexthop\n"
26382 + "IP gateway interface name\n"
26383 + "IP gateway address\n")
26385 + return zebra_static_ipv4_mpls (vty, 1, argv[0], argv[1], argv[5], NULL, &argv[2]);
26388 +/* Distance option value. */
26389 +DEFUN (ip_route_mpls_distance,
26390 + ip_route_mpls_distance_cmd,
26391 + "ip route A.B.C.D/M (gen|atm|fr) VALUE nexthop INTERFACE <1-255>",
26392 + IP_STR
26393 + "Establish static routes\n"
26394 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
26395 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26396 + "Out-going ATM MPLS label (VPI/VCI)\n"
26397 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26398 + "Out-going label value\n"
26399 + "Nexthop\n"
26400 + "IP gateway interface name\n"
26401 + "Distance value for this route\n")
26403 + return zebra_static_ipv4_mpls (vty, 1, argv[0], NULL, NULL, argv[4], &argv[1]);
26406 +DEFUN (ip_route_mpls_distance_addr,
26407 + ip_route_mpls_distance_addr_cmd,
26408 + "ip route A.B.C.D/M (gen|atm|fr) VALUE nexthop INTERFACE ADDR <1-255>",
26409 + IP_STR
26410 + "Establish static routes\n"
26411 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
26412 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26413 + "Out-going ATM MPLS label (VPI/VCI)\n"
26414 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26415 + "Out-going label value\n"
26416 + "Nexthop\n"
26417 + "IP gateway interface name\n"
26418 + "IP gateway address\n"
26419 + "Distance value for this route\n")
26421 + return zebra_static_ipv4_mpls (vty, 1, argv[0], NULL, argv[4], argv[5], &argv[1]);
26424 +DEFUN (ip_route_mpls_mask_distance,
26425 + ip_route_mpls_mask_distance_cmd,
26426 + "ip route A.B.C.D A.B.C.D (gen|atm|fr) VALUE nexthop INTERFACE <1-255>",
26427 + IP_STR
26428 + "Establish static routes\n"
26429 + "IP destination prefix\n"
26430 + "IP destination prefix mask\n"
26431 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26432 + "Out-going ATM MPLS label (VPI/VCI)\n"
26433 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26434 + "Out-going label value\n"
26435 + "Nexthop\n"
26436 + "IP gateway interface name\n"
26437 + "Distance value for this route\n")
26439 + return zebra_static_ipv4_mpls (vty, 1, argv[0], argv[1], NULL, argv[5], &argv[2]);
26442 +DEFUN (ip_route_mpls_mask_distance_addr,
26443 + ip_route_mpls_mask_distance_addr_cmd,
26444 + "ip route A.B.C.D A.B.C.D (gen|atm|fr) VALUE nexthop INTERFACE ADDR <1-255>",
26445 + IP_STR
26446 + "Establish static routes\n"
26447 + "IP destination prefix\n"
26448 + "IP destination prefix mask\n"
26449 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26450 + "Out-going ATM MPLS label (VPI/VCI)\n"
26451 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26452 + "Out-going label value\n"
26453 + "Nexthop\n"
26454 + "IP gateway interface name\n"
26455 + "IP gateway address\n"
26456 + "Distance value for this route\n")
26458 + return zebra_static_ipv4_mpls (vty, 1, argv[0], argv[1], argv[5], argv[6], &argv[2]);
26461 +DEFUN (no_ip_route_mpls,
26462 + no_ip_route_mpls_cmd,
26463 + "no ip route A.B.C.D/M (gen|atm|fr) VALUE nexthop INTERFACE",
26464 + NO_STR
26465 + IP_STR
26466 + "Establish static routes\n"
26467 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
26468 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26469 + "Out-going ATM MPLS label (VPI/VCI)\n"
26470 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26471 + "Out-going label value\n"
26472 + "Nexthop\n"
26473 + "IP gateway interface name\n")
26475 + return zebra_static_ipv4_mpls (vty, 0, argv[0], NULL, NULL, NULL, &argv[1]);
26478 +DEFUN (no_ip_route_mpls_addr,
26479 + no_ip_route_mpls_addr_cmd,
26480 + "no ip route A.B.C.D/M (gen|atm|fr) VALUE nexthop INTERFACE ADDR",
26481 + NO_STR
26482 + IP_STR
26483 + "Establish static routes\n"
26484 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
26485 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26486 + "Out-going ATM MPLS label (VPI/VCI)\n"
26487 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26488 + "Out-going label value\n"
26489 + "Nexthop\n"
26490 + "IP gateway interface name\n"
26491 + "IP gateway address\n")
26493 + return zebra_static_ipv4_mpls (vty, 0, argv[0], argv[4], NULL, NULL, &argv[1]);
26496 +DEFUN (no_ip_route_mpls_mask,
26497 + no_ip_route_mpls_mask_cmd,
26498 + "no ip route A.B.C.D A.B.C.D (gen|atm|fr) VALUE nexthop INTERFACE",
26499 + NO_STR
26500 + IP_STR
26501 + "Establish static routes\n"
26502 + "IP destination prefix\n"
26503 + "IP destination prefix mask\n"
26504 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26505 + "Out-going ATM MPLS label (VPI/VCI)\n"
26506 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26507 + "Out-going label value\n"
26508 + "Nexthop\n"
26509 + "IP gateway interface name\n")
26511 + return zebra_static_ipv4_mpls (vty, 0, argv[0], argv[1], NULL, NULL, &argv[2]);
26514 +DEFUN (no_ip_route_mpls_mask_addr,
26515 + no_ip_route_mpls_mask_addr_cmd,
26516 + "no ip route A.B.C.D A.B.C.D (gen|atm|fr) VALUE nexthop INTERFACE ADDR",
26517 + NO_STR
26518 + IP_STR
26519 + "Establish static routes\n"
26520 + "IP destination prefix\n"
26521 + "IP destination prefix mask\n"
26522 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26523 + "Out-going ATM MPLS label (VPI/VCI)\n"
26524 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26525 + "Out-going label value\n"
26526 + "Nexthop\n"
26527 + "IP gateway interface name\n"
26528 + "IP gateway address\n")
26530 + return zebra_static_ipv4_mpls (vty, 0, argv[0], argv[1], argv[5], NULL, &argv[2]);
26533 +DEFUN (no_ip_route_mpls_distance,
26534 + no_ip_route_mpls_distance_cmd,
26535 + "no ip route A.B.C.D/M (gen|atm|fr) VALUE nexthop INTERFACE <1-255>",
26536 + NO_STR
26537 + IP_STR
26538 + "Establish static routes\n"
26539 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
26540 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26541 + "Out-going ATM MPLS label (VPI/VCI)\n"
26542 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26543 + "Out-going label value\n"
26544 + "Nexthop\n"
26545 + "IP gateway interface name\n"
26546 + "Distance value for this route\n")
26548 + return zebra_static_ipv4_mpls (vty, 0, argv[0], NULL, NULL, argv[4], &argv[1]);
26551 +DEFUN (no_ip_route_mpls_distance_addr,
26552 + no_ip_route_mpls_distance_addr_cmd,
26553 + "no ip route A.B.C.D/M (gen|atm|fr) VALUE nexthop INTERFACE ADDR <1-255>",
26554 + NO_STR
26555 + IP_STR
26556 + "Establish static routes\n"
26557 + "IP destination prefix (e.g. 10.0.0.0/8)\n"
26558 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26559 + "Out-going ATM MPLS label (VPI/VCI)\n"
26560 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26561 + "Out-going label value\n"
26562 + "Nexthop\n"
26563 + "IP gateway interface name\n"
26564 + "IP gateway address\n"
26565 + "Distance value for this route\n")
26567 + return zebra_static_ipv4_mpls (vty, 0, argv[0], NULL, argv[4], argv[5], &argv[1]);
26570 +DEFUN (no_ip_route_mpls_mask_distance,
26571 + no_ip_route_mpls_mask_distance_cmd,
26572 + "no ip route A.B.C.D A.B.C.D (gen|atm|fr) VALUE nexthop INTERFACE <1-255>",
26573 + NO_STR
26574 + IP_STR
26575 + "Establish static routes\n"
26576 + "IP destination prefix\n"
26577 + "IP destination prefix mask\n"
26578 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26579 + "Out-going ATM MPLS label (VPI/VCI)\n"
26580 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26581 + "Out-going label value\n"
26582 + "Nexthop\n"
26583 + "IP gateway interface name\n"
26584 + "Distance value for this route\n")
26586 + return zebra_static_ipv4_mpls (vty, 0, argv[0], argv[1], NULL, argv[5], &argv[2]);
26589 +DEFUN (no_ip_route_mpls_mask_distance_addr,
26590 + no_ip_route_mpls_mask_distance_addr_cmd,
26591 + "no ip route A.B.C.D A.B.C.D (gen|atm|fr) VALUE nexthop INTERFACE ADDR <1-255>",
26592 + NO_STR
26593 + IP_STR
26594 + "Establish static routes\n"
26595 + "IP destination prefix\n"
26596 + "IP destination prefix mask\n"
26597 + "Out-going generic MPLS label (16 - 2^20-1)\n"
26598 + "Out-going ATM MPLS label (VPI/VCI)\n"
26599 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
26600 + "Out-going label value\n"
26601 + "Nexthop\n"
26602 + "IP gateway interface name\n"
26603 + "IP gateway address\n"
26604 + "Distance value for this route\n")
26606 + return zebra_static_ipv4_mpls (vty, 0, argv[0], argv[1], argv[5], argv[6], &argv[2]);
26609 /* New RIB. Detailed information for IPv4 route. */
26610 @@ -602,6 +944,17 @@
26611 case NEXTHOP_TYPE_IFNAME:
26612 vty_out (vty, " directly connected, %s", nexthop->ifname);
26613 break;
26614 + case NEXTHOP_TYPE_MPLS:
26616 + struct zmpls_out_segment *out = NULL;
26617 + out = mpls_out_segment_find (nexthop->gate.mpls);
26618 + vty_out (vty, " via ");
26619 + if (out)
26620 + mpls_out_segment_config_write (vty, out);
26621 + else
26622 + vty_out (vty, " nhlfe %u", nexthop->gate.mpls);
26623 + break;
26625 case NEXTHOP_TYPE_BLACKHOLE:
26626 vty_out (vty, " directly connected, Null0");
26627 break;
26628 @@ -626,6 +979,17 @@
26629 vty_out (vty, " is directly connected, %s)",
26630 ifindex2ifname (nexthop->rifindex));
26631 break;
26632 + case NEXTHOP_TYPE_MPLS:
26634 + struct zmpls_out_segment *out = NULL;
26635 + out = mpls_out_segment_find (nexthop->rgate.mpls);
26636 + vty_out (vty, " via ");
26637 + if (out)
26638 + mpls_out_segment_config_write (vty, out);
26639 + else
26640 + vty_out (vty, " nhlfe %u", nexthop->rgate.mpls);
26641 + break;
26643 default:
26644 break;
26646 @@ -685,6 +1049,17 @@
26647 case NEXTHOP_TYPE_IFNAME:
26648 vty_out (vty, " is directly connected, %s", nexthop->ifname);
26649 break;
26650 + case NEXTHOP_TYPE_MPLS:
26652 + struct zmpls_out_segment *out = NULL;
26653 + out = mpls_out_segment_find (nexthop->gate.mpls);
26654 + vty_out (vty, " via ");
26655 + if (out)
26656 + mpls_out_segment_config_write (vty, out);
26657 + else
26658 + vty_out (vty, " nhlfe %u", nexthop->gate.mpls);
26659 + break;
26661 case NEXTHOP_TYPE_BLACKHOLE:
26662 vty_out (vty, " is directly connected, Null0");
26663 break;
26664 @@ -709,6 +1084,17 @@
26665 vty_out (vty, " is directly connected, %s)",
26666 ifindex2ifname (nexthop->rifindex));
26667 break;
26668 + case NEXTHOP_TYPE_MPLS:
26670 + struct zmpls_out_segment *out = NULL;
26671 + out = mpls_out_segment_find (nexthop->rgate.mpls);
26672 + vty_out (vty, " via ");
26673 + if (out)
26674 + mpls_out_segment_config_write (vty, out);
26675 + else
26676 + vty_out (vty, " nhlfe %u", nexthop->rgate.mpls);
26677 + break;
26679 default:
26680 break;
26682 @@ -1077,6 +1463,19 @@
26683 case STATIC_IPV4_IFNAME:
26684 vty_out (vty, " %s", si->gate.ifname);
26685 break;
26686 + case STATIC_IPV4_MPLS:
26688 + struct zmpls_out_segment *out = NULL;
26689 + out = mpls_out_segment_find (si->gate.mpls);
26690 + if (out)
26692 + vty_out (vty, " ");
26693 + mpls_out_segment_config_write (vty, out);
26695 + else
26696 + vty_out (vty, " nhlfe %u", si->gate.mpls);
26697 + break;
26699 case STATIC_IPV4_BLACKHOLE:
26700 vty_out (vty, " Null0");
26701 break;
26702 @@ -1104,9 +1503,10 @@
26704 #ifdef HAVE_IPV6
26705 /* General fucntion for IPv6 static route. */
26706 -int
26707 +static int
26708 static_ipv6_func (struct vty *vty, int add_cmd, char *dest_str,
26709 - char *gate_str, char *ifname, char *flag_str, char *distance_str)
26710 + char *gate_str, char *ifname, char *flag_str,
26711 + char *distance_str, u_int32_t mpls)
26713 int ret;
26714 u_char distance;
26715 @@ -1154,7 +1554,18 @@
26716 nexthop address other case gate is treated as interface name. */
26717 ret = inet_pton (AF_INET6, gate_str, &gate_addr);
26719 - if (ifname)
26720 + if (mpls)
26722 + /* When mpls is specified. It must not come with a gateway
26723 + address. */
26724 + if (ret == 1)
26726 + vty_out (vty, "%% Malformed MPLS nexthop%s", VTY_NEWLINE);
26727 + return CMD_WARNING;
26729 + type = STATIC_IPV6_MPLS;
26731 + else if (ifname)
26733 /* When ifname is specified. It must be come with gateway
26734 address. */
26735 @@ -1181,9 +1592,9 @@
26738 if (add_cmd)
26739 - static_add_ipv6 (&p, type, gate, ifname, flag, distance, table);
26740 + static_add_ipv6 (&p, type, gate, ifname, mpls, flag, distance, table);
26741 else
26742 - static_delete_ipv6 (&p, type, gate, ifname, distance, table);
26743 + static_delete_ipv6 (&p, type, gate, ifname, mpls, distance, table);
26745 return CMD_SUCCESS;
26747 @@ -1197,7 +1608,7 @@
26748 "IPv6 gateway address\n"
26749 "IPv6 gateway interface name\n")
26751 - return static_ipv6_func (vty, 1, argv[0], argv[1], NULL, NULL, NULL);
26752 + return static_ipv6_func (vty, 1, argv[0], argv[1], NULL, NULL, NULL, 0);
26755 DEFUN (ipv6_route_flags,
26756 @@ -1211,7 +1622,7 @@
26757 "Emit an ICMP unreachable when matched\n"
26758 "Silently discard pkts when matched\n")
26760 - return static_ipv6_func (vty, 1, argv[0], argv[1], NULL, argv[2], NULL);
26761 + return static_ipv6_func (vty, 1, argv[0], argv[1], NULL, argv[2], NULL, 0);
26764 DEFUN (ipv6_route_ifname,
26765 @@ -1223,7 +1634,7 @@
26766 "IPv6 gateway address\n"
26767 "IPv6 gateway interface name\n")
26769 - return static_ipv6_func (vty, 1, argv[0], argv[1], argv[2], NULL, NULL);
26770 + return static_ipv6_func (vty, 1, argv[0], argv[1], argv[2], NULL, NULL, 0);
26773 DEFUN (ipv6_route_ifname_flags,
26774 @@ -1237,7 +1648,7 @@
26775 "Emit an ICMP unreachable when matched\n"
26776 "Silently discard pkts when matched\n")
26778 - return static_ipv6_func (vty, 1, argv[0], argv[1], argv[2], argv[3], NULL);
26779 + return static_ipv6_func (vty, 1, argv[0], argv[1], argv[2], argv[3], NULL, 0);
26782 DEFUN (ipv6_route_pref,
26783 @@ -1250,7 +1661,7 @@
26784 "IPv6 gateway interface name\n"
26785 "Distance value for this prefix\n")
26787 - return static_ipv6_func (vty, 1, argv[0], argv[1], NULL, NULL, argv[2]);
26788 + return static_ipv6_func (vty, 1, argv[0], argv[1], NULL, NULL, argv[2], 0);
26791 DEFUN (ipv6_route_flags_pref,
26792 @@ -1265,7 +1676,7 @@
26793 "Silently discard pkts when matched\n"
26794 "Distance value for this prefix\n")
26796 - return static_ipv6_func (vty, 1, argv[0], argv[1], NULL, argv[2], argv[3]);
26797 + return static_ipv6_func (vty, 1, argv[0], argv[1], NULL, argv[2], argv[3], 0);
26800 DEFUN (ipv6_route_ifname_pref,
26801 @@ -1278,7 +1689,7 @@
26802 "IPv6 gateway interface name\n"
26803 "Distance value for this prefix\n")
26805 - return static_ipv6_func (vty, 1, argv[0], argv[1], argv[2], NULL, argv[3]);
26806 + return static_ipv6_func (vty, 1, argv[0], argv[1], argv[2], NULL, argv[3], 0);
26809 DEFUN (ipv6_route_ifname_flags_pref,
26810 @@ -1293,7 +1704,7 @@
26811 "Silently discard pkts when matched\n"
26812 "Distance value for this prefix\n")
26814 - return static_ipv6_func (vty, 1, argv[0], argv[1], argv[2], argv[3], argv[4]);
26815 + return static_ipv6_func (vty, 1, argv[0], argv[1], argv[2], argv[3], argv[4], 0);
26818 DEFUN (no_ipv6_route,
26819 @@ -1306,7 +1717,7 @@
26820 "IPv6 gateway address\n"
26821 "IPv6 gateway interface name\n")
26823 - return static_ipv6_func (vty, 0, argv[0], argv[1], NULL, NULL, NULL);
26824 + return static_ipv6_func (vty, 0, argv[0], argv[1], NULL, NULL, NULL, 0);
26827 ALIAS (no_ipv6_route,
26828 @@ -1331,7 +1742,7 @@
26829 "IPv6 gateway address\n"
26830 "IPv6 gateway interface name\n")
26832 - return static_ipv6_func (vty, 0, argv[0], argv[1], argv[2], NULL, NULL);
26833 + return static_ipv6_func (vty, 0, argv[0], argv[1], argv[2], NULL, NULL, 0);
26836 ALIAS (no_ipv6_route_ifname,
26837 @@ -1357,7 +1768,7 @@
26838 "IPv6 gateway interface name\n"
26839 "Distance value for this prefix\n")
26841 - return static_ipv6_func (vty, 0, argv[0], argv[1], NULL, NULL, argv[2]);
26842 + return static_ipv6_func (vty, 0, argv[0], argv[1], NULL, NULL, argv[2], 0);
26845 DEFUN (no_ipv6_route_flags_pref,
26846 @@ -1374,7 +1785,7 @@
26847 "Distance value for this prefix\n")
26849 /* We do not care about argv[2] */
26850 - return static_ipv6_func (vty, 0, argv[0], argv[1], NULL, argv[2], argv[3]);
26851 + return static_ipv6_func (vty, 0, argv[0], argv[1], NULL, argv[2], argv[3], 0);
26854 DEFUN (no_ipv6_route_ifname_pref,
26855 @@ -1388,7 +1799,7 @@
26856 "IPv6 gateway interface name\n"
26857 "Distance value for this prefix\n")
26859 - return static_ipv6_func (vty, 0, argv[0], argv[1], argv[2], NULL, argv[3]);
26860 + return static_ipv6_func (vty, 0, argv[0], argv[1], argv[2], NULL, argv[3], 0);
26863 DEFUN (no_ipv6_route_ifname_flags_pref,
26864 @@ -1404,7 +1815,7 @@
26865 "Silently discard pkts when matched\n"
26866 "Distance value for this prefix\n")
26868 - return static_ipv6_func (vty, 0, argv[0], argv[1], argv[2], argv[3], argv[4]);
26869 + return static_ipv6_func (vty, 0, argv[0], argv[1], argv[2], argv[3], argv[4], 0);
26872 /* New RIB. Detailed information for IPv6 route. */
26873 @@ -1486,6 +1897,17 @@
26874 vty_out (vty, " directly connected, %s",
26875 nexthop->ifname);
26876 break;
26877 + case NEXTHOP_TYPE_MPLS:
26879 + struct zmpls_out_segment *out = NULL;
26880 + out = mpls_out_segment_find (nexthop->gate.mpls);
26881 + vty_out (vty, " via ");
26882 + if (out)
26883 + mpls_out_segment_config_write (vty, out);
26884 + else
26885 + vty_out (vty, " nhlfe %u", nexthop->gate.mpls);
26886 + break;
26888 default:
26889 break;
26891 @@ -1512,6 +1934,17 @@
26892 vty_out (vty, " is directly connected, %s)",
26893 ifindex2ifname (nexthop->rifindex));
26894 break;
26895 + case NEXTHOP_TYPE_MPLS:
26897 + struct zmpls_out_segment *out = NULL;
26898 + out = mpls_out_segment_find (nexthop->rgate.mpls);
26899 + vty_out (vty, " via ");
26900 + if (out)
26901 + mpls_out_segment_config_write (vty, out);
26902 + else
26903 + vty_out (vty, " nhlfe %u", nexthop->rgate.mpls);
26904 + break;
26906 default:
26907 break;
26909 @@ -1577,6 +2010,17 @@
26910 vty_out (vty, " is directly connected, %s",
26911 nexthop->ifname);
26912 break;
26913 + case NEXTHOP_TYPE_MPLS:
26915 + struct zmpls_out_segment *out = NULL;
26916 + out = mpls_out_segment_find (nexthop->gate.mpls);
26917 + vty_out (vty, " via ");
26918 + if (out)
26919 + mpls_out_segment_config_write (vty, out);
26920 + else
26921 + vty_out (vty, " nhlfe %u", nexthop->gate.mpls);
26922 + break;
26924 default:
26925 break;
26927 @@ -1603,6 +2047,17 @@
26928 vty_out (vty, " is directly connected, %s)",
26929 ifindex2ifname (nexthop->rifindex));
26930 break;
26931 + case NEXTHOP_TYPE_MPLS:
26933 + struct zmpls_out_segment *out = NULL;
26934 + out = mpls_out_segment_find (nexthop->rgate.mpls);
26935 + vty_out (vty, " via ");
26936 + if (out)
26937 + mpls_out_segment_config_write (vty, out);
26938 + else
26939 + vty_out (vty, " nhlfe %u", nexthop->rgate.mpls);
26940 + break;
26942 default:
26943 break;
26945 @@ -1881,6 +2336,19 @@
26946 case STATIC_IPV6_IFNAME:
26947 vty_out (vty, " %s", si->ifname);
26948 break;
26949 + case STATIC_IPV6_MPLS:
26951 + struct zmpls_out_segment *out = NULL;
26952 + out = mpls_out_segment_find (si->mpls);
26953 + if (out)
26955 + vty_out (vty, " ");
26956 + mpls_out_segment_config_write (vty, out);
26958 + else
26959 + vty_out (vty, " nhlfe %u", si->mpls);
26960 + break;
26962 case STATIC_IPV6_GATEWAY_IFNAME:
26963 vty_out (vty, " %s %s",
26964 inet_ntop (AF_INET6, &si->ipv6, buf, BUFSIZ), si->ifname);
26965 @@ -1901,6 +2369,195 @@
26967 return write;
26970 +static int
26971 +static_ipv6_func_mpls (struct vty *vty, int add_cmd, char *dest,
26972 + char *addr, char *distance, char **argv)
26974 + struct zmpls_out_segment out;
26975 + int result;
26977 + memset (&out, 0, sizeof (out));
26978 + out.owner = ZEBRA_MPLS_OWNER_STATIC;
26979 + result = nhlfe_parse (vty, argv, &out, addr);
26980 + if (result != CMD_SUCCESS)
26981 + return result;
26983 + out.index = mpls_out_segment_find_index_by_nhlfe(&out);
26985 + if (add_cmd)
26987 + if (out.index)
26989 + vty_out(vty, "NHLFE already exists%s",VTY_NEWLINE);
26990 + return CMD_WARNING;
26993 + if (mpls_out_segment_register (&out))
26995 + vty_out(vty, "Unable to register NHLFE%s",VTY_NEWLINE);
26996 + return CMD_WARNING;
27000 + result = static_ipv6_func (vty, add_cmd, dest, NULL, NULL, NULL, distance,
27001 + out.index);
27003 + if (add_cmd)
27005 + if (result != CMD_SUCCESS)
27007 + mpls_out_segment_unregister_by_index (out.index);
27008 + return CMD_WARNING;
27011 + else
27013 + mpls_out_segment_unregister_by_index (out.index);
27015 + return CMD_SUCCESS;
27018 +DEFUN (ipv6_route_mpls,
27019 + ipv6_route_mpls_cmd,
27020 + "ipv6 route X:X::X:X/M (gen|atm|fr) VALUE nexthop INTERFACE",
27021 + IP_STR
27022 + "Establish static routes\n"
27023 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
27024 + "Out-going generic MPLS label (16 - 2^20-1)\n"
27025 + "Out-going ATM MPLS label (VPI/VCI)\n"
27026 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
27027 + "Out-going label value\n"
27028 + "Nexthop\n"
27029 + "IPv6 gateway interface name\n")
27031 + return static_ipv6_func_mpls (vty, 1, argv[0], NULL, NULL, &argv[1]);
27034 +DEFUN (ipv6_route_mpls_addr,
27035 + ipv6_route_mpls_addr_cmd,
27036 + "ipv6 route X:X::X:X/M (gen|atm|fr) VALUE nexthop INTERFACE ADDR",
27037 + IP_STR
27038 + "Establish static routes\n"
27039 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
27040 + "Out-going generic MPLS label (16 - 2^20-1)\n"
27041 + "Out-going ATM MPLS label (VPI/VCI)\n"
27042 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
27043 + "Out-going label value\n"
27044 + "Nexthop\n"
27045 + "IPv6 gateway interface name\n"
27046 + "IPv6 gateway address\n")
27048 + return static_ipv6_func_mpls (vty, 1, argv[0], argv[4], NULL, &argv[1]);
27051 +DEFUN (ipv6_route_mpls_pref,
27052 + ipv6_route_mpls_pref_cmd,
27053 + "ipv6 route X:X::X:X/M (gen|atm|fr) VALUE nexthop INTERFACE <1-255>",
27054 + IP_STR
27055 + "Establish static routes\n"
27056 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
27057 + "Out-going generic MPLS label (16 - 2^20-1)\n"
27058 + "Out-going ATM MPLS label (VPI/VCI)\n"
27059 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
27060 + "Out-going label value\n"
27061 + "Nexthop\n"
27062 + "IPv6 gateway interface name\n"
27063 + "Distance value for this prefix\n")
27065 + return static_ipv6_func_mpls (vty, 1, argv[0], NULL, argv[4], &argv[1]);
27068 +DEFUN (ipv6_route_mpls_pref_addr,
27069 + ipv6_route_mpls_pref_addr_cmd,
27070 + "ipv6 route X:X::X:X/M (gen|atm|fr) VALUE nexthop INTERFACE ADDR <1-255>",
27071 + IP_STR
27072 + "Establish static routes\n"
27073 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
27074 + "Out-going generic MPLS label (16 - 2^20-1)\n"
27075 + "Out-going ATM MPLS label (VPI/VCI)\n"
27076 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
27077 + "Out-going label value\n"
27078 + "Nexthop\n"
27079 + "IPv6 gateway interface name\n"
27080 + "IPv6 gateway address\n"
27081 + "Distance value for this prefix\n")
27083 + return static_ipv6_func_mpls (vty, 1, argv[0], argv[4], argv[5], &argv[1]);
27086 +DEFUN (no_ipv6_route_mpls,
27087 + no_ipv6_route_mpls_cmd,
27088 + "no ipv6 route X:X::X:X/M (gen|atm|fr) VALUE nexthop INTERFACE",
27089 + NO_STR
27090 + IP_STR
27091 + "Establish static routes\n"
27092 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
27093 + "Out-going generic MPLS label (16 - 2^20-1)\n"
27094 + "Out-going ATM MPLS label (VPI/VCI)\n"
27095 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
27096 + "Out-going label value\n"
27097 + "Nexthop\n"
27098 + "IPv6 gateway interface name\n")
27100 + return static_ipv6_func_mpls (vty, 0, argv[0], NULL, NULL, &argv[1]);
27103 +DEFUN (no_ipv6_route_mpls_addr,
27104 + no_ipv6_route_mpls_addr_cmd,
27105 + "no ipv6 route X:X::X:X/M (gen|atm|fr) VALUE nexthop INTERFACE ADDR",
27106 + NO_STR
27107 + IP_STR
27108 + "Establish static routes\n"
27109 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
27110 + "Out-going generic MPLS label (16 - 2^20-1)\n"
27111 + "Out-going ATM MPLS label (VPI/VCI)\n"
27112 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
27113 + "Out-going label value\n"
27114 + "Nexthop\n"
27115 + "IPv6 gateway interface name\n"
27116 + "IPv6 gateway address\n")
27118 + return static_ipv6_func_mpls (vty, 0, argv[0], argv[4], NULL, &argv[1]);
27121 +DEFUN (no_ipv6_route_mpls_pref,
27122 + no_ipv6_route_mpls_pref_cmd,
27123 + "no ipv6 route X:X::X:X/M (gen|atm|fr) VALUE nexthop INTERFACE <1-255>",
27124 + NO_STR
27125 + IP_STR
27126 + "Establish static routes\n"
27127 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
27128 + "Out-going generic MPLS label (16 - 2^20-1)\n"
27129 + "Out-going ATM MPLS label (VPI/VCI)\n"
27130 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
27131 + "Out-going label value\n"
27132 + "Nexthop\n"
27133 + "IPv6 gateway interface name\n"
27134 + "Distance value for this prefix\n")
27136 + return static_ipv6_func_mpls (vty, 0, argv[0], NULL, argv[4], &argv[1]);
27139 +DEFUN (no_ipv6_route_mpls_pref_addr,
27140 + no_ipv6_route_mpls_pref_addr_cmd,
27141 + "no ipv6 route X:X::X:X/M (gen|atm|fr) VALUE nexthop INTERFACE ADDR <1-255>",
27142 + NO_STR
27143 + IP_STR
27144 + "Establish static routes\n"
27145 + "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
27146 + "Out-going generic MPLS label (16 - 2^20-1)\n"
27147 + "Out-going ATM MPLS label (VPI/VCI)\n"
27148 + "Out-going Frame Relay MPLS label (16 - 2^17-1)\n"
27149 + "Out-going label value\n"
27150 + "Nexthop\n"
27151 + "IPv6 gateway interface name\n"
27152 + "IPv6 gateway address\n"
27153 + "Distance value for this prefix\n")
27155 + return static_ipv6_func_mpls (vty, 0, argv[0], argv[4], argv[5], &argv[1]);
27158 #endif /* HAVE_IPV6 */
27160 /* Static ip route configuration write function. */
27161 @@ -1950,6 +2607,23 @@
27162 install_element (CONFIG_NODE, &no_ip_route_mask_flags_distance_cmd);
27163 install_element (CONFIG_NODE, &no_ip_route_mask_flags_distance2_cmd);
27165 + install_element (CONFIG_NODE, &ip_route_mpls_cmd);
27166 + install_element (CONFIG_NODE, &ip_route_mpls_addr_cmd);
27167 + install_element (CONFIG_NODE, &ip_route_mpls_mask_cmd);
27168 + install_element (CONFIG_NODE, &ip_route_mpls_mask_addr_cmd);
27169 + install_element (CONFIG_NODE, &ip_route_mpls_distance_cmd);
27170 + install_element (CONFIG_NODE, &ip_route_mpls_distance_addr_cmd);
27171 + install_element (CONFIG_NODE, &ip_route_mpls_mask_distance_cmd);
27172 + install_element (CONFIG_NODE, &ip_route_mpls_mask_distance_addr_cmd);
27173 + install_element (CONFIG_NODE, &no_ip_route_mpls_cmd);
27174 + install_element (CONFIG_NODE, &no_ip_route_mpls_addr_cmd);
27175 + install_element (CONFIG_NODE, &no_ip_route_mpls_mask_cmd);
27176 + install_element (CONFIG_NODE, &no_ip_route_mpls_mask_addr_cmd);
27177 + install_element (CONFIG_NODE, &no_ip_route_mpls_distance_cmd);
27178 + install_element (CONFIG_NODE, &no_ip_route_mpls_distance_addr_cmd);
27179 + install_element (CONFIG_NODE, &no_ip_route_mpls_mask_distance_cmd);
27180 + install_element (CONFIG_NODE, &no_ip_route_mpls_mask_distance_addr_cmd);
27182 install_element (VIEW_NODE, &show_ip_route_cmd);
27183 install_element (VIEW_NODE, &show_ip_route_addr_cmd);
27184 install_element (VIEW_NODE, &show_ip_route_prefix_cmd);
27185 @@ -1985,6 +2659,16 @@
27186 install_element (CONFIG_NODE, &no_ipv6_route_flags_pref_cmd);
27187 install_element (CONFIG_NODE, &no_ipv6_route_ifname_pref_cmd);
27188 install_element (CONFIG_NODE, &no_ipv6_route_ifname_flags_pref_cmd);
27190 + install_element (CONFIG_NODE, &ipv6_route_mpls_cmd);
27191 + install_element (CONFIG_NODE, &ipv6_route_mpls_addr_cmd);
27192 + install_element (CONFIG_NODE, &ipv6_route_mpls_pref_cmd);
27193 + install_element (CONFIG_NODE, &ipv6_route_mpls_pref_addr_cmd);
27194 + install_element (CONFIG_NODE, &no_ipv6_route_mpls_cmd);
27195 + install_element (CONFIG_NODE, &no_ipv6_route_mpls_addr_cmd);
27196 + install_element (CONFIG_NODE, &no_ipv6_route_mpls_pref_cmd);
27197 + install_element (CONFIG_NODE, &no_ipv6_route_mpls_pref_addr_cmd);
27199 install_element (VIEW_NODE, &show_ipv6_route_cmd);
27200 install_element (VIEW_NODE, &show_ipv6_route_protocol_cmd);
27201 install_element (VIEW_NODE, &show_ipv6_route_addr_cmd);
27202 @@ -2002,4 +2686,5 @@
27203 zebra_vty_init ()
27205 zebra_vty_route_init ();
27206 + mpls_vty_init ();
27208 diff --exclude=rsvpd -uNr quagga/zebra/zserv.c quagga-mpls/zebra/zserv.c
27209 --- quagga/zebra/zserv.c 2004-02-25 13:47:53.000000000 -0600
27210 +++ quagga-mpls/zebra/zserv.c 2004-07-14 23:45:39.714508928 -0500
27211 @@ -34,8 +34,10 @@
27212 #include "log.h"
27213 #include "zclient.h"
27214 #include "privs.h"
27215 +#include "mpls_vty.h"
27217 #include "zebra/zserv.h"
27218 +#include "zebra/router-id.h"
27219 #include "zebra/redistribute.h"
27220 #include "zebra/debug.h"
27221 #include "zebra/ipforward.h"
27222 @@ -70,7 +72,18 @@
27223 "ZEBRA_IPV4_NEXTHOP_LOOKUP",
27224 "ZEBRA_IPV6_NEXTHOP_LOOKUP",
27225 "ZEBRA_IPV4_IMPORT_LOOKUP",
27226 - "ZEBRA_IPV6_IMPORT_LOOKUP"
27227 + "ZEBRA_IPV6_IMPORT_LOOKUP",
27228 + "ZEBRA_ROUTER_ID_ADD",
27229 + "ZEBRA_ROUTER_ID_DELETE",
27230 + "ZEBRA_ROUTER_ID_UPDATE",
27231 + "ZEBRA_MPLS_XC_ADD",
27232 + "ZEBRA_MPLS_XC_DELETE",
27233 + "ZEBRA_MPLS_IN_SEGMENT_ADD",
27234 + "ZEBRA_MPLS_IN_SEGMENT_DELETE",
27235 + "ZEBRA_MPLS_OUT_SEGMENT_ADD",
27236 + "ZEBRA_MPLS_OUT_SEGMENT_DELETE",
27237 + "ZEBRA_MPLS_LABELSPACE_ADD",
27238 + "ZEBRA_MPLS_LABELSPACE_DELETE",
27241 struct zebra_message_queue
27242 @@ -528,6 +541,180 @@
27243 return 0;
27246 +int
27247 +zsend_mpls_xc_add (struct zserv *client, struct zmpls_xc *p)
27249 + struct zapi_mpls_xc api;
27250 + struct stream *s;
27252 + s = client->obuf;
27253 + mpls_xc_stream_write (s, &api, ZEBRA_MPLS_XC_ADD);
27255 + return zebra_server_send_message (client->sock, s->data, stream_get_endp (s));
27258 +int
27259 +zsend_mpls_xc_delete (struct zserv *client, struct zmpls_xc *p)
27261 + struct zapi_mpls_xc api;
27262 + struct stream *s;
27264 + s = client->obuf;
27265 + mpls_xc_stream_write (s, &api, ZEBRA_MPLS_XC_DELETE);
27267 + return zebra_server_send_message (client->sock, s->data, stream_get_endp (s));
27270 +int
27271 +zsend_mpls_in_segment_add (struct zserv *client, struct zmpls_in_segment *in)
27273 + struct zapi_mpls_in_segment api;
27274 + struct stream *s;
27276 + s = client->obuf;
27278 + api.owner = in->owner;
27279 + api.labelspace = in->labelspace;
27280 + api.protocol = in->protocol;
27281 + api.pop = in->pop;
27282 + api.fwd = in->fwd;
27283 + memcpy (&api.label, &in->label, sizeof (api.label));
27285 + mpls_in_segment_stream_write (s, &api, ZEBRA_MPLS_IN_SEGMENT_ADD);
27287 + return zebra_server_send_message (client->sock, s->data, stream_get_endp (s));
27290 +int
27291 +zsend_mpls_in_segment_delete (struct zserv *client, struct zmpls_in_segment *in)
27293 + struct zapi_mpls_in_segment api;
27294 + struct stream *s;
27296 + s = client->obuf;
27298 + api.owner = in->owner;
27299 + api.labelspace = in->labelspace;
27300 + api.protocol = in->protocol;
27301 + api.pop = in->pop;
27302 + api.fwd = in->fwd;
27303 + memcpy (&api.label, &in->label, sizeof (api.label));
27305 + mpls_in_segment_stream_write (s, &api, ZEBRA_MPLS_IN_SEGMENT_DELETE);
27307 + return zebra_server_send_message (client->sock, s->data, stream_get_endp (s));
27310 +int
27311 +zsend_mpls_out_segment_add (struct zserv *client, struct zmpls_out_segment *out)
27313 + struct zapi_mpls_out_segment api;
27314 + struct stream *s;
27316 + s = client->obuf;
27318 + api.owner = out->owner;
27319 + api.index = out->index;
27320 + memcpy (&api.push, &out->push, sizeof (struct zmpls_label));
27322 + switch (out->nh.type)
27324 + case NEXTHOP_TYPE_IFNAME:
27325 + strcpy (api.ifname, out->nh.ifname);
27326 + break;
27327 + case NEXTHOP_TYPE_IPV4_IFNAME:
27328 + strcpy (api.ifname, out->nh.ifname);
27329 + /* fall through */
27330 + case NEXTHOP_TYPE_IPV4:
27331 + api.gate.family = AF_INET;
27332 + api.gate.prefixlen = IPV4_MAX_BITLEN;
27333 + api.gate.u.prefix4 = out->nh.gate.ipv4;
27334 + break;
27335 + case NEXTHOP_TYPE_IPV6_IFNAME:
27336 + strcpy (api.ifname, out->nh.ifname);
27337 + /* fall through */
27338 + case NEXTHOP_TYPE_IPV6:
27339 + api.gate.family = AF_INET6;
27340 + api.gate.prefixlen = IPV6_MAX_BITLEN;
27341 + api.gate.u.prefix6 = out->nh.gate.ipv6;
27342 + break;
27343 + default:
27344 + assert(0);
27347 + mpls_out_segment_stream_write (s, &api, ZEBRA_MPLS_OUT_SEGMENT_ADD);
27349 + return zebra_server_send_message (client->sock, s->data, stream_get_endp (s));
27352 +int
27353 +zsend_mpls_out_segment_delete (struct zserv *client, struct zmpls_out_segment *out)
27355 + struct zapi_mpls_out_segment api;
27356 + struct stream *s;
27358 + s = client->obuf;
27360 + api.owner = out->owner;
27361 + api.index = out->index;
27362 + memcpy (&api.push, &out->push, sizeof (struct zmpls_label));
27364 + switch (out->nh.type)
27366 + case NEXTHOP_TYPE_IFNAME:
27367 + strcpy (api.ifname, out->nh.ifname);
27368 + break;
27369 + case NEXTHOP_TYPE_IPV4_IFNAME:
27370 + strcpy (api.ifname, out->nh.ifname);
27371 + /* fall through */
27372 + case NEXTHOP_TYPE_IPV4:
27373 + api.gate.family = AF_INET;
27374 + api.gate.prefixlen = IPV4_MAX_BITLEN;
27375 + api.gate.u.prefix4 = out->nh.gate.ipv4;
27376 + break;
27377 + case NEXTHOP_TYPE_IPV6_IFNAME:
27378 + strcpy (api.ifname, out->nh.ifname);
27379 + /* fall through */
27380 + case NEXTHOP_TYPE_IPV6:
27381 + api.gate.family = AF_INET6;
27382 + api.gate.prefixlen = IPV6_MAX_BITLEN;
27383 + api.gate.u.prefix6 = out->nh.gate.ipv6;
27384 + break;
27385 + default:
27386 + assert(0);
27389 + mpls_out_segment_stream_write (s, &api, ZEBRA_MPLS_OUT_SEGMENT_DELETE);
27391 + return zebra_server_send_message (client->sock, s->data, stream_get_endp (s));
27394 +int
27395 +zsend_mpls_labelspace_add (struct zserv *client, int labelspace)
27397 + struct zapi_mpls_labelspace api;
27398 + struct stream *s;
27400 + s = client->obuf;
27401 + api.labelspace = labelspace;
27402 + mpls_labelspace_stream_write (s, &api, ZEBRA_MPLS_LABELSPACE_ADD);
27404 + return zebra_server_send_message (client->sock, s->data, stream_get_endp (s));
27407 +int
27408 +zsend_mpls_labelspace_delete (struct zserv *client, int labelspace)
27410 + struct zapi_mpls_labelspace api;
27411 + struct stream *s;
27413 + s = client->obuf;
27414 + api.labelspace = labelspace;
27415 + mpls_labelspace_stream_write (s, &api, ZEBRA_MPLS_LABELSPACE_DELETE);
27417 + return zebra_server_send_message (client->sock, s->data, stream_get_endp (s));
27420 #if 0
27421 #warning oldies
27423 @@ -862,6 +1049,8 @@
27424 case ZEBRA_NEXTHOP_IFNAME:
27425 stream_putl (s, nexthop->ifindex);
27426 break;
27427 + default:
27428 + assert (0);
27430 num++;
27432 @@ -921,6 +1110,8 @@
27433 case ZEBRA_NEXTHOP_IFNAME:
27434 stream_putl (s, nexthop->ifindex);
27435 break;
27436 + default:
27437 + assert (0);
27439 num++;
27441 @@ -979,6 +1170,8 @@
27442 case ZEBRA_NEXTHOP_IFNAME:
27443 stream_putl (s, nexthop->ifindex);
27444 break;
27445 + default:
27446 + assert (0);
27448 num++;
27450 @@ -997,6 +1190,38 @@
27451 return 0;
27454 +/* Router-id is updated. Send ZEBRA_ROUTER_ID_ADD to client. */
27455 +int
27456 +zsend_router_id_update (struct zserv *client, struct prefix *p)
27458 + struct stream *s;
27459 + int blen;
27461 + /* Check this client need interface information. */
27462 + if (!client->ridinfo)
27463 + return -1;
27465 + s = client->obuf;
27466 + stream_reset (s);
27468 + /* Place holder for size. */
27469 + stream_putw (s, 0);
27471 + /* Message type. */
27472 + stream_putc (s, ZEBRA_ROUTER_ID_UPDATE);
27474 + /* Prefix information. */
27475 + stream_putc (s, p->family);
27476 + blen = prefix_blen (p);
27477 + stream_put (s, &p->u.prefix, blen);
27478 + stream_putc (s, p->prefixlen);
27480 + /* Write packet size. */
27481 + stream_putw_at (s, 0, stream_get_endp (s));
27483 + return writen (client->sock, s->data, stream_get_endp (s));
27486 /* Register zebra server interface information. Send current all
27487 interface and address information. */
27488 void
27489 @@ -1127,6 +1352,8 @@
27490 u_char nexthop_num;
27491 u_char nexthop_type;
27492 u_char ifname_len;
27494 + memset(&api,0,sizeof(api));
27496 s = client->ibuf;
27497 ifindex = 0;
27498 @@ -1221,6 +1448,8 @@
27499 struct in6_addr nexthop;
27500 unsigned long ifindex;
27501 struct prefix_ipv6 p;
27503 + memset(&api,0,sizeof(api));
27505 s = client->ibuf;
27506 ifindex = 0;
27507 @@ -1285,6 +1514,8 @@
27508 struct in6_addr nexthop;
27509 unsigned long ifindex;
27510 struct prefix_ipv6 p;
27512 + memset(&api,0,sizeof(api));
27514 s = client->ibuf;
27515 ifindex = 0;
27516 @@ -1393,6 +1624,198 @@
27518 #endif /* HAVE_IPV6 */
27520 +/* Register zebra server router-id information. Send current router-id */
27521 +void
27522 +zread_router_id_add (struct zserv *client, u_short length)
27524 + struct prefix p;
27526 + /* Router-id information is needed. */
27527 + client->ridinfo = 1;
27529 + router_id_get (&p);
27531 + zsend_router_id_update (client,&p);
27534 +/* Unregister zebra server router-id information. */
27535 +void
27536 +zread_router_id_delete (struct zserv *client, u_short length)
27538 + client->ridinfo = 0;
27541 +void
27542 +zread_mpls_xc_add (struct zserv *client, u_short length)
27544 + struct zapi_mpls_xc api;
27545 + mpls_xc_stream_read (client->ibuf, &api);
27548 +void
27549 +zread_mpls_xc_delete (struct zserv *client, u_short length)
27551 + struct zapi_mpls_xc api;
27552 + mpls_xc_stream_read (client->ibuf, &api);
27555 +void
27556 +zread_mpls_in_segment_add (struct zserv *client, u_short length)
27558 + struct zapi_mpls_in_segment api;
27559 + struct zmpls_in_segment in;
27561 + mpls_in_segment_stream_read (client->ibuf, &api);
27563 + in.owner = api.owner;
27564 + in.labelspace = api.labelspace;
27565 + in.protocol = api.protocol;
27566 + in.pop = api.pop;
27567 + in.fwd = api.fwd;
27568 + memcpy (&in.label, &api.label, sizeof (api.label));
27570 + mpls_in_segment_register (&in);
27573 +void
27574 +zread_mpls_in_segment_delete (struct zserv *client, u_short length)
27576 + struct zapi_mpls_in_segment api;
27577 + struct zmpls_in_segment in;
27579 + mpls_in_segment_stream_read (client->ibuf, &api);
27580 + in.owner = api.owner;
27581 + in.labelspace = api.labelspace;
27582 + in.protocol = api.protocol;
27583 + in.pop = api.pop;
27584 + in.fwd = api.fwd;
27585 + memcpy (&in.label, &api.label, sizeof (api.label));
27587 + mpls_in_segment_unregister (&in);
27590 +void
27591 +zread_mpls_out_segment_add (struct zserv *client, u_short length)
27593 + struct zapi_mpls_out_segment api;
27594 + struct zmpls_out_segment out;
27596 + mpls_out_segment_stream_read (client->ibuf, &api);
27598 + out.owner = api.owner;
27599 + out.index = api.index;
27600 + memcpy (&out.push, &api.push, sizeof (api.push));
27602 + /* this will be XSTRDUP'd in mpls_out_segment_register() */
27603 + out.nh.ifname = api.ifname;
27605 + switch (api.gate.family)
27607 + case 0:
27608 + assert (strlen(out.nh.ifname));
27609 + out.nh.type = NEXTHOP_TYPE_IFNAME;
27610 + break;
27611 + case AF_INET:
27612 + out.nh.gate.ipv4 = api.gate.u.prefix4;
27613 + out.nh.type = (strlen(out.nh.ifname) > 0) ?
27614 + NEXTHOP_TYPE_IPV4_IFNAME :
27615 + NEXTHOP_TYPE_IPV4;
27616 + break;
27617 + case AF_INET6:
27618 + out.nh.gate.ipv6 = api.gate.u.prefix6;
27619 + out.nh.type = (strlen(out.nh.ifname) > 0) ?
27620 + NEXTHOP_TYPE_IPV6_IFNAME :
27621 + NEXTHOP_TYPE_IPV6;
27622 + break;
27623 + default:
27624 + assert(0);
27627 + mpls_out_segment_register (&out);
27630 +void
27631 +zread_mpls_out_segment_delete (struct zserv *client, u_short length)
27633 + struct zapi_mpls_out_segment api;
27634 + struct zmpls_out_segment out;
27636 + mpls_out_segment_stream_read (client->ibuf, &api);
27638 + out.owner = api.owner;
27639 + out.index = api.index;
27640 + memcpy (&out.push, &api.push, sizeof (api.push));
27642 + out.nh.ifname = api.ifname;
27644 + switch (api.gate.family)
27646 + case 0:
27647 + assert (strlen(out.nh.ifname));
27648 + out.nh.type = NEXTHOP_TYPE_IFNAME;
27649 + break;
27650 + case AF_INET:
27651 + out.nh.gate.ipv4 = api.gate.u.prefix4;
27652 + out.nh.type = (strlen(out.nh.ifname) > 0) ?
27653 + NEXTHOP_TYPE_IPV4_IFNAME :
27654 + NEXTHOP_TYPE_IPV4;
27655 + break;
27656 + case AF_INET6:
27657 + out.nh.gate.ipv6 = api.gate.u.prefix6;
27658 + out.nh.type = (strlen(out.nh.ifname) > 0) ?
27659 + NEXTHOP_TYPE_IPV6_IFNAME :
27660 + NEXTHOP_TYPE_IPV6;
27661 + break;
27662 + default:
27663 + assert(0);
27666 + mpls_out_segment_unregister (&out);
27669 +/* Register zebra server labelspace information. Send current all
27670 + labelspace information. */
27671 +void
27672 +zread_mpls_labelspace_add (struct zserv *client, u_short length)
27674 + listnode node;
27675 + struct zmpls_in_segment *in;
27676 + struct zmpls_out_segment *out;
27677 + int labelspace;
27679 + /* Interface information is needed. */
27680 + client->mplsinfo = 1;
27682 + for (labelspace = 0;labelspace < 256;labelspace++)
27684 + if (!mpls_labelspace_is_registered (labelspace))
27685 + continue;
27687 + zsend_mpls_labelspace_add (client, labelspace);
27690 + for (node = listhead (&mpls_in_segment_list); node; node = nextnode (node))
27692 + in = getdata (node);
27694 + zsend_mpls_in_segment_add (client, in);
27697 + for (node = listhead (&mpls_out_segment_list); node; node = nextnode (node))
27699 + out = getdata (node);
27701 + zsend_mpls_out_segment_add (client, out);
27705 +/* Unregister zebra server interface information. */
27706 +void
27707 +zread_mpls_labelspace_delete (struct zserv *client, u_short length)
27709 + client->mplsinfo = 0;
27712 /* Close zebra client. */
27713 void
27714 zebra_client_close (struct zserv *client)
27715 @@ -1504,6 +1927,12 @@
27717 switch (command)
27719 + case ZEBRA_ROUTER_ID_ADD:
27720 + zread_router_id_add (client, length);
27721 + break;
27722 + case ZEBRA_ROUTER_ID_DELETE:
27723 + zread_router_id_delete (client, length);
27724 + break;
27725 case ZEBRA_INTERFACE_ADD:
27726 zread_interface_add (client, length);
27727 break;
27728 @@ -1547,6 +1976,30 @@
27729 case ZEBRA_IPV4_IMPORT_LOOKUP:
27730 zread_ipv4_import_lookup (client, length);
27731 break;
27732 + case ZEBRA_MPLS_XC_ADD:
27733 + zread_mpls_xc_add (client, length);
27734 + break;
27735 + case ZEBRA_MPLS_XC_DELETE:
27736 + zread_mpls_xc_delete (client, length);
27737 + break;
27738 + case ZEBRA_MPLS_IN_SEGMENT_ADD:
27739 + zread_mpls_in_segment_add (client, length);
27740 + break;
27741 + case ZEBRA_MPLS_IN_SEGMENT_DELETE:
27742 + zread_mpls_in_segment_delete (client, length);
27743 + break;
27744 + case ZEBRA_MPLS_OUT_SEGMENT_ADD:
27745 + zread_mpls_out_segment_add (client, length);
27746 + break;
27747 + case ZEBRA_MPLS_OUT_SEGMENT_DELETE:
27748 + zread_mpls_out_segment_delete (client, length);
27749 + break;
27750 + case ZEBRA_MPLS_LABELSPACE_ADD:
27751 + zread_mpls_labelspace_add (client, length);
27752 + break;
27753 + case ZEBRA_MPLS_LABELSPACE_DELETE:
27754 + zread_mpls_labelspace_delete (client, length);
27755 + break;
27756 default:
27757 zlog_info ("Zebra received unknown command %d", command);
27758 break;
27759 diff --exclude=rsvpd -uNr quagga/zebra/zserv.h quagga-mpls/zebra/zserv.h
27760 --- quagga/zebra/zserv.h 2004-02-25 13:47:53.000000000 -0600
27761 +++ quagga-mpls/zebra/zserv.h 2004-07-14 22:58:51.716389528 -0500
27762 @@ -22,6 +22,9 @@
27763 #ifndef _ZEBRA_ZSERV_H
27764 #define _ZEBRA_ZSERV_H
27766 +#include "mpls_vty.h"
27767 +#include "rib.h"
27769 /* Default port information. */
27770 #define ZEBRA_PORT 2600
27771 #define ZEBRA_VTY_PORT 2601
27772 @@ -54,6 +57,12 @@
27774 /* Interface information. */
27775 u_char ifinfo;
27777 + /* Router-id information. */
27778 + u_char ridinfo;
27780 + /* MPLS in/out segment and XCs */
27781 + u_char mplsinfo;
27784 /* Zebra instance */
27785 @@ -142,6 +151,33 @@
27787 #endif /* HAVE_IPV6 */
27789 +int
27790 +zsend_router_id_update(struct zserv *, struct prefix *);
27792 +int
27793 +zsend_mpls_xc_add (struct zserv *client, struct zmpls_xc *p);
27795 +int
27796 +zsend_mpls_xc_delete (struct zserv *client, struct zmpls_xc *p);
27798 +int
27799 +zsend_mpls_in_segment_add (struct zserv *client, struct zmpls_in_segment *p);
27801 +int
27802 +zsend_mpls_in_segment_delete (struct zserv *client, struct zmpls_in_segment *p);
27804 +int
27805 +zsend_mpls_out_segment_add (struct zserv *client, struct zmpls_out_segment *p);
27807 +int
27808 +zsend_mpls_out_segment_delete (struct zserv *client, struct zmpls_out_segment *p);
27810 +int
27811 +zsend_mpls_labelspace_add (struct zserv *client, int labelspace);
27813 +int
27814 +zsend_mpls_labelspace_delete (struct zserv *client, int labelspace);
27816 extern pid_t pid;
27817 extern pid_t old_pid;