Modify the documentation so that it talks about FRR instead of Quagga.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
doc/vtysh.1
doc/watchfrr.8
doc/zebra.8
- doc/quagga.1
+ doc/frr.1
pkgsrc/bgpd.sh pkgsrc/ospf6d.sh pkgsrc/ospfd.sh
pkgsrc/ripd.sh pkgsrc/ripngd.sh pkgsrc/zebra.sh])
Makefile.in
mdate-sh
draft-zebra-00.txt
-quagga.info-*
+frr.info-*
zebra.html
defines.texi
version.texi
texinfo.tex
-quagga.html
-quagga.info
+frr.html
+frr.info
*.pdf
*.eps
-quagga.ps
-quagga.dvi
+frr.ps
+frr.dvi
stamp-vti
.nfs*
*.aux
*.toc
*.tp
*.vr
+*.8
+*.1
.arch-inventory
.arch-ids
*~
#
# Here we use 'convert' from the well known 'ImageMagick' package
# to do conversion from png to eps/pdf for figures.
-# PDF form is required for quagga.pdf, using PDFTex at least.
+# PDF form is required for frr.pdf, using PDFTex at least.
#
# TeX implementation, which we depend on already anyway.
#
EPSTOPDF = epstopdf
VNCFIGURES_PNG =
-VNCFIGURES_DIA = -vnc-mesh -vnc-quagga-route-reflector \
+VNCFIGURES_DIA = -vnc-mesh -vnc-frr-route-reflector \
-vnc-commercial-route-reflector -vnc-redundant-route-reflectors \
-vnc-gw -vnc-gw-rr
figures_txt = $(figures_names_parts:%=fig%.txt)
# rather twisted logic because we have to build PDFs of the EPS figures for
-# PDFTex and yet build one PDF, quagga.pdf, from texi source. Which means we
+# PDFTex and yet build one PDF, frr.pdf, from texi source. Which means we
# cant rely on a single automatic rule for *.pdf, eg the one automatically
# provided by automake. If you are an automake wizard, please feel free to
# compact it somehow.
# Built from defines.texi.in
BUILT_SOURCES = defines.texi
-info_TEXINFOS = quagga.texi
+info_TEXINFOS = frr.texi
-# Have to manually specify the quagga.pdf rule in order to allow
+# Have to manually specify the frr.pdf rule in order to allow
# us to have a generic automatic .pdf rule to build the figure sources
# because it cant just work from the png's directly it seems - contrary
# to the documentation...
-quagga.pdf: $(info_TEXINFOS) $(figures_pdf) $(quagga_TEXINFOS)
+frr.pdf: $(info_TEXINFOS) $(figures_pdf) $(frr_TEXINFOS)
$(TEXI2PDF) -o "$@" $< || true
-quagga_TEXINFOS = appendix.texi basic.texi bgpd.texi isisd.texi filter.texi \
+frr_TEXINFOS = appendix.texi basic.texi bgpd.texi isisd.texi filter.texi \
vnc.texi \
install.texi ipv6.texi kernel.texi main.texi ospf6d.texi ospfd.texi \
overview.texi protocol.texi ripd.texi ripngd.texi routemap.texi \
.dia.png:
$(DIATOPNG) "$@" $<
-man_MANS = quagga.1
+man_MANS = frr.1
if PIMD
man_MANS += pimd.8
vtysh.1.in \
watchfrr.8.in \
zebra.8.in \
- quagga.1.in \
+ frr.1.in \
\
mpls/ChangeLog.opaque.txt mpls/cli_summary.txt \
mpls/opaque_lsa.txt mpls/ospfd.conf \
If you want to log into a file, please specify @code{filename} as
in this example:
@example
-log file /var/log/quagga/bgpd.log informational
+log file /var/log/frr/bgpd.log informational
@end example
If the optional second argument specifying the
logging level is not present, the default logging level (typically debugging,
Note: if you do not configure any file logging, and a daemon crashes due
to a signal or an assertion failure, it will attempt to save the crash
-information in a file named /var/tmp/quagga.<daemon name>.crashlog.
+information in a file named /var/tmp/frr.<daemon name>.crashlog.
For security reasons, this will not happen if the file exists already, so
it is important to delete the file after reporting the crash information.
@end deffn
@c -*-texinfo-*-
-@c This is part of the Quagga Manual.
+@c This is part of the Frr Manual.
@c @value{COPYRIGHT_STR}
@c Portions:
@c Copyright @copyright{} 2015 Hewlett Packard Enterprise Development LP
-@c See file quagga.texi for copying conditions.
+@c See file frr.texi for copying conditions.
@node BGP
@chapter BGP
@node BGP decision process
@subsection BGP decision process
-The decision process Quagga BGP uses to select routes is as follows:
+The decision process Frr BGP uses to select routes is as follows:
@table @asis
@item 1. Weight check
cause subtle convergence problems in BGP. These properties and problems
have proven to be hard to understand, at least historically, and may still
not be widely understood. The following attempts to collect together and
-present what is known about MED, to help operators and Quagga users in
+present what is known about MED, to help operators and Frr users in
designing and configuring their networks.
The BGP @acronym{MED, Multi_Exit_Discriminator} attribute is intended to
administrators, with different frames of reference.
The default behaviour of BGP therefore is to not compare MED values across
-routes received from different neighbouring ASes. In Quagga this is done by
+routes received from different neighbouring ASes. In Frr this is done by
comparing the neighbouring, left-most AS in the received AS_PATHs of the
routes and only comparing MED if those are the same.
A deterministic order of evaluation tends to imply an additional overhead of
sorting over any set of n routes to a destination. The implementation of
-deterministic MED in Quagga scales significantly worse than most sorting
+deterministic MED in Frr scales significantly worse than most sorting
algorithms at present, with the number of paths to a given destination.
That number is often low enough to not cause any issues, but where there are
many paths, the deterministic comparison may quickly become increasingly
This particular type of oscillation in full-mesh iBGP topologies can be
avoided by speakers preferring already selected, external routes rather than
choosing to update to new a route based on a post-MED metric (e.g.
-router-ID), at the cost of a non-deterministic selection process. Quagga
+router-ID), at the cost of a non-deterministic selection process. Frr
implements this, as do many other implementations, so long as it is not
overridden by setting @ref{bgp bestpath compare-routerid}, and see also
@ref{BGP decision process}, .
in.
Setting this option will have a performance cost that may be noticeable when
-there are many routes for each destination. Currently in Quagga it is
+there are many routes for each destination. Currently in Frr it is
implemented in a way that scales poorly as the number of routes per
destination increases.
Negotiation packets (at least not unless other optional BGP features
require capability negotation).
-By default, Quagga will bring up peering with minimal common capability
+By default, Frr will bring up peering with minimal common capability
for the both sides. For example, local router has unicast and
multicast capabilitie and remote router has unicast capability. In
this case, the local router will establish the connection with unicast
-only capability. When there are no common capabilities, Quagga sends
+only capability. When there are no common capabilities, Frr sends
Unsupported Capability error and then resets the connection.
If you want to completely match capabilities with remote peer. Please
``network'' and ``aggregate-address'' argument is displayed as
``A.B.C.D M.M.M.M''
-Quagga: network 10.0.0.0/8
+Frr: network 10.0.0.0/8
Cisco: network 10.0.0.0
-Quagga: aggregate-address 192.168.0.0/24
+Frr: aggregate-address 192.168.0.0/24
Cisco: aggregate-address 192.168.0.0 255.255.255.0
Community attribute handling is also different. If there is no
@end example
@deffn {Command} {bgp config-type zebra} {}
-Quagga style BGP configuration. This is default.
+Frr style BGP configuration. This is default.
@end deffn
@node BGP instance and view
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
+ <dia:diagramdata>
+ <dia:attribute name="background">
+ <dia:color val="#ffffff"/>
+ </dia:attribute>
+ <dia:attribute name="pagebreak">
+ <dia:color val="#000099"/>
+ </dia:attribute>
+ <dia:attribute name="paper">
+ <dia:composite type="paper">
+ <dia:attribute name="name">
+ <dia:string>#Letter#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="tmargin">
+ <dia:real val="2.5399999618530273"/>
+ </dia:attribute>
+ <dia:attribute name="bmargin">
+ <dia:real val="2.5399999618530273"/>
+ </dia:attribute>
+ <dia:attribute name="lmargin">
+ <dia:real val="2.5399999618530273"/>
+ </dia:attribute>
+ <dia:attribute name="rmargin">
+ <dia:real val="2.5399999618530273"/>
+ </dia:attribute>
+ <dia:attribute name="is_portrait">
+ <dia:boolean val="true"/>
+ </dia:attribute>
+ <dia:attribute name="scaling">
+ <dia:real val="1"/>
+ </dia:attribute>
+ <dia:attribute name="fitto">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="grid">
+ <dia:composite type="grid">
+ <dia:attribute name="width_x">
+ <dia:real val="1"/>
+ </dia:attribute>
+ <dia:attribute name="width_y">
+ <dia:real val="1"/>
+ </dia:attribute>
+ <dia:attribute name="visible_x">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:attribute name="visible_y">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:composite type="color"/>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#d8e5e5"/>
+ </dia:attribute>
+ <dia:attribute name="guides">
+ <dia:composite type="guides">
+ <dia:attribute name="hguides"/>
+ <dia:attribute name="vguides"/>
+ </dia:composite>
+ </dia:attribute>
+ </dia:diagramdata>
+ <dia:layer name="Background" visible="true" active="true">
+ <dia:object type="Standard - Box" version="0" id="O0">
+ <dia:attribute name="obj_pos">
+ <dia:point val="57.2301,39.145"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="57.1801,39.095;64.0901,42.445"/>
+ </dia:attribute>
+ <dia:attribute name="elem_corner">
+ <dia:point val="57.2301,39.145"/>
+ </dia:attribute>
+ <dia:attribute name="elem_width">
+ <dia:real val="6.8100000000000023"/>
+ </dia:attribute>
+ <dia:attribute name="elem_height">
+ <dia:real val="3.2500000000000018"/>
+ </dia:attribute>
+ <dia:attribute name="show_background">
+ <dia:boolean val="true"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Box" version="0" id="O1">
+ <dia:attribute name="obj_pos">
+ <dia:point val="57.2301,34.2475"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="57.1801,34.1975;64.0901,37.5475"/>
+ </dia:attribute>
+ <dia:attribute name="elem_corner">
+ <dia:point val="57.2301,34.2475"/>
+ </dia:attribute>
+ <dia:attribute name="elem_width">
+ <dia:real val="6.8100000000000023"/>
+ </dia:attribute>
+ <dia:attribute name="elem_height">
+ <dia:real val="3.2500000000000018"/>
+ </dia:attribute>
+ <dia:attribute name="show_background">
+ <dia:boolean val="true"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Box" version="0" id="O2">
+ <dia:attribute name="obj_pos">
+ <dia:point val="57.2301,29.35"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="57.1801,29.3;64.0901,32.65"/>
+ </dia:attribute>
+ <dia:attribute name="elem_corner">
+ <dia:point val="57.2301,29.35"/>
+ </dia:attribute>
+ <dia:attribute name="elem_width">
+ <dia:real val="6.8100000000000023"/>
+ </dia:attribute>
+ <dia:attribute name="elem_height">
+ <dia:real val="3.2500000000000018"/>
+ </dia:attribute>
+ <dia:attribute name="show_background">
+ <dia:boolean val="true"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Box" version="0" id="O3">
+ <dia:attribute name="obj_pos">
+ <dia:point val="2.1126,39.295"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="2.0626,39.245;8.9726,42.595"/>
+ </dia:attribute>
+ <dia:attribute name="elem_corner">
+ <dia:point val="2.1126,39.295"/>
+ </dia:attribute>
+ <dia:attribute name="elem_width">
+ <dia:real val="6.8100000000000023"/>
+ </dia:attribute>
+ <dia:attribute name="elem_height">
+ <dia:real val="3.2500000000000018"/>
+ </dia:attribute>
+ <dia:attribute name="show_background">
+ <dia:boolean val="true"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Box" version="0" id="O4">
+ <dia:attribute name="obj_pos">
+ <dia:point val="2.1126,34.3975"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="2.0626,34.3475;8.9726,37.6975"/>
+ </dia:attribute>
+ <dia:attribute name="elem_corner">
+ <dia:point val="2.1126,34.3975"/>
+ </dia:attribute>
+ <dia:attribute name="elem_width">
+ <dia:real val="6.8100000000000023"/>
+ </dia:attribute>
+ <dia:attribute name="elem_height">
+ <dia:real val="3.2500000000000018"/>
+ </dia:attribute>
+ <dia:attribute name="show_background">
+ <dia:boolean val="true"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Box" version="0" id="O5">
+ <dia:attribute name="obj_pos">
+ <dia:point val="2.1126,29.5"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="2.0626,29.45;8.9726,32.8"/>
+ </dia:attribute>
+ <dia:attribute name="elem_corner">
+ <dia:point val="2.1126,29.5"/>
+ </dia:attribute>
+ <dia:attribute name="elem_width">
+ <dia:real val="6.8100000000000023"/>
+ </dia:attribute>
+ <dia:attribute name="elem_height">
+ <dia:real val="3.2500000000000018"/>
+ </dia:attribute>
+ <dia:attribute name="show_background">
+ <dia:boolean val="true"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Line" version="0" id="O6">
+ <dia:attribute name="obj_pos">
+ <dia:point val="22.5347,32.178"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="22.4642,23.359;30.091,32.2485"/>
+ </dia:attribute>
+ <dia:attribute name="conn_endpoints">
+ <dia:point val="22.5347,32.178"/>
+ <dia:point val="30.0205,23.4295"/>
+ </dia:attribute>
+ <dia:attribute name="numcp">
+ <dia:int val="1"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Line" version="0" id="O7">
+ <dia:attribute name="obj_pos">
+ <dia:point val="43.1205,32.4705"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="36.8099,23.3599;43.1901,32.5401"/>
+ </dia:attribute>
+ <dia:attribute name="conn_endpoints">
+ <dia:point val="43.1205,32.4705"/>
+ <dia:point val="36.8795,23.4295"/>
+ </dia:attribute>
+ <dia:attribute name="numcp">
+ <dia:int val="1"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O8">
+ <dia:attribute name="obj_pos">
+ <dia:point val="16.5501,5.5"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="16.5501,4.905;16.5501,5.6525"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.80000000000000004"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="16.5501,5.5"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="3"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O9">
+ <dia:attribute name="obj_pos">
+ <dia:point val="5.5176,31.125"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="3.29385,30.5113;7.76004,32.1149"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#NVE 4
+VN 172.16.4.1#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.80000000000000004"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="5.5176,31.125"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="3"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O5" connection="8"/>
+ </dia:connections>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O10">
+ <dia:attribute name="obj_pos">
+ <dia:point val="5.5176,36.0225"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="2.88385,35.4088;8.17004,37.0124"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#NVE 5
+VN 172.16.130.1#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.80000000000000004"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="5.5176,36.0225"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="3"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O4" connection="8"/>
+ </dia:connections>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O11">
+ <dia:attribute name="obj_pos">
+ <dia:point val="5.5176,40.92"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="2.8826,40.3063;8.17129,41.9099"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#NVE 6
+VN 172.16.132.1#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.80000000000000004"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="5.5176,40.92"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="3"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O3" connection="8"/>
+ </dia:connections>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O12">
+ <dia:attribute name="obj_pos">
+ <dia:point val="60.6351,30.975"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="58.4101,30.3613;62.8788,31.9649"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#NVE 7
+VN 172.16.6.1#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.80000000000000004"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="60.6351,30.975"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="3"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O2" connection="8"/>
+ </dia:connections>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O13">
+ <dia:attribute name="obj_pos">
+ <dia:point val="60.6351,35.8725"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="58.4101,35.2588;62.8788,36.8624"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#NVE 8
+VN 172.16.8.1#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.80000000000000004"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="60.6351,35.8725"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="3"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O1" connection="8"/>
+ </dia:connections>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O14">
+ <dia:attribute name="obj_pos">
+ <dia:point val="60.6351,40.77"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="58.0026,40.1563;63.2863,41.7599"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#NVE 9
+VN 172.16.134.1#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.80000000000000004"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="60.6351,40.77"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="3"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O0" connection="8"/>
+ </dia:connections>
+ </dia:object>
+ <dia:object type="Standard - Line" version="0" id="O15">
+ <dia:attribute name="obj_pos">
+ <dia:point val="8.9226,31.125"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="8.86406,31.0665;15.979,32.529"/>
+ </dia:attribute>
+ <dia:attribute name="conn_endpoints">
+ <dia:point val="8.9226,31.125"/>
+ <dia:point val="15.9205,32.4705"/>
+ </dia:attribute>
+ <dia:attribute name="numcp">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O5" connection="4"/>
+ <dia:connection handle="1" to="O23" connection="0"/>
+ </dia:connections>
+ </dia:object>
+ <dia:object type="Standard - Line" version="0" id="O16">
+ <dia:attribute name="obj_pos">
+ <dia:point val="8.9226,36.0225"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="8.87151,35.8489;14.5511,36.0736"/>
+ </dia:attribute>
+ <dia:attribute name="conn_endpoints">
+ <dia:point val="8.9226,36.0225"/>
+ <dia:point val="14.5,35.9"/>
+ </dia:attribute>
+ <dia:attribute name="numcp">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O4" connection="4"/>
+ <dia:connection handle="1" to="O23" connection="3"/>
+ </dia:connections>
+ </dia:object>
+ <dia:object type="Standard - Line" version="0" id="O17">
+ <dia:attribute name="obj_pos">
+ <dia:point val="8.9226,40.92"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="8.86276,39.2697;15.9803,40.9798"/>
+ </dia:attribute>
+ <dia:attribute name="conn_endpoints">
+ <dia:point val="8.9226,40.92"/>
+ <dia:point val="15.9205,39.3295"/>
+ </dia:attribute>
+ <dia:attribute name="numcp">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O3" connection="4"/>
+ <dia:connection handle="1" to="O23" connection="5"/>
+ </dia:connections>
+ </dia:object>
+ <dia:object type="Standard - Line" version="0" id="O18">
+ <dia:attribute name="obj_pos">
+ <dia:point val="57.2301,30.975"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="49.9204,30.9159;57.2892,32.5296"/>
+ </dia:attribute>
+ <dia:attribute name="conn_endpoints">
+ <dia:point val="57.2301,30.975"/>
+ <dia:point val="49.9795,32.4705"/>
+ </dia:attribute>
+ <dia:attribute name="numcp">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O2" connection="3"/>
+ <dia:connection handle="1" to="O25" connection="2"/>
+ </dia:connections>
+ </dia:object>
+ <dia:object type="Standard - Line" version="0" id="O19">
+ <dia:attribute name="obj_pos">
+ <dia:point val="57.2301,35.8725"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="51.3498,35.8223;57.2803,35.9502"/>
+ </dia:attribute>
+ <dia:attribute name="conn_endpoints">
+ <dia:point val="57.2301,35.8725"/>
+ <dia:point val="51.4,35.9"/>
+ </dia:attribute>
+ <dia:attribute name="numcp">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O1" connection="3"/>
+ <dia:connection handle="1" to="O25" connection="4"/>
+ </dia:connections>
+ </dia:object>
+ <dia:object type="Standard - Line" version="0" id="O20">
+ <dia:attribute name="obj_pos">
+ <dia:point val="57.2301,40.77"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="50.9399,37.8657;57.2963,40.8362"/>
+ </dia:attribute>
+ <dia:attribute name="conn_endpoints">
+ <dia:point val="57.2301,40.77"/>
+ <dia:point val="51.0061,37.9319"/>
+ </dia:attribute>
+ <dia:attribute name="numcp">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O0" connection="3"/>
+ <dia:connection handle="1" to="O25" connection="8"/>
+ </dia:connections>
+ </dia:object>
+ <dia:group>
+ <dia:object type="Standard - Ellipse" version="0" id="O21">
+ <dia:attribute name="obj_pos">
+ <dia:point val="28.6,15.15"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="28.55,15.1;38.35,24.9"/>
+ </dia:attribute>
+ <dia:attribute name="elem_corner">
+ <dia:point val="28.6,15.15"/>
+ </dia:attribute>
+ <dia:attribute name="elem_width">
+ <dia:real val="9.7000026702880859"/>
+ </dia:attribute>
+ <dia:attribute name="elem_height">
+ <dia:real val="9.7000026702880859"/>
+ </dia:attribute>
+ <dia:attribute name="aspect">
+ <dia:enum val="2"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O22">
+ <dia:attribute name="obj_pos">
+ <dia:point val="33.45,20"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="29.9225,19.405;36.9775,20.9525"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#BGP Route Reflector 1
+192.168.1.100#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.80000000000000004"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="33.45,20"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="3"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O21" connection="8"/>
+ </dia:connections>
+ </dia:object>
+ </dia:group>
+ <dia:group>
+ <dia:object type="Standard - Ellipse" version="0" id="O23">
+ <dia:attribute name="obj_pos">
+ <dia:point val="14.5,31.05"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="14.45,31;24.25,40.8"/>
+ </dia:attribute>
+ <dia:attribute name="elem_corner">
+ <dia:point val="14.5,31.05"/>
+ </dia:attribute>
+ <dia:attribute name="elem_width">
+ <dia:real val="9.7000007629394531"/>
+ </dia:attribute>
+ <dia:attribute name="elem_height">
+ <dia:real val="9.7000007629394531"/>
+ </dia:attribute>
+ <dia:attribute name="aspect">
+ <dia:enum val="2"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O24">
+ <dia:attribute name="obj_pos">
+ <dia:point val="19.35,35.9"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="17.0013,35.305;21.6988,36.8525"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#NVA 2
+192.168.1.101#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.80000000000000004"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="19.35,35.9"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="3"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O23" connection="8"/>
+ </dia:connections>
+ </dia:object>
+ </dia:group>
+ <dia:group>
+ <dia:object type="Standard - Ellipse" version="0" id="O25">
+ <dia:attribute name="obj_pos">
+ <dia:point val="41.7,31.05"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="41.65,31;51.45,40.8"/>
+ </dia:attribute>
+ <dia:attribute name="elem_corner">
+ <dia:point val="41.7,31.05"/>
+ </dia:attribute>
+ <dia:attribute name="elem_width">
+ <dia:real val="9.7000026702880859"/>
+ </dia:attribute>
+ <dia:attribute name="elem_height">
+ <dia:real val="9.7000026702880859"/>
+ </dia:attribute>
+ <dia:attribute name="aspect">
+ <dia:enum val="2"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O26">
+ <dia:attribute name="obj_pos">
+ <dia:point val="46.55,35.9"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="44.2012,35.305;48.8987,36.8525"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#NVA 3
+192.168.1.102#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.80000000000000004"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="46.55,35.9"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="3"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O25" connection="8"/>
+ </dia:connections>
+ </dia:object>
+ </dia:group>
+ </dia:layer>
+</dia:diagram>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
- <dia:diagramdata>
- <dia:attribute name="background">
- <dia:color val="#ffffff"/>
- </dia:attribute>
- <dia:attribute name="pagebreak">
- <dia:color val="#000099"/>
- </dia:attribute>
- <dia:attribute name="paper">
- <dia:composite type="paper">
- <dia:attribute name="name">
- <dia:string>#Letter#</dia:string>
- </dia:attribute>
- <dia:attribute name="tmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="bmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="lmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="rmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="is_portrait">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="scaling">
- <dia:real val="1"/>
- </dia:attribute>
- <dia:attribute name="fitto">
- <dia:boolean val="false"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="grid">
- <dia:composite type="grid">
- <dia:attribute name="width_x">
- <dia:real val="1"/>
- </dia:attribute>
- <dia:attribute name="width_y">
- <dia:real val="1"/>
- </dia:attribute>
- <dia:attribute name="visible_x">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="visible_y">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:composite type="color"/>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#d8e5e5"/>
- </dia:attribute>
- <dia:attribute name="guides">
- <dia:composite type="guides">
- <dia:attribute name="hguides"/>
- <dia:attribute name="vguides"/>
- </dia:composite>
- </dia:attribute>
- </dia:diagramdata>
- <dia:layer name="Background" visible="true" active="true">
- <dia:object type="Standard - Box" version="0" id="O0">
- <dia:attribute name="obj_pos">
- <dia:point val="57.2301,39.145"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="57.1801,39.095;64.0901,42.445"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="57.2301,39.145"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="6.8100000000000023"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="3.2500000000000018"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Box" version="0" id="O1">
- <dia:attribute name="obj_pos">
- <dia:point val="57.2301,34.2475"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="57.1801,34.1975;64.0901,37.5475"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="57.2301,34.2475"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="6.8100000000000023"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="3.2500000000000018"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Box" version="0" id="O2">
- <dia:attribute name="obj_pos">
- <dia:point val="57.2301,29.35"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="57.1801,29.3;64.0901,32.65"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="57.2301,29.35"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="6.8100000000000023"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="3.2500000000000018"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Box" version="0" id="O3">
- <dia:attribute name="obj_pos">
- <dia:point val="2.1126,39.295"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="2.0626,39.245;8.9726,42.595"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="2.1126,39.295"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="6.8100000000000023"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="3.2500000000000018"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Box" version="0" id="O4">
- <dia:attribute name="obj_pos">
- <dia:point val="2.1126,34.3975"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="2.0626,34.3475;8.9726,37.6975"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="2.1126,34.3975"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="6.8100000000000023"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="3.2500000000000018"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Box" version="0" id="O5">
- <dia:attribute name="obj_pos">
- <dia:point val="2.1126,29.5"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="2.0626,29.45;8.9726,32.8"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="2.1126,29.5"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="6.8100000000000023"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="3.2500000000000018"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O6">
- <dia:attribute name="obj_pos">
- <dia:point val="22.5347,32.178"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="22.4642,23.359;30.091,32.2485"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="22.5347,32.178"/>
- <dia:point val="30.0205,23.4295"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O7">
- <dia:attribute name="obj_pos">
- <dia:point val="43.1205,32.4705"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="36.8099,23.3599;43.1901,32.5401"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="43.1205,32.4705"/>
- <dia:point val="36.8795,23.4295"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O8">
- <dia:attribute name="obj_pos">
- <dia:point val="16.5501,5.5"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="16.5501,4.905;16.5501,5.6525"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>##</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="16.5501,5.5"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O9">
- <dia:attribute name="obj_pos">
- <dia:point val="5.5176,31.125"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="3.29385,30.5113;7.76004,32.1149"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#NVE 4
-VN 172.16.4.1#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="5.5176,31.125"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O5" connection="8"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O10">
- <dia:attribute name="obj_pos">
- <dia:point val="5.5176,36.0225"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="2.88385,35.4088;8.17004,37.0124"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#NVE 5
-VN 172.16.130.1#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="5.5176,36.0225"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O4" connection="8"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O11">
- <dia:attribute name="obj_pos">
- <dia:point val="5.5176,40.92"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="2.8826,40.3063;8.17129,41.9099"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#NVE 6
-VN 172.16.132.1#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="5.5176,40.92"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O3" connection="8"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O12">
- <dia:attribute name="obj_pos">
- <dia:point val="60.6351,30.975"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="58.4101,30.3613;62.8788,31.9649"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#NVE 7
-VN 172.16.6.1#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="60.6351,30.975"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O2" connection="8"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O13">
- <dia:attribute name="obj_pos">
- <dia:point val="60.6351,35.8725"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="58.4101,35.2588;62.8788,36.8624"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#NVE 8
-VN 172.16.8.1#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="60.6351,35.8725"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O1" connection="8"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O14">
- <dia:attribute name="obj_pos">
- <dia:point val="60.6351,40.77"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="58.0026,40.1563;63.2863,41.7599"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#NVE 9
-VN 172.16.134.1#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="60.6351,40.77"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O0" connection="8"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O15">
- <dia:attribute name="obj_pos">
- <dia:point val="8.9226,31.125"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="8.86406,31.0665;15.979,32.529"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="8.9226,31.125"/>
- <dia:point val="15.9205,32.4705"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O5" connection="4"/>
- <dia:connection handle="1" to="O23" connection="0"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O16">
- <dia:attribute name="obj_pos">
- <dia:point val="8.9226,36.0225"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="8.87151,35.8489;14.5511,36.0736"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="8.9226,36.0225"/>
- <dia:point val="14.5,35.9"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O4" connection="4"/>
- <dia:connection handle="1" to="O23" connection="3"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O17">
- <dia:attribute name="obj_pos">
- <dia:point val="8.9226,40.92"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="8.86276,39.2697;15.9803,40.9798"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="8.9226,40.92"/>
- <dia:point val="15.9205,39.3295"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O3" connection="4"/>
- <dia:connection handle="1" to="O23" connection="5"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O18">
- <dia:attribute name="obj_pos">
- <dia:point val="57.2301,30.975"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="49.9204,30.9159;57.2892,32.5296"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="57.2301,30.975"/>
- <dia:point val="49.9795,32.4705"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O2" connection="3"/>
- <dia:connection handle="1" to="O25" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O19">
- <dia:attribute name="obj_pos">
- <dia:point val="57.2301,35.8725"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="51.3498,35.8223;57.2803,35.9502"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="57.2301,35.8725"/>
- <dia:point val="51.4,35.9"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O1" connection="3"/>
- <dia:connection handle="1" to="O25" connection="4"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O20">
- <dia:attribute name="obj_pos">
- <dia:point val="57.2301,40.77"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="50.9399,37.8657;57.2963,40.8362"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="57.2301,40.77"/>
- <dia:point val="51.0061,37.9319"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O0" connection="3"/>
- <dia:connection handle="1" to="O25" connection="8"/>
- </dia:connections>
- </dia:object>
- <dia:group>
- <dia:object type="Standard - Ellipse" version="0" id="O21">
- <dia:attribute name="obj_pos">
- <dia:point val="28.6,15.15"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="28.55,15.1;38.35,24.9"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="28.6,15.15"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="9.7000026702880859"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="9.7000026702880859"/>
- </dia:attribute>
- <dia:attribute name="aspect">
- <dia:enum val="2"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O22">
- <dia:attribute name="obj_pos">
- <dia:point val="33.45,20"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="29.9225,19.405;36.9775,20.9525"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#BGP Route Reflector 1
-192.168.1.100#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="33.45,20"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O21" connection="8"/>
- </dia:connections>
- </dia:object>
- </dia:group>
- <dia:group>
- <dia:object type="Standard - Ellipse" version="0" id="O23">
- <dia:attribute name="obj_pos">
- <dia:point val="14.5,31.05"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="14.45,31;24.25,40.8"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="14.5,31.05"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="9.7000007629394531"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="9.7000007629394531"/>
- </dia:attribute>
- <dia:attribute name="aspect">
- <dia:enum val="2"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O24">
- <dia:attribute name="obj_pos">
- <dia:point val="19.35,35.9"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="17.0013,35.305;21.6988,36.8525"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#NVA 2
-192.168.1.101#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="19.35,35.9"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O23" connection="8"/>
- </dia:connections>
- </dia:object>
- </dia:group>
- <dia:group>
- <dia:object type="Standard - Ellipse" version="0" id="O25">
- <dia:attribute name="obj_pos">
- <dia:point val="41.7,31.05"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="41.65,31;51.45,40.8"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="41.7,31.05"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="9.7000026702880859"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="9.7000026702880859"/>
- </dia:attribute>
- <dia:attribute name="aspect">
- <dia:enum val="2"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O26">
- <dia:attribute name="obj_pos">
- <dia:point val="46.55,35.9"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="44.2012,35.305;48.8987,36.8525"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#NVA 3
-192.168.1.102#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="46.55,35.9"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O25" connection="8"/>
- </dia:connections>
- </dia:object>
- </dia:group>
- </dia:layer>
-</dia:diagram>
@comment node-name, next, previous, up
@chapter Filtering
-Quagga provides many very flexible filtering features. Filtering is used
+Frr provides many very flexible filtering features. Filtering is used
for both input and output of the routing information. Once filtering is
defined, it can be applied in any direction.
--- /dev/null
+.TH Frr 1 "27 July 2006" "@PACKAGE_FULLNAME@ Systemd Script" "Version @PACKAGE_VERSION@"
+.SH NAME
+frr \- a systemd interaction script
+.SH SYNOPSIS
+.B frr
+[
+.B start
+]
+.br
+.B frr
+[
+.B stop
+]
+.br
+.B frr
+[
+.B reload
+]
+.br
+.B frr
+[
+.B restart
+]
+.br
+.B frr
+[
+.B status
+]
+.br
+.SH DESCRIPTION
+.B @PACKAGE_NAME@
+is a systemd interaction script for the
+.B @PACKAGE_FULLNAME@
+routing engine.
+.SH OPTIONS
+Options available for the
+.B frr
+command:
+.IP start
+Start enabled Frr daemons
+.IP stop
+Stop enabled Frr daemons
+.IP reload
+Reload modified configuration files
+.IP restart
+Stop all running daemons and then restart them
+.IP status
+Status of all the daemons
+.SH "SEE ALSO"
+.BR bgpd (8),
+.BR ripd (8),
+.BR ripngd (8),
+.BR ospfd (8),
+.BR ospf6d (8),
+.BR isisd (8),
+.BR zebra (8)
+.SH BUGS
+.B frr
+eats bugs for breakfast. If you have food for the maintainers try
+.BI @PACKAGE_BUGREPORT@
+.SH AUTHORS
+See
+.BI @PACKAGE_URL@
+or the Info file for an accurate list of authors.
+
--- /dev/null
+\input texinfo @c -*- texinfo -*-
+
+@c Set variables - sourced from defines.texi
+@include defines.texi
+
+@c %**start of header
+@setfilename frr.info
+@c Set variables - sourced from defines.texi
+@include defines.texi
+@settitle @uref{http://www.freerangerouting.net,,@value{PACKAGE_NAME}}
+@c %**end of header
+
+@c automake will automatically generate version.texi
+@c and set EDITION, VERSION, UPDATED and UPDATED-MONTH
+@include version.texi
+
+@copying
+@value{COPYRIGHT_STR}
+@quotation
+
+Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that this permission notice may be stated in a translation
+approved by Kunihiro Ishiguro.
+
+@end quotation
+@end copying
+
+@c Info entry
+@dircategory Routing Software:
+@direntry
+* @value{PACKAGE_NAME}: (frr). The Frr Suite
+@end direntry
+
+@c @smallbook
+
+@ifinfo
+This file documents the Frr Software Routing Suite which manages common
+TCP/IP routing protocols.
+
+This is Edition @value{EDITION}, last updated @value{UPDATED} of
+@cite{The Frr Manual}, for @uref{http://www.freerangerouting.net/,,@value{PACKAGE_NAME}}
+Version @value{VERSION}.
+
+@insertcopying
+@end ifinfo
+
+@titlepage
+@title @uref{http://www.freerangerouting.net,,Frr}
+@subtitle A routing software package for TCP/IP networks
+@subtitle @uref{http://www.freerangerouting.net,,@value{PACKAGE_NAME}} @value{VERSION}
+@subtitle @value{UPDATED-MONTH}
+@author @value{AUTHORS}
+
+@page
+@vskip 0pt plus 1filll
+
+@insertcopying
+@end titlepage
+@page
+
+@ifnottex
+@node Top
+@top Frr -- With Virtual Network Control
+
+@uref{http://www.freerangerouting.net,,Frr} is an advanced routing software package
+that provides a suite of TCP/IP based routing protocols. This is the Manual
+for @value{PACKAGE_STRING}. @uref{http://www.freerangerouting.net,,Frr} is a fork of
+@uref{http://www.quagga.net,,Quagga}.
+
+@insertcopying
+@end ifnottex
+
+@menu
+* Overview::
+* Installation::
+* Basic commands::
+* Zebra::
+* RIP::
+* RIPng::
+* OSPFv2::
+* OSPFv3::
+* ISIS::
+* BGP::
+* Configuring Frr as a Route Server::
+* VNC and VNC-GW::
+* VTY shell::
+* Filtering::
+* Route Map::
+* IPv6 Support::
+* Kernel Interface::
+* SNMP Support::
+* Zebra Protocol::
+* Packet Binary Dump Format::
+* Command Index::
+* VTY Key Index::
+* Index::
+@end menu
+@contents
+
+@include overview.texi
+@include install.texi
+@include basic.texi
+@include main.texi
+@include ripd.texi
+@include ripngd.texi
+@include ospfd.texi
+@include ospf6d.texi
+@include isisd.texi
+@include bgpd.texi
+@include routeserver.texi
+@include vnc.texi
+@include vtysh.texi
+@include filter.texi
+@include routemap.texi
+@include ipv6.texi
+@include kernel.texi
+@include snmp.texi
+@include protocol.texi
+@include appendix.texi
+
+@node Command Index
+@unnumbered Command Index
+
+@printindex fn
+
+@node VTY Key Index
+@unnumbered VTY Key Index
+
+@printindex ky
+
+@node Index
+@unnumbered Index
+
+@printindex cp
+@bye
@node Installation
@chapter Installation
-@cindex How to install Quagga
+@cindex How to install Frr
@cindex Installation
-@cindex Installing Quagga
+@cindex Installing Frr
@cindex Building the system
-@cindex Making Quagga
+@cindex Making Frr
There are three steps for installing the software: configuration,
compilation, and installation.
* Install the Software::
@end menu
-The easiest way to get Quagga running is to issue the following
+The easiest way to get Frr running is to issue the following
commands:
@example
@cindex Distribution configuration
@cindex Options to @code{./configure}
-Quagga has an excellent configure script which automatically detects most
+Frr has an excellent configure script which automatically detects most
host configurations. There are several additional configure options to
customize the build to include or exclude specific features and dependencies.
@node Least-Privilege support
@subsection Least-Privilege support
-@cindex Quagga Least-Privileges
-@cindex Quagga Privileges
+@cindex Frr Least-Privileges
+@cindex Frr Privileges
Additionally, you may configure zebra to drop its elevated privileges
shortly after startup and switch to another user. The configure script will
automatically try to configure this support. There are three configure
-options to control the behaviour of Quagga daemons.
+options to control the behaviour of Frr daemons.
@table @option
@item --enable-user=@var{user}
this group.
@end table
-The default user and group which will be configured is 'quagga' if no user
+The default user and group which will be configured is 'frr' if no user
or group is specified. Note that this user or group requires write access to
the local state directory (see --localstatedir) and requires at least read
access, and write access if you wish to allow daemons to write out their
configuration, to the configuration directory (see --sysconfdir).
On systems which have the 'libcap' capabilities manipulation library
-(currently only linux), the quagga system will retain only minimal
+(currently only linux), the frr system will retain only minimal
capabilities required, further it will only raise these capabilities for
-brief periods. On systems without libcap, quagga will run as the user
+brief periods. On systems without libcap, frr will run as the user
specified and only raise its uid back to uid 0 for brief periods.
@node Linux notes
@subsection Linux Notes
-@cindex Configuring Quagga
+@cindex Configuring Frr
@cindex Building on Linux boxes
@cindex Linux configurations
There are several options available only to @sc{gnu}/Linux systems:
@footnote{@sc{gnu}/Linux has very flexible kernel configuration features}. If
you use @sc{gnu}/Linux, make sure that the current kernel configuration is
-what you want. Quagga will run with any kernel configuration but some
+what you want. Frr will run with any kernel configuration but some
recommendations do exist.
@table @var
@end table
IPv6 support has been added in @sc{gnu}/Linux kernel version 2.2. If you
-try to use the Quagga IPv6 feature on a @sc{gnu}/Linux kernel, please
+try to use the Frr IPv6 feature on a @sc{gnu}/Linux kernel, please
make sure the following libraries have been installed. Please note that
these libraries will not be needed when you uses @sc{gnu} C library 2.1
or upper.
installation process has completed, these files have been copied
from your work directory to @file{/usr/local/bin}, and @file{/usr/local/etc}.
-To install the Quagga suite, issue the following command at your shell
+To install the Frr suite, issue the following command at your shell
prompt: @command{make install}.
@example
%
@end example
-Quagga daemons have their own terminal interface or VTY. After
+Frr daemons have their own terminal interface or VTY. After
installation, you have to setup each beast's port number to connect to
them. Please add the following entries to @file{/etc/services}.
@node IPv6 Support
@chapter IPv6 Support
-Quagga fully supports IPv6 routing. As described so far, Quagga supports
+Frr fully supports IPv6 routing. As described so far, Frr supports
RIPng, OSPFv3, and BGP-4+. You can give IPv6 addresses to an interface
-and configure static IPv6 routing information. Quagga IPv6 also provides
+and configure static IPv6 routing information. Frr IPv6 also provides
automatic address configuration via a feature called @code{address
auto configuration}. To do it, the router must send router advertisement
messages to the all nodes that exist on the network.
-Previous versions of Quagga could be built without IPv6 support. This is
+Previous versions of Frr could be built without IPv6 support. This is
no longer possible.
@menu
@item netlink
On recent Linux kernels (2.0.x and 2.2.x), there is a kernel/user
communication support called @code{netlink}. It makes asynchronous
-communication between kernel and Quagga possible, similar to a routing
+communication between kernel and Frr possible, similar to a routing
socket on BSD systems.
Before you use this feature, be sure to select (in kernel configuration)
Today, the /dev/route special device file is obsolete. Netlink
communication is done by reading/writing over netlink socket.
-After the kernel configuration, please reconfigure and rebuild Quagga.
-You can use netlink as a dynamic routing update channel between Quagga
+After the kernel configuration, please reconfigure and rebuild Frr.
+You can use netlink as a dynamic routing update channel between Frr
and the kernel.
@end table
# ip -6 route add 3:3:3::3/128 via 2001:db8:4::3
```
-6 - Edit /etc/quagga/ospfd.conf:
+6 - Edit /etc/frr/ospfd.conf:
```
router ospf
network 4.4.4.4/32 area 0.0.0.0
!
```
-7 - Edit /etc/quagga/ldpd.conf:
+7 - Edit /etc/frr/ldpd.conf:
```
debug mpls ldp messages recv
debug mpls ldp messages sent
# route -n add 2:2:2::2/128 2001:db8:2::2
```
-6 - Edit /etc/quagga/ospfd.conf:
+6 - Edit /etc/frr/ospfd.conf:
```
router ospf
network 10.0.2.3/24 area 0
!
```
-7 - Edit /etc/quagga/ldpd.conf:
+7 - Edit /etc/frr/ldpd.conf:
```
debug mpls ldp messages recv
debug mpls ldp messages sent
This table is fully separate from the default unicast table. However,
RPF lookup can include the unicast table.
-WARNING: RPF lookup results are non-responsive in this version of Quagga,
+WARNING: RPF lookup results are non-responsive in this version of Frr,
i.e. multicast routing does not actively react to changes in underlying
unicast topology!
@node zebra Route Filtering
@section zebra Route Filtering
Zebra supports @command{prefix-list} and @command{route-map} to match
-routes received from other quagga components. The
+routes received from other frr components. The
@command{permit}/@command{deny} facilities provided by these commands
can be used to filter which routes zebra will install in the kernel.
@section zebra FIB push interface
Zebra supports a 'FIB push' interface that allows an external
-component to learn the forwarding information computed by the Quagga
+component to learn the forwarding information computed by the Frr
routing suite.
-In Quagga, the Routing Information Base (RIB) resides inside
+In Frr, the Routing Information Base (RIB) resides inside
zebra. Routing protocols communicate their best routes to zebra, and
zebra computes the best route across protocols for each prefix. This
latter information makes up the Forwarding Information Base
(FIB). Zebra feeds the FIB to the kernel, which allows the IP stack in
the kernel to forward packets according to the routes computed by
-Quagga. The kernel FIB is updated in an OS-specific way. For example,
+Frr. The kernel FIB is updated in an OS-specific way. For example,
the @code{netlink} interface is used on Linux, and route sockets are
used on FreeBSD.
kernel continues to receive FIB updates as before.
The encapsulation header for the messages exchanged with the FPM is
-defined by the file @file{fpm/fpm.h} in the quagga tree. The routes
+defined by the file @file{fpm/fpm.h} in the frr tree. The routes
themselves are encoded in netlink or protobuf format, with netlink
being the default.
0. Introduction
This is the design specification for next hop tracking feature in
-Quagga.
+Frr.
1. Background
5. User interface changes
-quagga# show ip nht
+frr# show ip nht
3.3.3.3
resolved via kernel
via 11.0.0.6, swp1
via 10.0.1.2, eth0
Client list: bgp(fd 12)
-quagga# show ip bgp nexthop
+frr# show ip bgp nexthop
Current BGP nexthop cache:
3.3.3.3 valid [IGP metric 0], #paths 3
Last update: Wed Oct 16 04:43:49 2013
11.11.11.11 valid [IGP metric 0], #paths 1
Last update: Wed Oct 16 04:43:47 2013
-quagga# show ipv6 nht
-quagga# show ip bgp nexthop detail
+frr# show ipv6 nht
+frr# show ip bgp nexthop detail
-quagga# debug bgp nht
-quagga# debug zebra nht
+frr# debug bgp nht
+frr# debug zebra nht
6. Sample test cases
to ensure routing-loops are avoided.
With the "Cisco" or "IBM" ABR type, the default in this release of
-Quagga, this restriction is lifted, allowing an ABR to consider
+Frr, this restriction is lifted, allowing an ABR to consider
summaries learnt from other ABRs through non-backbone areas, and hence
route via non-backbone areas as a last resort when, and only when,
backbone links are down.
hold-time increasing by 400ms each time an SPF-triggering event occurs
within the hold-time of the previous SPF calculation.
-This command supercedes the @command{timers spf} command in previous Quagga
+This command supercedes the @command{timers spf} command in previous Frr
releases.
@end deffn
announced to other areas. This command can be used only in ABR and ONLY
router-LSAs (Type-1) and network-LSAs (Type-2) (ie. LSAs with scope area) can
be summarized. Type-5 AS-external-LSAs can't be summarized - their scope is AS.
-Summarizing Type-7 AS-external-LSAs isn't supported yet by Quagga.
+Summarizing Type-7 AS-external-LSAs isn't supported yet by Frr.
@example
@group
@group
!
password ABCDEF
-log file /var/log/quagga/ospfd.log
+log file /var/log/frr/ospfd.log
service advanced-vty
!
interface eth0
@chapter Overview
@cindex Overview
- @uref{http://www.quagga.net,,Quagga} is a routing software package that
+ @uref{http://www.freerangerouting.net,,Frr} is a routing software package that
provides TCP/IP based routing services with routing protocols support such
as RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, IS-IS, BGP-4, and BGP-4+ (@pxref{Supported
-RFCs}). Quagga also supports special BGP Route Reflector and Route Server
-behavior. In addition to traditional IPv4 routing protocols, Quagga also
+RFCs}). Frr also supports special BGP Route Reflector and Route Server
+behavior. In addition to traditional IPv4 routing protocols, Frr also
supports IPv6 routing protocols. With SNMP daemon which supports SMUX and AgentX
-protocol, Quagga provides routing protocol MIBs (@pxref{SNMP Support}).
+protocol, Frr provides routing protocol MIBs (@pxref{SNMP Support}).
- Quagga uses an advanced software architecture to provide you with a high
-quality, multi server routing engine. Quagga has an interactive user
+ Frr uses an advanced software architecture to provide you with a high
+quality, multi server routing engine. Frr has an interactive user
interface for each routing protocol and supports common client commands.
-Due to this design, you can add new protocol daemons to Quagga easily. You
-can use Quagga library as your program's client user interface.
+Due to this design, you can add new protocol daemons to Frr easily. You
+can use Frr library as your program's client user interface.
- Quagga is distributed under the @sc{gnu} General Public License.
+ Frr is distributed under the @sc{gnu} General Public License.
@menu
-* About Quagga:: Basic information about Quagga
-* System Architecture:: The Quagga system architecture
+* About Frr:: Basic information about Frr
+* System Architecture:: The Frr system architecture
* Supported Platforms:: Supported platforms and future plans
* Supported RFCs:: Supported RFCs
-* How to get Quagga::
+* How to get Frr::
* Mailing List:: Mailing list information
* Bug Reports:: Mail address for bug data
@end menu
-@node About Quagga
+@node About Frr
@comment node-name, next, previous, up
-@section About Quagga
-@cindex About Quagga
+@section About Frr
+@cindex About Frr
Today, TCP/IP networks are covering all of the world. The Internet has
been deployed in many countries, companies, and to the home. When you
connect to the Internet your packet will pass many routers which have TCP/IP
routing functionality.
- A system with Quagga installed acts as a dedicated router. With Quagga,
+ A system with Frr installed acts as a dedicated router. With Frr,
your machine exchanges routing information with other routers using routing
-protocols. Quagga uses this information to update the kernel routing table
+protocols. Frr uses this information to update the kernel routing table
so that the right data goes to the right place. You can dynamically change
-the configuration and you may view routing table information from the Quagga
+the configuration and you may view routing table information from the Frr
terminal interface.
- Adding to routing protocol support, Quagga can setup interface's flags,
+ Adding to routing protocol support, Frr can setup interface's flags,
interface's address, static routes and so on. If you have a small network,
-or a stub network, or xDSL connection, configuring the Quagga routing
+or a stub network, or xDSL connection, configuring the Frr routing
software is very easy. The only thing you have to do is to set up the
interfaces and put a few commands about static routes and/or default routes.
If the network is rather large, or if the network structure changes
-frequently, you will want to take advantage of Quagga's dynamic routing
+frequently, you will want to take advantage of Frr's dynamic routing
protocol support for protocols such as RIP, OSPF, IS-IS or BGP.
Traditionally, UNIX based router configuration is done by
@command{ifconfig} and @command{route} commands. Status of routing
table is displayed by @command{netstat} utility. Almost of these commands
-work only if the user has root privileges. Quagga has a different system
-administration method. There are two user modes in Quagga. One is normal
+work only if the user has root privileges. Frr has a different system
+administration method. There are two user modes in Frr. One is normal
mode, the other is enable mode. Normal mode user can only view system
status, enable mode user can change system configuration. This UNIX account
independent feature will be great help to the router administrator.
- Currently, Quagga supports common unicast routing protocols, that is BGP,
+ Currently, Frr supports common unicast routing protocols, that is BGP,
OSPF, RIP and IS-IS. Upcoming for MPLS support, an implementation of LDP is
currently being prepared for merging. Implementations of BFD and PIM-SSM
(IPv4) also exist, but are not actively being worked on.
- The ultimate goal of the Quagga project is making a productive, quality, free
+ The ultimate goal of the Frr project is making a productive, quality, free
TCP/IP routing software package.
@node System Architecture
@cindex Software internals
Traditional routing software is made as a one process program which
-provides all of the routing protocol functionalities. Quagga takes a
+provides all of the routing protocol functionalities. Frr takes a
different approach. It is made from a collection of several daemons that
work together to build the routing table. There may be several
protocol-specific routing daemons and zebra the kernel routing manager.
| |
+------------------------------+
- Quagga System Architecture
+ Frr System Architecture
@end group
@end example
terminal interface. When you configure a static route, it must be done in
@command{zebra} configuration file. When you configure BGP network it must
be done in @command{bgpd} configuration file. This can be a very annoying
-thing. To resolve the problem, Quagga provides integrated user interface
+thing. To resolve the problem, Frr provides integrated user interface
shell called @command{vtysh}. @command{vtysh} connects to each daemon with
UNIX domain socket and then works as a proxy for user input.
-Quagga was planned to use multi-threaded mechanism when it runs with a
+Frr was planned to use multi-threaded mechanism when it runs with a
kernel that supports multi-threads. But at the moment, the thread library
which comes with @sc{gnu}/Linux or FreeBSD has some problems with running
reliable services such as routing software, so we don't use threads at all.
@section Supported Platforms
@cindex Supported platforms
-@cindex Quagga on other systems
+@cindex Frr on other systems
@cindex Compatibility with other systems
-@cindex Operating systems that support Quagga
+@cindex Operating systems that support Frr
-Currently Quagga supports @sc{gnu}/Linux and BSD. Porting Quagga
+Currently Frr supports @sc{gnu}/Linux and BSD. Porting Frr
to other platforms is not too difficult as platform dependent code should
most be limited to the @command{zebra} daemon. Protocol daemons are mostly
-platform independent. Please let us know when you find out Quagga runs on a
+platform independent. Please let us know when you find out Frr runs on a
platform which is not listed below.
The list of officially supported platforms are listed below. Note that
-Quagga may run correctly on other platforms, and may run with partial
+Frr may run correctly on other platforms, and may run with partial
functionality on further platforms.
@sp 1
@end itemize
Also note that, in particular regarding proprietary platforms, compiler
-and C library choice will affect Quagga. Only recent versions of the
+and C library choice will affect Frr. Only recent versions of the
following C compilers are well-tested:
@sp 1
@end table
-@node How to get Quagga
+@node How to get Frr
@comment node-name, next, previous, up
-@section How to get Quagga
+@section How to get Frr
-The official Quagga web-site is located at:
+The official Frr web-site is located at:
-@uref{http://www.quagga.net/}
+@uref{http://www.freerangerouting.net/}
and contains further information, as well as links to additional
resources.
-@uref{http://www.quagga.net/,Quagga} is a fork of GNU Zebra, whose
+@uref{http://www.freerangerouting.net/,Frr} is a fork of Quagga, whose
web-site is located at:
-@uref{http://www.zebra.org/}.
+@uref{http://www.quagga.net/}.
@node Mailing List
@comment node-name, next, previous, up
@section Mailing List
-@cindex How to get in touch with Quagga
-@cindex Mailing Quagga
+@cindex How to get in touch with Frr
+@cindex Mailing Frr
@cindex Contact information
@cindex Mailing lists
-There is a mailing list for discussions about Quagga. If you have any
-comments or suggestions to Quagga, please subscribe to:
+There is a mailing list for discussions about Frr. If you have any
+comments or suggestions to Frr, please subscribe to:
-@uref{http://lists.quagga.net/mailman/listinfo/quagga-users}.
+@uref{http://lists.nox.tf/listinfo/frr-users}.
-The @uref{http://www.quagga.net/,,Quagga} site has further information on
+The @uref{http://www.freerangerouting.net/,,Frr} site has further information on
the available mailing lists, see:
- @uref{http://www.quagga.net/lists.php}
+ @uref{http://lists.nox.tf/lists.php}
@node Bug Reports
@section Bug Reports
If you think you have found a bug, please send a bug report to:
-@uref{http://bugzilla.quagga.net}
+@uref{http://github.com/freerangerouting/frr/issues}
When you send a bug report, please be careful about the points below.
arguments to the configure script please note that too.
@end itemize
- Bug reports are very important for us to improve the quality of Quagga.
-Quagga is still in the development stage, but please don't hesitate to
-send a bug report to @uref{http://bugzilla.quagga.net}.
+ Bug reports are very important for us to improve the quality of Frr.
+Frr is still in the development stage, but please don't hesitate to
+send a bug report to @uref{http://github.com/freerangerouting/frr/issues}.
Version 0 is used by all versions of GNU Zebra as of this writing, and
versions of Quagga up to and including Quagga 0.98. Version 1 will be
-used as of Quagga 1.0.
+used as of Quagga 1.0. Version 2 will be used as of Frr 2.0.
@appendixsection Zebra Protocol Definition
@appendixsubsec Zebra Protocol Header (version 0)
+++ /dev/null
-.TH Quagga 1 "27 July 2006" "@PACKAGE_FULLNAME@ Systemd Script" "Version @PACKAGE_VERSION@"
-.SH NAME
-quagga \- a systemd interaction script
-.SH SYNOPSIS
-.B quagga
-[
-.B start
-]
-.br
-.B quagga
-[
-.B stop
-]
-.br
-.B quagga
-[
-.B reload
-]
-.br
-.B quagga
-[
-.B restart
-]
-.br
-.B quagga
-[
-.B status
-]
-.br
-.SH DESCRIPTION
-.B @PACKAGE_NAME@
-is a systemd interaction script for the
-.B @PACKAGE_FULLNAME@
-routing engine.
-.SH OPTIONS
-Options available for the
-.B quagga
-command:
-.IP start
-Start enabled Quagga daemons
-.IP stop
-Stop enabled Quagga daemons
-.IP reload
-Reload modified configuration files
-.IP restart
-Stop all running daemons and then restart them
-.IP status
-Status of all the daemons
-.SH "SEE ALSO"
-.BR bgpd (8),
-.BR ripd (8),
-.BR ripngd (8),
-.BR ospfd (8),
-.BR ospf6d (8),
-.BR isisd (8),
-.BR zebra (8)
-.SH BUGS
-.B quagga
-eats bugs for breakfast. If you have food for the maintainers try
-.BI @PACKAGE_BUGREPORT@
-.SH AUTHORS
-See
-.BI @PACKAGE_URL@
-or the Info file for an accurate list of authors.
-
+++ /dev/null
-\input texinfo @c -*- texinfo -*-
-
-@c Set variables - sourced from defines.texi
-@include defines.texi
-
-@c %**start of header
-@setfilename quagga.info
-@c Set variables - sourced from defines.texi
-@include defines.texi
-@settitle @uref{http://www.quagga.net,,@value{PACKAGE_NAME}}
-@c %**end of header
-
-@c automake will automatically generate version.texi
-@c and set EDITION, VERSION, UPDATED and UPDATED-MONTH
-@include version.texi
-
-@copying
-@value{COPYRIGHT_STR}
-@quotation
-
-Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the
-entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation
-approved by Kunihiro Ishiguro.
-
-@end quotation
-@end copying
-
-@c Info entry
-@dircategory Routing Software:
-@direntry
-* @value{PACKAGE_NAME}: (quagga). The Quagga Software Routing Suite
-@end direntry
-
-@c @smallbook
-
-@ifinfo
-This file documents the Quagga Software Routing Suite which manages common
-TCP/IP routing protocols.
-
-This is Edition @value{EDITION}, last updated @value{UPDATED} of
-@cite{The Quagga Manual}, for @uref{http://www.quagga.net/,,@value{PACKAGE_NAME}}
-Version @value{VERSION}.
-
-@insertcopying
-@end ifinfo
-
-@titlepage
-@title @uref{http://www.quagga.net,,Quagga}
-@subtitle A routing software package for TCP/IP networks
-@subtitle @uref{http://www.quagga.net,,@value{PACKAGE_NAME}} @value{VERSION}
-@subtitle @value{UPDATED-MONTH}
-@author @value{AUTHORS}
-
-@page
-@vskip 0pt plus 1filll
-
-@insertcopying
-@end titlepage
-@page
-
-@ifnottex
-@node Top
-@top Quagga -- With Virtual Network Control
-
-@uref{http://www.quagga.net,,Quagga} is an advanced routing software package
-that provides a suite of TCP/IP based routing protocols. This is the Manual
-for @value{PACKAGE_STRING}. @uref{http://www.quagga.net,,Quagga} is a fork of
-@uref{http://www.zebra.org,,GNU Zebra}.
-
-@insertcopying
-@end ifnottex
-
-@menu
-* Overview::
-* Installation::
-* Basic commands::
-* Zebra::
-* RIP::
-* RIPng::
-* OSPFv2::
-* OSPFv3::
-* ISIS::
-* BGP::
-* Configuring Quagga as a Route Server::
-* VNC and VNC-GW::
-* VTY shell::
-* Filtering::
-* Route Map::
-* IPv6 Support::
-* Kernel Interface::
-* SNMP Support::
-* Zebra Protocol::
-* Packet Binary Dump Format::
-* Command Index::
-* VTY Key Index::
-* Index::
-@end menu
-@contents
-
-@include overview.texi
-@include install.texi
-@include basic.texi
-@include main.texi
-@include ripd.texi
-@include ripngd.texi
-@include ospfd.texi
-@include ospf6d.texi
-@include isisd.texi
-@include bgpd.texi
-@include routeserver.texi
-@include vnc.texi
-@include vtysh.texi
-@include filter.texi
-@include routemap.texi
-@include ipv6.texi
-@include kernel.texi
-@include snmp.texi
-@include protocol.texi
-@include appendix.texi
-
-@node Command Index
-@unnumbered Command Index
-
-@printindex fn
-
-@node VTY Key Index
-@unnumbered VTY Key Index
-
-@printindex ky
-
-@node Index
-@unnumbered Index
-
-@printindex cp
-@bye
@c -*-texinfo-*-
-@c This is part of the Quagga Manual.
+@c This is part of the Frr Manual.
@c @value{COPYRIGHT_STR}
-@c See file quagga.texi for copying conditions.
+@c See file frr.texi for copying conditions.
@node RIP
@chapter RIP
Version 2 of RIP supports a variable length subnet mask (VLSM). By
extending the subnet mask, the mask can be divided and reused. Each
subnet can be used for different purposes such as large to middle size
-LANs and WAN links. Quagga @command{ripd} does not support the non-sequential
+LANs and WAN links. Frr @command{ripd} does not support the non-sequential
netmasks that are included in RIP Version 2.
In a case of similar information with the same prefix and metric, the
@deffn {RIP command} {route @var{a.b.c.d/m}} {}
@deffnx {RIP command} {no route @var{a.b.c.d/m}} {}
-This command is specific to Quagga. The @code{route} command makes a static
+This command is specific to Frr. The @code{route} command makes a static
route only inside RIP. This command should be used only by advanced
users who are particularly knowledgeable about the RIP protocol. In
-most cases, we recommend creating a static route in Quagga and
+most cases, we recommend creating a static route in Frr and
redistributing it in RIP using @code{redistribute static}.
@end deffn
@end example
Cisco applies route-map _before_ routes will exported to rip route table.
-In current Quagga's test implementation, @command{ripd} applies route-map
+In current Frr's test implementation, @command{ripd} applies route-map
after routes are listed in the route table and before routes will be
announced to an interface (something like output filter). I think it is not
so clear, but it is draft and it may be changed at future.
@c -*-texinfo-*-
-@c This is part of the Quagga Manual.
+@c This is part of the Frr Manual.
@c @value{COPYRIGHT_STR}
-@c See file quagga.texi for copying conditions.
+@c See file frr.texi for copying conditions.
@node RIPng
@chapter RIPng
@c -*-texinfo-*-
@c @value{COPYRIGHT_STR}
-@c See file quagga.texi for copying conditions.
+@c See file frr.texi for copying conditions.
@c
@c This file is a modified version of Jose Luis Rubio's TeX sources
@c of his RS-Manual document
-@node Configuring Quagga as a Route Server
-@chapter Configuring Quagga as a Route Server
+@node Configuring Frr as a Route Server
+@chapter Configuring Frr as a Route Server
The purpose of a Route Server is to centralize the peerings between BGP
speakers. For example if we have an exchange point scenario with four BGP
each of the four establishes a single BGP peering against the Route Server
(@pxref{fig:route-server}).
-We will first describe briefly the Route Server model implemented by Quagga.
+We will first describe briefly the Route Server model implemented by Frr.
We will explain the commands that have been added for configuring that
-model. And finally we will show a full example of Quagga configured as Route
+model. And finally we will show a full example of Frr configured as Route
Server.
@menu
modify some BGP attributes (next-hop, as-path and MED) that are usually
modified by standard BGP speakers before announcing a route.
-The announcement processing model implemented by Quagga is shown in
+The announcement processing model implemented by Frr is shown in
@ref{fig:rs-processing}. The figure shows a mixture of RS-clients (B, C and D)
with normal BGP peers (A). There are some details that worth additional
comments:
@node Commands for configuring a Route Server
@section Commands for configuring a Route Server
-Now we will describe the commands that have been added to quagga
+Now we will describe the commands that have been added to frr
in order to support the route server features.
@deffn {Route-Server} {neighbor @var{peer-group} route-server-client} {}
This command configures the peer given by @var{peer}, @var{A.B.C.D} or
@var{X:X::X:X} as an RS-client.
-Actually this command is not new, it already existed in standard Quagga. It
+Actually this command is not new, it already existed in standard Frr. It
enables the transparent mode for the specified peer. This means that some
BGP attributes (as-path, next-hop and MED) of the routes announced to that
peer are not modified.
@node Example of Route Server Configuration
@section Example of Route Server Configuration
-Finally we are going to show how to configure a Quagga daemon to act as a
+Finally we are going to show how to configure a Frr daemon to act as a
Route Server. For this purpose we are going to present a scenario without
route server, and then we will show how to use the configurations of the BGP
routers to generate the configuration of the route server.
@acronym{SNMP,Simple Network Managing Protocol} is a widely implemented
feature for collecting network information from router and/or host.
-Quagga itself does not support SNMP agent (server daemon) functionality
+Frr itself does not support SNMP agent (server daemon) functionality
but is able to connect to a SNMP agent using the SMUX protocol
(@cite{RFC1227}) or the AgentX protocol (@cite{RFC2741}) and make the
routing protocol MIBs available through it.
It is free and open software and available at @uref{http://www.net-snmp.org/}
and as binary package for most Linux distributions.
@code{net-snmp} has to be compiled with @code{--with-mib-modules=agentx} to
-be able to accept connections from Quagga using AgentX protocol or with
+be able to accept connections from Frr using AgentX protocol or with
@code{--with-mib-modules=smux} to use SMUX protocol.
Nowadays, SMUX is a legacy protocol. The AgentX protocol should be
@node AgentX configuration
@section AgentX configuration
-To enable AgentX protocol support, Quagga must have been build with the
+To enable AgentX protocol support, Frr must have been build with the
@code{--enable-snmp} or @code{--enable-snmp=agentx} option. Both the
-master SNMP agent (snmpd) and each of the Quagga daemons must be
+master SNMP agent (snmpd) and each of the Frr daemons must be
configured. In @code{/etc/snmp/snmpd.conf}, @code{master agentx}
-directive should be added. In each of the Quagga daemons, @code{agentx}
+directive should be added. In each of the Frr daemons, @code{agentx}
command will enable AgentX support.
@example
#
master agentx
-/etc/quagga/ospfd.conf:
+/etc/frr/ospfd.conf:
! ... the rest of ospfd.conf has been omitted for clarity ...
!
agentx
@end example
Upon successful connection, you should get something like this in the
-log of each Quagga daemons:
+log of each Frr daemons:
@example
2012/05/25 11:39:08 ZEBRA: snmp[info]: NET-SNMP version 5.4.3 AgentX subagent connected
The AgentX protocol can be transported over a Unix socket or using TCP
or UDP. It usually defaults to a Unix socket and depends on how NetSNMP
-was built. If need to configure Quagga to use another transport, you can
-configure it through @code{/etc/snmp/quagga.conf}:
+was built. If need to configure Frr to use another transport, you can
+configure it through @code{/etc/snmp/frr.conf}:
@example
-/etc/snmp/quagga.conf:
+/etc/snmp/frr.conf:
[snmpd]
# Use a remote master agent
agentXSocket tcp:192.168.15.12:705
@node SMUX configuration
@section SMUX configuration
-To enable SMUX protocol support, Quagga must have been build with the
+To enable SMUX protocol support, Frr must have been build with the
@code{--enable-snmp=smux} option.
A separate connection has then to be established between the
-SNMP agent (snmpd) and each of the Quagga daemons. This connections
+SNMP agent (snmpd) and each of the Frr daemons. This connections
each use different OID numbers and passwords. Be aware that this OID
number is not the one that is used in queries by clients, it is solely
used for the intercommunication of the daemons.
In the following example the ospfd daemon will be connected to the
-snmpd daemon using the password "quagga_ospfd". For testing it is
+snmpd daemon using the password "frr_ospfd". For testing it is
recommending to take exactly the below snmpd.conf as wrong access
restrictions can be hard to debug.
view all included .1 80
access MyROGroup "" any noauth exact all none none
#
- # the following line is relevant for Quagga
+ # the following line is relevant for Frr
#
- smuxpeer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
+ smuxpeer .1.3.6.1.4.1.3317.1.2.5 frr_ospfd
-/etc/quagga/ospf:
+/etc/frr/ospf:
! ... the rest of ospfd.conf has been omitted for clarity ...
!
- smux peer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
+ smux peer .1.3.6.1.4.1.3317.1.2.5 frr_ospfd
!
@end example
-After restarting snmpd and quagga, a successful connection can be verified in
+After restarting snmpd and frr, a successful connection can be verified in
the syslog and by querying the SNMP daemon:
@example
snmpd[12300]: [smux_accept] accepted fd 12 from 127.0.0.1:36255
snmpd[12300]: accepted smux peer: \
- oid GNOME-PRODUCT-ZEBRA-MIB::ospfd, quagga-0.96.5
+ oid GNOME-PRODUCT-ZEBRA-MIB::ospfd, frr-0.96.5
# snmpwalk -c public -v1 localhost .1.3.6.1.2.1.14.1.1
OSPF-MIB::ospfRouterId.0 = IpAddress: 192.168.42.109
@section MIB and command reference
The following OID numbers are used for the interprocess communication of snmpd and
-the Quagga daemons with SMUX only.
+the Frr daemons with SMUX only.
@example
(OIDs below .iso.org.dod.internet.private.enterprises)
zebra .1.3.6.1.4.1.3317.1.2.1 .gnome.gnomeProducts.zebra.zserv
ospf6d .1.3.6.1.3.102 .iso.org.dod.internet.experimental.ospfv3
@end example
-The following syntax is understood by the Quagga daemons for configuring SNMP using SMUX:
+The following syntax is understood by the Frr daemons for configuring SNMP using SMUX:
@deffn {Command} {smux peer @var{oid}} {}
@deffnx {Command} {no smux peer @var{oid}} {}
@end deffn
-@c Documentation on configuring Quagga and snmpd for SNMP traps
+@c Documentation on configuring Frr and snmpd for SNMP traps
@c contributed by Jeroen Simonetti, jsimonetti@denit.net
@node Handling SNMP Traps
@section Handling SNMP Traps
-To handle snmp traps make sure your snmp setup of quagga works
-correctly as described in the quagga documentation in @xref{SNMP Support}.
+To handle snmp traps make sure your snmp setup of frr works
+correctly as described in the frr documentation in @xref{SNMP Support}.
The BGP4 mib will send traps on peer up/down events. These should be
visible in your snmp logs with a message similar to:
@c -*-texinfo-*-
-@c This is part of the Quagga Manual.
+@c This is part of the Frr Manual.
@c @value{COPYRIGHT_STR}
-@c See file quagga.texi for copying conditions.
+@c See file frr.texi for copying conditions.
@node VNC and VNC-GW
@chapter VNC and VNC-GW
The protocol that is used to communicate routing and Ethernet / L2
forwarding information between NVAs and NVEs is referred to as the
Remote Forwarder Protocol (RFP). Currently, only a simple example RFP
-is included in Quagga. Developers may use this example as a starting
-point to integrate Quagga with an RFP of their choosing, e.g.,
+is included in Frr. Developers may use this example as a starting
+point to integrate Frr with an RFP of their choosing, e.g.,
@code{OpenFlow}. The example code includes the following sample
configuration:
@menu
* Mesh NVA Configuration::
* Mesh NVA and VNC-GW Configuration::
-* VNC with Quagga Route Reflector Configuration::
+* VNC with Frr Route Reflector Configuration::
* VNC with Commercial Route Reflector Configuration::
* VNC with Redundant Route Reflectors Configuration::
@c * Interfacing VNC to an IGP::
NVEs. Note that this example is showing a more complex configuration
where VNC-GW is separated from normal NVA functions; it is equally
possible to simplify the configuration and combine NVA and VNC-GW
-functions in a single quagga instance.
+functions in a single frr instance.
@float Figure,fig:fig-vnc-gw
-@center @image{fig-vnc-gw,400pt,,Quagga VNC Gateway}
+@center @image{fig-vnc-gw,400pt,,Frr VNC Gateway}
@caption{Meshed NVEs and VNC-GWs}
@end float
@c TBD make this its own example:
@c
@c @float Figure,fig:fig-vnc-gw-rr
-@c @center @image{fig-vnc-gw-rr,400pt,,Quagga VNC Gateway with RR}
+@c @center @image{fig-vnc-gw-rr,400pt,,Frr VNC Gateway with RR}
@c @end float
@c An NVA can also import unicast routes from BGP without advertising the
@c imported routes as VPN routes. Such imported routes, while not
@c vnc redistribute ipv4 bgp-direct-to-nve-groups
@c @end verbatim
-@node VNC with Quagga Route Reflector Configuration
-@subsection VNC with Quagga Route Reflector Configuration
+@node VNC with Frr Route Reflector Configuration
+@subsection VNC with Frr Route Reflector Configuration
A route reflector eliminates the need for a fully meshed NVA
network by acting as the hub between NVAs.
-@ref{fig:fig-vnc-quagga-route-reflector} shows BGP route reflector
+@ref{fig:fig-vnc-frr-route-reflector} shows BGP route reflector
@code{BGP Route Reflector 1} (192.168.1.100) as a route reflector for
NVAs @code{NVA 2}(192.168.1.101) and @code{NVA 3}
(192.168.1.102).
-@float Figure,fig:fig-vnc-quagga-route-reflector
-@center @image{fig-vnc-quagga-route-reflector,400pt,,Quagga Route Reflector}
+@float Figure,fig:fig-vnc-frr-route-reflector
+@center @image{fig-vnc-frr-route-reflector,400pt,,Frr Route Reflector}
@caption{Two NVAs and a BGP Route Reflector}
@end float
@node VNC with Commercial Route Reflector Configuration
@subsection VNC with Commercial Route Reflector Configuration
-This example is identical to @ref{VNC with Quagga Route Reflector
+This example is identical to @ref{VNC with Frr Route Reflector
Configuration} with the exception that the route reflector is a
commercial router. Only the
VNC-relevant configuration is provided.
@node VNC with Redundant Route Reflectors Configuration
@subsection VNC with Redundant Route Reflectors Configuration
-This example combines the previous two (@ref{VNC with Quagga Route
+This example combines the previous two (@ref{VNC with Frr Route
Reflector Configuration} and @ref{VNC with Commercial Route Reflector
Configuration}) into a redundant route reflector configuration. BGP
route reflectors @code{BGP Route Reflector 1} and @code{Commercial Router}
@float Figure,fig:fig-vnc-redundant-route-reflectors
@center @image{fig-vnc-redundant-route-reflectors,400pt,,Redundant Route Reflectors}
-@caption{Quagga-based NVA with redundant route reflectors}
+@caption{Frr-based NVA with redundant route reflectors}
@end float
@file{bgpd.conf} for @code{Bgpd Route Reflector 1} on 192.168.1.100:
useful inside scripts with -c where the command is targeted for a single daemon.
.IP "\fB\-e, \-\-execute \fIcommand\fP"
Alias for -c. It's here only for compatibility with Zebra routing software and
-older Quagga versions. This will be removed in future.
+older Frr versions. This will be removed in future.
.IP "\fB\-E, \-\-echo\fP"
When the -c option is being used, this flag will cause the standard
.B vtysh
.B vtysh
config file.
.TP
-.BI @CFG_SYSCONF@/Quagga.conf
+.BI @CFG_SYSCONF@/Frr.conf
The default location of the integrated @PACKAGE_FULLNAME@ routing engine config file
if integrated config file is in use (not default).
.TP
-.BI ${HOME}/.history_quagga
+.BI ${HOME}/.history_frr
Location of history of commands entered via cli
.SH WARNING
This man page is intended to be a quick reference for command line
* Integrated configuration mode::
@end menu
-@command{vtysh} provides a combined frontend to all Quagga daemons in a
+@command{vtysh} provides a combined frontend to all Frr daemons in a
single combined session. It is enabled by default at build time, but can
be disabled through the @option{--disable-vtysh} option to
@command{./configure}.
group (which is the group that the daemons will change ownership of their
sockets to).
-To restrict access to Quagga configuration, make sure no unauthorized users
+To restrict access to Frr configuration, make sure no unauthorized users
are members of the @emph{@value{INSTALL_VTY_GROUP}} group.
@subsection PAM support (experimental)
@section Integrated configuration mode
Integrated configuration mode uses a single configuration file,
-@file{Quagga.conf}, for all daemons. This replaces the individual files like
+@file{Frr.conf}, for all daemons. This replaces the individual files like
@file{zebra.conf} or @file{bgpd.conf}.
-@file{Quagga.conf} is located in @file{@value{INSTALL_PREFIX_ETC}}. All
+@file{Frr.conf} is located in @file{@value{INSTALL_PREFIX_ETC}}. All
daemons check for the existence of this file at startup, and if it exists
will not load their individual configuration files. Instead,
-@command{vtysh -b} must be invoked to process @file{Quagga.conf} and apply
+@command{vtysh -b} must be invoked to process @file{Frr.conf} and apply
its settings to the individual daemons.
@quotation Warning
@subsection Configuration saving, file ownership and permissions
-The @file{Quagga.conf} file is not written by any of the daemons; instead
+The @file{Frr.conf} file is not written by any of the daemons; instead
@command{vtysh} contains the neccessary logic to collect configuration from
all of the daemons, combine it and write it out.
system, configuration writes will be tried through @command{watchfrr},
using the @command{write integrated} command internally. Since
@command{watchfrr} is running as superuser, @command{vtysh} is able to
-ensure correct ownership and permissions on @file{Quagga.conf}.
+ensure correct ownership and permissions on @file{Frr.conf}.
If @command{watchfrr} is not running or the configuration write fails,
@command{vtysh} will attempt to directly write to the file. This is likely
Writing the configuration can be triggered directly by invoking
@command{vtysh -w}. This may be useful for scripting. Note this command
-should be run as either the superuser or the Quagga user.
+should be run as either the superuser or the Frr user.
We recommend you do not mix the use of the two types of files. Further, it
-is better not to use the integrated Quagga.conf file, as any syntax error in
+is better not to use the integrated Frr.conf file, as any syntax error in
it can lead to /all/ of your daemons being unable to start up. Per daemon
files are more robust as impact of errors in configuration are limited to
the daemon in whose file the error is made.
@deffn {Command} {service integrated-vtysh-config} {}
@deffnx {Command} {no service integrated-vtysh-config} {}
-Control whether integrated @file{Quagga.conf} file is written when
+Control whether integrated @file{Frr.conf} file is written when
'write file' is issued.
These commands need to be placed in @file{vtysh.conf} to have any effect.
-Note that since @file{vtysh.conf} is not written by Quagga itself, they
+Note that since @file{vtysh.conf} is not written by Frr itself, they
therefore need to be manually placed in that file.
This command has 3 states:
@item
@command{service integrated-vtysh-config}
-@command{vtysh} will always write @file{Quagga.conf}.
+@command{vtysh} will always write @file{Frr.conf}.
@item
@command{no service integrated-vtysh-config}
-@command{vtysh} will never write @file{Quagga.conf}; instead it will ask
+@command{vtysh} will never write @file{Frr.conf}; instead it will ask
daemons to write their individual configuration files.
@item
Neither option present (default)
-@command{vtysh} will check whether @file{Quagga.conf} exists. If it does,
+@command{vtysh} will check whether @file{Frr.conf} exists. If it does,
configuration writes will update that file. Otherwise, writes are performed
through the individual daemons.
@end itemize
@deffn {Command} {write integrated} {}
Unconditionally (regardless of @command{service integrated-vtysh-config}
-setting) write out integrated @file{Quagga.conf} file through
+setting) write out integrated @file{Frr.conf} file through
@command{watchfrr}. If @command{watchfrr} is not running, this command
is unavailable.
Configuration changes made while some daemon is not running will be invisible
to that daemon. The daemon will start up with its saved configuration
-(either in its individual configuration file, or in @file{Quagga.conf}).
+(either in its individual configuration file, or in @file{Frr.conf}).
This is particularly troublesome for route-maps and prefix lists, which would
otherwise be synchronized between daemons.