summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdebianpkg/backports/ubuntu12.04/debian/rules6
-rwxr-xr-xdebianpkg/backports/ubuntu14.04/debian/rules6
-rwxr-xr-xdebianpkg/rules6
-rw-r--r--doc/user/_static/overrides.css47
-rw-r--r--doc/user/_static/overrides.js13
-rw-r--r--doc/user/conf.py1
-rw-r--r--doc/user/overview.rst116
-rw-r--r--zebra/GNOME-PRODUCT-ZEBRA-MIB78
-rw-r--r--zebra/GNOME-SMI53
-rw-r--r--zebra/subdir.am5
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