Merge pull request #2910 from opensourcerouting/doc-summerclean-20180825

protocol vs. OS docs + SMUX leftovers
This commit is contained in:
Donald Sharp 2018-08-25 06:35:14 -04:00 committed by GitHub
commit 18d93bbb5a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 151 additions and 172 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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;
}

View File

@ -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();
});

View File

@ -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

View File

@ -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
==========================
Supported Protocols vs. Platform
================================
The following well-known protocols are supported:
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.
- BGP
- Babel
- EIGRP
- IS-IS
- LDP
- NHRP
- OSPFv2
- OSPFv3
- PIM
- RIP
- RIPNG
.. role:: mark
The following technologies are supported as well:
.. 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.)
- PBR (Policy Based Routing)
- VNC (Virtual Network Control)
+--+--------------------------------+----------------+--------------+------------+------------+------------+
| 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:

View File

@ -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

View File

@ -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

View File

@ -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