diff options
| -rwxr-xr-x | debianpkg/backports/ubuntu12.04/debian/rules | 6 | ||||
| -rwxr-xr-x | debianpkg/backports/ubuntu14.04/debian/rules | 6 | ||||
| -rwxr-xr-x | debianpkg/rules | 6 | ||||
| -rw-r--r-- | doc/user/_static/overrides.css | 47 | ||||
| -rw-r--r-- | doc/user/_static/overrides.js | 13 | ||||
| -rw-r--r-- | doc/user/conf.py | 1 | ||||
| -rw-r--r-- | doc/user/overview.rst | 116 | ||||
| -rw-r--r-- | zebra/GNOME-PRODUCT-ZEBRA-MIB | 78 | ||||
| -rw-r--r-- | zebra/GNOME-SMI | 53 | ||||
| -rw-r--r-- | zebra/subdir.am | 5 |
10 files changed, 155 insertions, 176 deletions
diff --git a/debianpkg/backports/ubuntu12.04/debian/rules b/debianpkg/backports/ubuntu12.04/debian/rules index 086238eda5..7495db89cb 100755 --- a/debianpkg/backports/ubuntu12.04/debian/rules +++ b/debianpkg/backports/ubuntu12.04/debian/rules @@ -154,12 +154,8 @@ override_dh_auto_install: mkdir -p debian/tmp/etc/frr/ perl -pi -e 's#^!log file #!log file /var/log/frr/#' debian/tmp/usr/share/doc/frr/examples/*sample* - # installing the Frr specific SNMP MIB -ifeq ($(WANT_SNMP), 1) - install -D -m 644 ./zebra/GNOME-PRODUCT-ZEBRA-MIB debian/tmp/usr/share/snmp/mibs/GNOME-PRODUCT-ZEBRA-MIB -else + # leftover from previously shipping SMUX client OID MIB mkdir -p debian/tmp/usr/share/snmp/mibs -endif # cleaning .la files sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/*.la diff --git a/debianpkg/backports/ubuntu14.04/debian/rules b/debianpkg/backports/ubuntu14.04/debian/rules index 559a27e256..c955d0c945 100755 --- a/debianpkg/backports/ubuntu14.04/debian/rules +++ b/debianpkg/backports/ubuntu14.04/debian/rules @@ -188,12 +188,8 @@ override_dh_auto_install: mkdir -p debian/tmp/etc/frr/ perl -pi -e 's#^!log file #!log file /var/log/frr/#' debian/tmp/usr/share/doc/frr/examples/*sample* - # installing the Frr specific SNMP MIB -ifeq ($(WANT_SNMP), 1) - install -D -m 644 ./zebra/GNOME-PRODUCT-ZEBRA-MIB debian/tmp/usr/share/snmp/mibs/GNOME-PRODUCT-ZEBRA-MIB -else + # leftover from previously shipping SMUX client OID MIB mkdir -p debian/tmp/usr/share/snmp/mibs/ -endif # cleaning .la files sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/*.la diff --git a/debianpkg/rules b/debianpkg/rules index 28d291e40a..811d45bc0b 100755 --- a/debianpkg/rules +++ b/debianpkg/rules @@ -186,12 +186,8 @@ override_dh_auto_install: mkdir -p debian/tmp/etc/frr/ perl -pi -e 's#^!log file #!log file /var/log/frr/#' debian/tmp/usr/share/doc/frr/examples/*sample* - # installing the Frr specific SNMP MIB -ifeq ($(WANT_SNMP), 1) - install -D -m 644 ./zebra/GNOME-PRODUCT-ZEBRA-MIB debian/tmp/usr/share/snmp/mibs/GNOME-PRODUCT-ZEBRA-MIB -else + # leftover from previously shipping SMUX client OID MIB mkdir -p debian/tmp/usr/share/snmp/mibs/ -endif # cleaning .la files sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/*.la diff --git a/doc/user/_static/overrides.css b/doc/user/_static/overrides.css index 0d871c961a..3143f8bb65 100644 --- a/doc/user/_static/overrides.css +++ b/doc/user/_static/overrides.css @@ -6,3 +6,50 @@ div.body { pre { background-color: #e2e2e2; } + +/* styling for the protocols vs. OS table in overview.rst */ +/* first, general bits */ +div.body td.mark { + text-align: center; + border-left: 1px solid #ccc; +} +table.mark th { + text-align: center; +} +table.mark td { + vertical-align: middle; +} +table.mark td[colspan="7"] { + text-align: center; + padding-top: 8pt; + padding-bottom: 2pt; +} +table.mark cite { + font-weight: bold; +} + +/* individual Y/N/... cells */ +td.mark { + width: 4.5em; +} +td.mark span { + display: block; + padding: 3px 1px; + border: 1px dotted #666; + width: 36pt; + margin:auto; +} +span.mark-y { background-color: #77ffaa; } +span.mark-geq { background-color: #aaff77; } +span.mark-cp { background-color: #ffbb55; } +span.mark-n { background-color: #ff8877; } +span.mark-dag { background-color: #ffee99; font-size: 8pt; padding:0px 1px; border-top:0px; } + +/* for the legend below */ +li span.mark { + display: inline-block; + padding: 3px 1px; + border: 1px dotted #666; + width: 36pt; + text-align: center; +} diff --git a/doc/user/_static/overrides.js b/doc/user/_static/overrides.js new file mode 100644 index 0000000000..73bf6123b5 --- /dev/null +++ b/doc/user/_static/overrides.js @@ -0,0 +1,13 @@ +/* special styling for the protocols vs. OS table in overview.rst + * + * unfortunately this can't be done in straight CSS because we're changing + * the styling on the parent. + */ +$(document).ready(function() { + $("span.mark:contains('Y')" ).addClass("mark-y" ).parent("td").addClass("mark"); + $("span.mark:contains('≥')" ).addClass("mark-geq").parent("td").addClass("mark"); + $("span.mark:contains('N')" ).addClass("mark-n" ).parent("td").addClass("mark"); + $("span.mark:contains('CP')").addClass("mark-cp" ).parent("td").addClass("mark"); + $("span.mark:contains('†')" ).addClass("mark-dag").parent("td").addClass("mark"); + $('td.mark').parents('table').addClass("mark").children('colgroup').remove(); +}); diff --git a/doc/user/conf.py b/doc/user/conf.py index 28081bca7d..2231989fe5 100644 --- a/doc/user/conf.py +++ b/doc/user/conf.py @@ -358,6 +358,7 @@ def setup(app): app.add_object_type('clicmd', 'clicmd') # css overrides for HTML theme app.add_stylesheet('overrides.css') + app.add_javascript('overrides.js') # load Pygments lexer for FRR config syntax # # NB: in Pygments 2.2+ this can be done with `load_lexer_from_file`, but we diff --git a/doc/user/overview.rst b/doc/user/overview.rst index 369f17dcba..51bd6228e3 100644 --- a/doc/user/overview.rst +++ b/doc/user/overview.rst @@ -5,12 +5,12 @@ Overview ******** `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+ (:ref:`supported-rfcs`). FRR also supports +services with routing protocols support such as BGP, RIP, OSPF, IS-IS and more +(see :ref:`supported-protocols`). 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, FRR provides routing -protocol MIBs (:ref:`snmp-support`). +With an SNMP daemon that supports the AgentX protocol, FRR provides routing +protocol MIB read-only access (:ref:`snmp-support`). 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 @@ -150,27 +150,93 @@ Recent versions of the following compilers are well tested: .. _supported-protocols: -Supported Protocols & RFCs -========================== - -The following well-known protocols are supported: - -- BGP -- Babel -- EIGRP -- IS-IS -- LDP -- NHRP -- OSPFv2 -- OSPFv3 -- PIM -- RIP -- RIPNG - -The following technologies are supported as well: - -- PBR (Policy Based Routing) -- VNC (Virtual Network Control) +Supported Protocols vs. Platform +================================ + +The following table lists all protocols cross-refrenced to all operating +systems that have at least CI build tests. Note that for features, only +features with system dependencies are included here. + +.. role:: mark + +.. comment - the :mark:`X` pieces mesh with a little bit of JavaScript and + CSS in _static/overrides.{js,css} respectively. The JS code looks at the + presence of the 'Y' 'N' '≥' '†' or 'CP' strings. This seemed to be the + best / least intrusive way of getting a nice table in HTML. The table + will look somewhat shoddy on other sphinx targets like PDF or info (but + should still be readable.) + ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| Daemon / Feature | Linux | OpenBSD | FreeBSD | NetBSD | Solaris | ++==+================================+================+==============+============+============+============+ +| FRR Core | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| `zebra` | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| | VRF | :mark:`≥4.8` | :mark:`N` | :mark:`N` | :mark:`N` | :mark:`N` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| | MPLS | :mark:`≥4.5` | :mark:`Y` | :mark:`N` | :mark:`N` | :mark:`N` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| `pbrd` (Policy Routing) | :mark:`Y` | :mark:`N` | :mark:`N` | :mark:`N` | :mark:`N` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| WAN / Carrier protocols | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| `bgpd` (BGP) | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| | VRF / L3VPN | :mark:`≥4.8` | :mark:`CP` | :mark:`CP` | :mark:`CP` | :mark:`CP` | +| | | :mark:`†4.3` | | | | | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| | EVPN | :mark:`≥4.18` | :mark:`CP` | :mark:`CP` | :mark:`CP` | :mark:`CP` | +| | | :mark:`†4.9` | | | | | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| | VNC (Virtual Network Control) | :mark:`CP` | :mark:`CP` | :mark:`CP` | :mark:`CP` | :mark:`CP` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| | Flowspec | :mark:`CP` | :mark:`CP` | :mark:`CP` | :mark:`CP` | :mark:`CP` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| `ldpd` (LDP) | :mark:`≥4.5` | :mark:`Y` | :mark:`N` | :mark:`N` | :mark:`N` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| | VPWS / PW | :mark:`N` | :mark:`≥5.8` | :mark:`N` | :mark:`N` | :mark:`N` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| | VPLS | :mark:`N` | :mark:`≥5.8` | :mark:`N` | :mark:`N` | :mark:`N` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| `nhrpd` (NHRP) | :mark:`Y` | :mark:`N` | :mark:`N` | :mark:`N` | :mark:`N` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| Link-State Routing | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| `ospfd` (OSPFv2) | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| | Segment Routing | :mark:`≥4.12` | :mark:`N` | :mark:`N` | :mark:`N` | :mark:`N` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| `ospf6d` (OSPFv3) | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| `isisd` (IS-IS) | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| Distance-Vector Routing | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| `ripd` (RIPv2) | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| `ripngd` (RIPng) | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| `babeld` (BABEL) | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| `eigrpd` (EIGRP) | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | :mark:`Y` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| Multicast Routing | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| `pimd` (PIM) | :mark:`≥4.18` | :mark:`N` | :mark:`Y` | :mark:`Y` | :mark:`Y` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| | SSM (Source Specific) | :mark:`Y` | :mark:`N` | :mark:`Y` | :mark:`Y` | :mark:`Y` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ +| | ASM (Any Source) | :mark:`Y` | :mark:`N` | :mark:`N` | :mark:`N` | :mark:`N` | ++--+--------------------------------+----------------+--------------+------------+------------+------------+ + +The indicators have the following semantics: + +* :mark:`Y` - daemon/feature fully functional +* :mark:`≥X.X` - fully functional with kernel version X.X or newer +* :mark:`†X.X` - restricted functionality or impaired performance with kernel version X.X or newer +* :mark:`CP` - control plane only (i.e. BGP route server / route reflector) +* :mark:`N` - daemon/feature not supported by operating system .. _supported-rfcs: diff --git a/zebra/GNOME-PRODUCT-ZEBRA-MIB b/zebra/GNOME-PRODUCT-ZEBRA-MIB deleted file mode 100644 index 96bcec5763..0000000000 --- a/zebra/GNOME-PRODUCT-ZEBRA-MIB +++ /dev/null @@ -1,78 +0,0 @@ -GNOME-PRODUCT-ZEBRA-MIB DEFINITIONS ::= BEGIN
-
-IMPORTS
- MODULE-IDENTITY,
- OBJECT-IDENTITY
- FROM SNMPv2-SMI
- gnomeProducts
- FROM GNOME-SMI;
-
-zebra MODULE-IDENTITY
- LAST-UPDATED "200004250000Z"
- ORGANIZATION "GNOME project"
- CONTACT-INFO
- "GNU Network Object Model Environment project
-
- see http://www.gnome.org for contact persons of a particular
- area or subproject of GNOME.
-
- Administrative contact for MIB module:
-
- Jochen Friedrich
- Wingertstr. 70/1
- 68809 Neulussheim
- Germany
-
- email: snmp@gnome.org"
- DESCRIPTION
- "The product registrations for the various zebra subdeamons.
- These registrations are guaranteed to be unique and are used
- for SMUX registration by default (if not overridden manually)."
- ::= { gnomeProducts 2 }
-
-zserv OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "zserv is part of the zebra project which again is a GNU
- endorsed internet routing program.
- zserv is the main zebra process which implements routing
- entries with the kernel and handles routing updates between
- other routing protocols."
- ::= { zebra 1 }
-
-bgpd OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "bgpd is part of the zebra project which again is a GNU
- endorsed internet routing program."
- ::= { zebra 2 }
-
-ripd OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "ripd is part of the zebra project which again is a GNU
- endorsed internet routing program."
- ::= { zebra 3 }
-
-ripngd OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "ripngd is part of the zebra project which again is a GNU
- endorsed internet routing program."
- ::= { zebra 4 }
-
-ospfd OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "ospfd is part of the zebra project which again is a GNU
- endorsed internet routing program."
- ::= { zebra 5 }
-
-ospf6d OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "ospf6d is part of the zebra project which again is a GNU
- endorsed internet routing program."
- ::= { zebra 6 }
-
-END
diff --git a/zebra/GNOME-SMI b/zebra/GNOME-SMI deleted file mode 100644 index 164732bb40..0000000000 --- a/zebra/GNOME-SMI +++ /dev/null @@ -1,53 +0,0 @@ -GNOME-SMI DEFINITIONS ::= BEGIN
-
-IMPORTS
- MODULE-IDENTITY,
- OBJECT-IDENTITY,
- enterprises
- FROM SNMPv2-SMI;
-
-gnome MODULE-IDENTITY
- LAST-UPDATED "9809010000Z"
- ORGANIZATION "GNOME project"
- CONTACT-INFO
- "GNU Network Object Model Environment project
-
- see http://www.gnome.org for contact persons of a particular
- area or subproject of GNOME.
-
- Administrative contact for MIB module:
-
- Jochen Friedrich
- Wingertstr. 70/1
- 68809 Neulussheim
- Germany
-
- email: snmp@gnome.org"
- DESCRIPTION
- "The Structure of GNOME."
- ::= { enterprises 3317 } -- assigned by IANA
-
-gnomeProducts OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "gnomeProducts is the root OBJECT IDENTIFIER from
- which sysObjectID values are assigned."
- ::= { gnome 1 }
-
-gnomeMgmt OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "gnomeMgmt defines the subtree for production GNOME related
- MIB registrations."
- ::= { gnome 2 }
-
-gnomeTest OBJECT-IDENTITY
- STATUS current
- DESCRIPTION
- "gnomeTest defines the subtree for testing GNOME related
- MIB registrations."
- ::= { gnome 3 }
-
--- more to come if necessary.
-
-END
diff --git a/zebra/subdir.am b/zebra/subdir.am index 69f7bc2041..5dc3750315 100644 --- a/zebra/subdir.am +++ b/zebra/subdir.am @@ -141,8 +141,3 @@ if DEV_BUILD zebra_zebra_fpm_la_SOURCES += zebra/zebra_fpm_dt.c endif endif - -EXTRA_DIST += \ - zebra/GNOME-SMI \ - zebra/GNOME-PRODUCT-ZEBRA-MIB \ - # end |
