Merge branch 'stable/2.0'

Fixed minor conflicts from "defaults" change on stable.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
This commit is contained in:
David Lamparter 2017-04-04 18:34:08 +02:00
commit 3e7c8d040c
57 changed files with 1112 additions and 192 deletions

View File

@ -2,6 +2,16 @@
[TOC]
## General note on this document
This document is "descriptive/post-factual" in that it documents pratices that
are in use; it is not "definitive/pre-factual" in prescribing practices.
This means that when a procedure changes, it is agreed upon, then put into
practice, and then documented here. If this document doesn't match reality,
it's the document that needs to be updated, not reality.
## Git Structure
The master Git for PROJECT resides on Github at
@ -10,20 +20,21 @@ The master Git for PROJECT resides on Github at
![git branches continually merging to the left from 3 lanes; float-right](doc/git_branches.svg
"git branch mechanics")
There are 3 main branches for development and a release branch for each
There is one main branch for development and a release branch for each
major release.
New contributions are done against the head of the Develop branch. The CI
New contributions are done against the head of the master branch. The CI
systems will pick up the Github Pull Requests or the new patch from
Patchwork, run some basic build and functional tests and will merge them
into the branch automatically on success.
Code on the develop branch will then be further tested and reviewed by the
community and merged to master on a regular interval.
Patchwork, run some basic build and functional tests.
For each major release (1.0, 1.1 etc) a new release branch is created based
on the master.
There was an attempt to use a "develop" branch automatically maintained by
the CI system. This is not currently in active use, though the system is
operational. If the "develop" branch is in active use and this paragraph
is still here, this document obviously wasn't updated.
## Programming language, Tools and Libraries
@ -250,16 +261,72 @@ Portions:
### Code styling / format
GNU coding standards apply. Indentation follows the result of invoking GNU
indent (as of 2.2.8a) with the `-nut -nfc1` arguments.
Coding style standards in FRR vary depending on location. Pre-existing
code uses GNU coding standards. New code may use Linux kernel coding style.
GNU coding style apply to the following parts:
* lib/
* zebra/
* bgpd/
* ospfd/
* ospf6d/
* isisd/
* ripd/
* ripngd/
* vtysh/
Linux kernel coding style applies to:
* nhrpd/
* watchfrr/
* pimd/
* lib/{checksum,hook,imsg-buffer,imsg,libfrr,md5,module,monotime,queue}.[ch]
BSD coding style applies to:
* ldpd/
**Whitespace changes in untouched parts of the code are not acceptable in
patches that change actual code.** To change/fix formatting issues, please
create a separate patch that only does formatting changes and nothing else.
It is acceptable to rewrap entire files to Linux kernel style, but this
**MUST** come as a separate patch that does nothing other than this
reformatting.
#### GNU style
For GNU coding style, Indentation follows the result of invoking GNU indent:
```
indent -nut -nfc1 file_for_submission.c
```
Please dont reformat existing files (or only sections modified by your
changes), even if they dont follow the standard. This makes it very hard to
highlight the changes
Originally, tabs were used instead of spaces, with tabs are every 8 columns.
However, tab interoperability issues mean space characters are now preferred for
new changes. We generally only clean up whitespace when code is unmaintainable
due to whitespace issues, to minimise merging conflicts.
#### Linux kernel & BSD style
These styles are documented externally:
* [https://www.kernel.org/doc/Documentation/CodingStyle](https://www.kernel.org/doc/Documentation/CodingStyle).
* [http://man.openbsd.org/style](http://man.openbsd.org/style)
They are relatively similar but differ in details.
pimd deviates from Linux kernel style in using 2 spaces for indentation, with
Tabs replacing 8 spaces, as well as adding a line break between `}` and `else`.
It is acceptable to convert indentation in pimd/ to Linux kernel style, but
please convert an entire file at a time. (Rationale: apart from 2-space
indentation, the styles are sufficiently close to not upset when mixed.)
Unlike GNU style, these styles use tabs, not spaces.
### Compile-Time conditional code
@ -307,4 +374,4 @@ of their debugs.
CLI's are a complicated ugly beast. Additions or changes to the CLI
should use a DEFUN to encapsulate one setting as much as is possible.
Additionally as new DEFUN's are added to the system, documentation
should be provided for the new commands.
should be provided for the new commands.

View File

@ -1,4 +1,4 @@
ChangeLog information for FreeRangeRouting is for now recorded in source-code
ChangeLog information for FRRouting is for now recorded in source-code
management system. Please see:
http://www.freerangerouting.org/
http://www.frrouting.org/

View File

@ -17,3 +17,5 @@ EXTRA_DIST = aclocal.m4 SERVICES REPORTING-BUGS \
tools/zebra.el tools/multiple-bgpd.sh
ACLOCAL_AMFLAGS = -I m4
noinst_HEADERS = defaults.h

View File

@ -1,5 +1,5 @@
This file describes the procedure for reporting FreeRangeRouting bugs. You are not
obliged to follow this format, but it would be great help for FreeRangeRouting developers
This file describes the procedure for reporting FRRouting bugs. You are not
obliged to follow this format, but it would be great help for FRRouting developers
if you report a bug as described below.
Bugs submitted with woefully incomplete information may be summarily
@ -10,10 +10,10 @@ non-response to requests to reconfirm or supply additional
information.
Report bugs on Github Issue Tracker at
https://github.com/freerangerouting/frr/issues
https://github.com/frrouting/frr/issues
Please supply the following information:
1. Your FreeRangeRouting version or if it is from git then the commit reference.
1. Your FRRouting version or if it is from git then the commit reference.
Please try to report bugs against git master or the latest release.
2. FRR daemons you run e.g. bgpd or ripd and full name of your OS. Any
specific options you compiled Quagga with.

View File

@ -2937,10 +2937,18 @@ bgp_create (as_t *as, const char *name, enum bgp_instance_type inst_type)
bgp->stalepath_time = BGP_DEFAULT_STALEPATH_TIME;
bgp->dynamic_neighbors_limit = BGP_DYNAMIC_NEIGHBORS_LIMIT_DEFAULT;
bgp->dynamic_neighbors_count = 0;
#if DFLT_BGP_IMPORT_CHECK
bgp_flag_set (bgp, BGP_FLAG_IMPORT_CHECK);
#endif
#if DFLT_BGP_SHOW_HOSTNAME
bgp_flag_set (bgp, BGP_FLAG_SHOW_HOSTNAME);
#endif
#if DFLT_BGP_LOG_NEIGHBOR_CHANGES
bgp_flag_set (bgp, BGP_FLAG_LOG_NEIGHBOR_CHANGES);
#endif
#if DFLT_BGP_DETERMINISTIC_MED
bgp_flag_set (bgp, BGP_FLAG_DETERMINISTIC_MED);
#endif
bgp->addpath_tx_id = BGP_ADDPATH_TX_ID_FOR_DEFAULT_ORIGINATE;
bgp->as = *as;
@ -7379,8 +7387,11 @@ bgp_config_write (struct vty *vty)
inet_ntoa (bgp->router_id_static), VTY_NEWLINE);
/* BGP log-neighbor-changes. */
if (!bgp_flag_check (bgp, BGP_FLAG_LOG_NEIGHBOR_CHANGES))
vty_out (vty, " no bgp log-neighbor-changes%s", VTY_NEWLINE);
if (!!bgp_flag_check (bgp, BGP_FLAG_LOG_NEIGHBOR_CHANGES)
!= DFLT_BGP_LOG_NEIGHBOR_CHANGES)
vty_out (vty, " %sbgp log-neighbor-changes%s",
bgp_flag_check (bgp, BGP_FLAG_LOG_NEIGHBOR_CHANGES) ? "" : "no ",
VTY_NEWLINE);
/* BGP configuration. */
if (bgp_flag_check (bgp, BGP_FLAG_ALWAYS_COMPARE_MED))
@ -7396,8 +7407,11 @@ bgp_config_write (struct vty *vty)
bgp->default_local_pref, VTY_NEWLINE);
/* BGP default show-hostname */
if (!bgp_flag_check(bgp, BGP_FLAG_SHOW_HOSTNAME))
vty_out (vty, " no bgp default show-hostname%s", VTY_NEWLINE);
if (!!bgp_flag_check(bgp, BGP_FLAG_SHOW_HOSTNAME)
!= DFLT_BGP_SHOW_HOSTNAME)
vty_out (vty, " %sbgp default show-hostname%s",
bgp_flag_check (bgp, BGP_FLAG_SHOW_HOSTNAME) ? "" : "no ",
VTY_NEWLINE);
/* BGP default subgroup-pkt-queue-max. */
if (bgp->default_subgroup_pkt_queue_max != BGP_DEFAULT_SUBGROUP_PKT_QUEUE_MAX)
@ -7440,8 +7454,11 @@ bgp_config_write (struct vty *vty)
vty_out (vty, " bgp enforce-first-as%s", VTY_NEWLINE);
/* BGP deterministic-med. */
if (!bgp_flag_check (bgp, BGP_FLAG_DETERMINISTIC_MED))
vty_out (vty, " no bgp deterministic-med%s", VTY_NEWLINE);
if (!!bgp_flag_check (bgp, BGP_FLAG_DETERMINISTIC_MED)
!= DFLT_BGP_DETERMINISTIC_MED)
vty_out (vty, " %sbgp deterministic-med%s",
bgp_flag_check (bgp, BGP_FLAG_DETERMINISTIC_MED) ? "" : "no ",
VTY_NEWLINE);
/* BGP update-delay. */
bgp_config_write_update_delay (vty, bgp);
@ -7517,8 +7534,11 @@ bgp_config_write (struct vty *vty)
}
/* BGP network import check. */
if (!bgp_flag_check (bgp, BGP_FLAG_IMPORT_CHECK))
vty_out (vty, " no bgp network import-check%s", VTY_NEWLINE);
if (!!bgp_flag_check (bgp, BGP_FLAG_IMPORT_CHECK)
!= DFLT_BGP_IMPORT_CHECK)
vty_out (vty, " %sbgp network import-check%s",
bgp_flag_check (bgp, BGP_FLAG_IMPORT_CHECK) ? "" : "no ",
VTY_NEWLINE);
/* BGP flag dampening. */
if (CHECK_FLAG (bgp->af_flags[AFI_IP][SAFI_UNICAST],

View File

@ -31,6 +31,7 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
#include "sockunion.h"
#include "routemap.h"
#include "linklist.h"
#include "defaults.h"
#include "bgp_memory.h"
#define BGP_MAX_HOSTNAME 64 /* Linux max, is larger than most other sys */
@ -1068,12 +1069,13 @@ struct bgp_nlri
#define BGP_EVENTS_MAX 15
/* BGP timers default value. */
/* note: the DFLT_ ones depend on compile-time "defaults" selection */
#define BGP_INIT_START_TIMER 1
#define BGP_DEFAULT_HOLDTIME 9
#define BGP_DEFAULT_KEEPALIVE 3
#define BGP_DEFAULT_HOLDTIME DFLT_BGP_HOLDTIME
#define BGP_DEFAULT_KEEPALIVE DFLT_BGP_KEEPALIVE
#define BGP_DEFAULT_EBGP_ROUTEADV 0
#define BGP_DEFAULT_IBGP_ROUTEADV 0
#define BGP_DEFAULT_CONNECT_RETRY 10
#define BGP_DEFAULT_CONNECT_RETRY DFLT_BGP_TIMERS_CONNECT
/* BGP default local preference. */
#define BGP_DEFAULT_LOCAL_PREF 100

View File

@ -1,5 +1,5 @@
##
## Configure template file for FreeRangeRouting.
## Configure template file for FRRouting.
## autoconf will generate configure script.
##
## Copyright (c) 1996, 97, 98, 99, 2000 Kunihiro Ishiguro <kunihiro@zebra.org>
@ -7,9 +7,9 @@
##
AC_PREREQ(2.60)
AC_INIT(frr, 2.1-dev, [https://github.com/freerangerouting/frr/issues])
PACKAGE_URL="https://freerangerouting.org/"
PACKAGE_FULLNAME="FreeRangeRouting"
AC_INIT(frr, 2.1-dev, [https://github.com/frrouting/frr/issues])
PACKAGE_URL="https://frrouting.org/"
PACKAGE_FULLNAME="FRRouting"
AC_SUBST(PACKAGE_FULLNAME)
CONFIG_ARGS="$ac_configure_args"
@ -352,7 +352,12 @@ AC_SUBST(MPLS_METHOD)
if test "${enable_cumulus}" = "yes" ; then
AC_DEFINE(HAVE_CUMULUS,,Compile Special Cumulus Code in)
DFLT_NAME="datacenter"
else
DFLT_NAME="traditional"
fi
AC_SUBST(DFLT_NAME)
AC_DEFINE_UNQUOTED(DFLT_NAME,["$DFLT_NAME"], Name of the configuration default set)
if test "${enable_shell_access}" = "yes"; then
AC_DEFINE(HAVE_SHELL_ACCESS,,Allow user to use ssh/telnet/bash)
@ -1681,6 +1686,7 @@ AC_CONFIG_FILES([Makefile lib/Makefile qpb/Makefile zebra/Makefile ripd/Makefile
snapcraft/Makefile
snapcraft/snapcraft.yaml
lib/version.h
tests/lib/cli/test_cli.refout
doc/defines.texi
doc/bgpd.8
doc/isisd.8
@ -1716,7 +1722,7 @@ AC_CONFIG_FILES([vtysh/extract.pl],[chmod +x vtysh/extract.pl])
AC_OUTPUT
echo "
FreeRangeRouting configuration
FRRouting configuration
------------------------------
FRR version : ${PACKAGE_VERSION}
host operating system : ${host_os}

View File

@ -14,7 +14,7 @@ available forcing you to explicitly type "apt-get install frr" to upgrade it.
* What is frr?
=================
http://www.freerangerouting.org/
http://www.frrouting.org/
FRR is a routing software suite, providing implementations of OSPFv2,
OSPFv3, RIP v1 and v2, RIPng, ISIS, PIM, BGP and LDP for Unix platforms, particularly
FreeBSD and Linux and also NetBSD, to mention a few. FRR is a fork of Quagga

4
debian/copyright vendored
View File

@ -1,7 +1,7 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Frr
Upstream-Contact: maintainers@freerangerouting.org, security@freerangerouting.org
Source: http://www.freerangerouting.org/
Upstream-Contact: maintainers@frrouting.org, security@frrouting.org
Source: http://www.frrouting.org/
Files: *
Copyright: 1996-2003 by the original Zebra authors:

54
defaults.h Normal file
View File

@ -0,0 +1,54 @@
/*
* FRR switchable defaults.
* Copyright (C) 2017 David Lamparter for NetDEF, Inc.
*
* This file is part of FRRouting (FRR).
*
* FRR is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License as published by the Free Software
* Foundation; either version 2, or (at your option) any later version.
*
* FRR is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along
* with FRR; see the file COPYING. If not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef _FRR_DEFAULTS_H
#define _FRR_DEFAULTS_H
#include "config.h"
#ifdef HAVE_CUMULUS
#define DFLT_BGP_IMPORT_CHECK 1
#define DFLT_BGP_TIMERS_CONNECT 10
#define DFLT_BGP_HOLDTIME 9
#define DFLT_BGP_KEEPALIVE 3
#define DFLT_BGP_LOG_NEIGHBOR_CHANGES 1
#define DFLT_BGP_SHOW_HOSTNAME 1
#define DFLT_BGP_DETERMINISTIC_MED 1
#define DFLT_OSPF_LOG_ADJACENCY_CHANGES 1
#define DFLT_OSPF6_LOG_ADJACENCY_CHANGES 1
#else /* !HAVE_CUMULUS */
#define DFLT_BGP_IMPORT_CHECK 0
#define DFLT_BGP_TIMERS_CONNECT 120
#define DFLT_BGP_HOLDTIME 180
#define DFLT_BGP_KEEPALIVE 60
#define DFLT_BGP_LOG_NEIGHBOR_CHANGES 0
#define DFLT_BGP_SHOW_HOSTNAME 0
#define DFLT_BGP_DETERMINISTIC_MED 0
#define DFLT_OSPF_LOG_ADJACENCY_CHANGES 0
#define DFLT_OSPF6_LOG_ADJACENCY_CHANGES 0
#endif /* !HAVE_CUMULUS */
#endif /* _FRR_DEFAULTS_H */

View File

@ -69,7 +69,7 @@ any packages**
sudo groupadd -g 92 frr
sudo groupadd -r -g 85 frrvt
sudo useradd -u 92 -g 92 -M -r -G frrvt -s /sbin/nologin \
-c "FRR FreeRangeRouting suite" -d /var/run/frr frr
-c "FRR FRRouting suite" -d /var/run/frr frr
### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just
@ -78,7 +78,7 @@ an example.)
You may want to pay special attention to `/usr/lib64` paths and change
them if you are not building on a x86_64 architecture
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
./configure \

View File

@ -32,7 +32,7 @@ any packages**
sudo groupadd -g 92 frr
sudo groupadd -r -g 85 frrvt
sudo useradd -u 92 -g 92 -M -r -G frrvt -s /sbin/nologin \
-c "FRR FreeRangeRouting suite" -d /var/run/frr frr
-c "FRR FRRouting suite" -d /var/run/frr frr
### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just
@ -41,7 +41,7 @@ an example.)
You may want to pay special attention to `/usr/lib64` paths and change
them if you are not building on a x86_64 architecture
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
./configure \

View File

@ -32,14 +32,14 @@ any packages**
sudo addgroup --system --gid 92 frr
sudo addgroup --system --gid 85 frrvty
sudo adduser --system --ingroup frr --groups frrvty --home /var/run/frr/ \
--gecos "FRR FreeRangeRouting suite" --shell /bin/false frr
--gecos "FRR FRRouting suite" --shell /bin/false frr
sudo usermode
### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just
an example.)
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
./configure \

View File

@ -22,7 +22,7 @@ using any packages**
sudo groupadd -g 92 frr
sudo groupadd -r -g 85 frrvt
sudo useradd -u 92 -g 92 -M -r -G frrvt -s /sbin/nologin \
-c "FRR FreeRangeRouting suite" -d /var/run/frr frr
-c "FRR FRRouting suite" -d /var/run/frr frr
### Download Source, configure and compile it
(You may prefer different options on configure statement. These are just
@ -31,7 +31,7 @@ an example.)
You may want to pay special attention to `/usr/lib64` paths and change
them if you are not building on a x86_64 architecture
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
./configure \

View File

@ -41,7 +41,7 @@ using any packages**
(You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
export MAKE=gmake

View File

@ -41,7 +41,7 @@ using any packages**
(You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
export MAKE=gmake

View File

@ -49,7 +49,7 @@ using any packages**
(You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
export MAKE=gmake

View File

@ -45,7 +45,7 @@ Get FRR, compile it and install it (from Git)
(You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
MAKE=gmake

View File

@ -39,7 +39,7 @@ Get FRR, compile it and install it (from Git)
(You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
MAKE=gmake

View File

@ -87,7 +87,7 @@ any packages**
(You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
export MAKE=gmake

View File

@ -34,7 +34,7 @@ any packages**
(You may prefer different options on configure statement. These are just
an example)
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
export LDFLAGS="-L/usr/local/lib"

View File

@ -72,7 +72,7 @@ any packages**
(You may prefer different options on configure statement. These are just
an example.)
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
./configure \

View File

@ -32,7 +32,7 @@ any packages**
(You may prefer different options on configure statement. These are just
an example.)
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
./configure \

View File

@ -33,7 +33,7 @@ any packages**
(You may prefer different options on configure statement. These are just
an example.)
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
./configure \

View File

@ -7,7 +7,7 @@
@setfilename frr.info
@c Set variables - sourced from defines.texi
@include defines.texi
@settitle @uref{http://www.freerangerouting.org,,@value{PACKAGE_NAME}}
@settitle @uref{http://www.frrouting.org,,@value{PACKAGE_NAME}}
@c %**end of header
@c automake will automatically generate version.texi
@ -48,16 +48,16 @@ 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.org/,,@value{PACKAGE_NAME}}
@cite{The Frr Manual}, for @uref{http://www.frrouting.org/,,@value{PACKAGE_NAME}}
Version @value{VERSION}.
@insertcopying
@end ifinfo
@titlepage
@title @uref{http://www.freerangerouting.org,,Frr}
@title @uref{http://www.frrouting.org,,Frr}
@subtitle A routing software package for TCP/IP networks
@subtitle @uref{http://www.freerangerouting.org,,@value{PACKAGE_NAME}} @value{VERSION}
@subtitle @uref{http://www.frrouting.org,,@value{PACKAGE_NAME}} @value{VERSION}
@subtitle @value{UPDATED-MONTH}
@author @value{AUTHORS}
@ -72,9 +72,9 @@ Version @value{VERSION}.
@node Top
@top Frr -- With Virtual Network Control
@uref{http://www.freerangerouting.org,,Frr} is an advanced routing software package
@uref{http://www.frrouting.org,,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.org,,Frr} is a fork of
for @value{PACKAGE_STRING}. @uref{http://www.frrouting.org,,Frr} is a fork of
@uref{http://www.quagga.net,,Quagga}.
@insertcopying

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -2,7 +2,7 @@
@chapter Overview
@cindex Overview
@uref{http://www.freerangerouting.org,,Frr} is a routing software package that
@uref{http://www.frrouting.org,,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}). Frr also supports special BGP Route Reflector and Route Server
@ -275,12 +275,12 @@ November 1995.}
The official Frr web-site is located at:
@uref{http://www.freerangerouting.org/}
@uref{http://www.frrouting.org/}
and contains further information, as well as links to additional
resources.
@uref{http://www.freerangerouting.org/,Frr} is a fork of Quagga, whose
@uref{http://www.frrouting.org/,Frr} is a fork of Quagga, whose
web-site is located at:
@uref{http://www.quagga.net/}.
@ -298,7 +298,7 @@ comments or suggestions to Frr, please subscribe to:
@uref{http://lists.nox.tf/listinfo/frr-users}.
The @uref{http://www.freerangerouting.org/,,Frr} site has further information on
The @uref{http://www.frrouting.org/,,Frr} site has further information on
the available mailing lists, see:
@uref{http://lists.nox.tf/lists.php}
@ -315,7 +315,7 @@ the available mailing lists, see:
If you think you have found a bug, please send a bug report to:
@uref{http://github.com/freerangerouting/frr/issues}
@uref{http://github.com/frrouting/frr/issues}
When you send a bug report, please be careful about the points below.
@ -334,4 +334,4 @@ arguments to the configure script please note that too.
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}.
send a bug report to @uref{http://github.com/frrouting/frr/issues}.

View File

@ -41,6 +41,7 @@
#include "vrf.h"
#include "command_match.h"
#include "qobj.h"
#include "defaults.h"
DEFINE_MTYPE( LIB, HOST, "Host config")
DEFINE_MTYPE( LIB, STRVEC, "String vector")
@ -1536,6 +1537,23 @@ DEFUN (show_version,
return CMD_SUCCESS;
}
/* "Set" version ... ignore version tags */
DEFUN (frr_version_defaults,
frr_version_defaults_cmd,
"frr <version|defaults> LINE...",
"FRRouting global parameters\n"
"version configuration was written by\n"
"set of configuration defaults used\n"
"version string\n")
{
if (vty->type == VTY_TERM || vty->type == VTY_SHELL)
/* only print this when the user tries to do run it */
vty_out (vty, "%% NOTE: This command currently does nothing.%s"
"%% It is written to the configuration for future reference.%s",
VTY_NEWLINE, VTY_NEWLINE);
return CMD_SUCCESS;
}
/* Help display function for all node. */
DEFUN (config_help,
config_help_cmd,
@ -1636,6 +1654,37 @@ DEFUN (show_commandtree,
return cmd_list_cmds (vty, argc == 3);
}
static void
vty_write_config (struct vty *vty)
{
size_t i;
struct cmd_node *node;
if (vty->type == VTY_TERM)
{
vty_out (vty, "%sCurrent configuration:%s", VTY_NEWLINE,
VTY_NEWLINE);
vty_out (vty, "!%s", VTY_NEWLINE);
}
vty_out (vty, "frr version %s%s", FRR_VER_SHORT, VTY_NEWLINE);
vty_out (vty, "frr defaults %s%s", DFLT_NAME, VTY_NEWLINE);
vty_out (vty, "!%s", VTY_NEWLINE);
for (i = 0; i < vector_active (cmdvec); i++)
if ((node = vector_slot (cmdvec, i)) && node->func
&& (node->vtysh || vty->type != VTY_SHELL))
{
if ((*node->func) (vty))
vty_out (vty, "!%s", VTY_NEWLINE);
}
if (vty->type == VTY_TERM)
{
vty_out (vty, "end%s",VTY_NEWLINE);
}
}
/* Write current configuration into file. */
DEFUN (config_write,
@ -1647,9 +1696,7 @@ DEFUN (config_write,
"Write configuration to terminal\n")
{
int idx_type = 1;
unsigned int i;
int fd, dirfd;
struct cmd_node *node;
char *config_file, *slash;
char *config_file_tmp = NULL;
char *config_file_sav = NULL;
@ -1660,32 +1707,10 @@ DEFUN (config_write,
// if command was 'write terminal' or 'show running-config'
if (argc == 2 && (!strcmp(argv[idx_type]->text, "terminal") ||
!strcmp(argv[0]->text, "show")))
{
if (vty->type == VTY_SHELL_SERV)
{
for (i = 0; i < vector_active (cmdvec); i++)
if ((node = vector_slot (cmdvec, i)) && node->func && node->vtysh)
{
if ((*node->func) (vty))
vty_out (vty, "!%s", VTY_NEWLINE);
}
}
else
{
vty_out (vty, "%sCurrent configuration:%s", VTY_NEWLINE,
VTY_NEWLINE);
vty_out (vty, "!%s", VTY_NEWLINE);
for (i = 0; i < vector_active (cmdvec); i++)
if ((node = vector_slot (cmdvec, i)) && node->func)
{
if ((*node->func) (vty))
vty_out (vty, "!%s", VTY_NEWLINE);
}
vty_out (vty, "end%s",VTY_NEWLINE);
}
return CMD_SUCCESS;
}
{
vty_write_config (vty);
return CMD_SUCCESS;
}
if (host.noconfig)
return CMD_SUCCESS;
@ -1749,13 +1774,7 @@ DEFUN (config_write,
vty_out (file_vty, "!\n! Zebra configuration saved from vty\n! ");
vty_time_print (file_vty, 1);
vty_out (file_vty, "!\n");
for (i = 0; i < vector_active (cmdvec); i++)
if ((node = vector_slot (cmdvec, i)) && node->func)
{
if ((*node->func) (file_vty))
vty_out (file_vty, "!\n");
}
vty_write_config (file_vty);
vty_close (file_vty);
if (stat(config_file, &conf_stat) >= 0)
@ -1817,7 +1836,9 @@ DEFUN (copy_runningconf_startupconf,
"Copy running config to... \n"
"Copy running config to startup config (same as write file)\n")
{
return config_write (self, vty, argc, argv);
if (!host.noconfig)
vty_write_config (vty);
return CMD_SUCCESS;
}
/** -- **/
@ -2694,6 +2715,7 @@ cmd_init (int terminal)
install_element (CONFIG_NODE, &hostname_cmd);
install_element (CONFIG_NODE, &no_hostname_cmd);
install_element (CONFIG_NODE, &frr_version_defaults_cmd);
if (terminal > 0)
{

View File

@ -731,7 +731,7 @@ zprivs_init(struct zebra_privs_t *zprivs)
if (zprivs->user)
{
ngroups = sizeof(groups);
if ( (ngroups = getgrouplist (zprivs->user, zprivs_state.zgid, groups, &ngroups )) < 0 )
if (getgrouplist (zprivs->user, zprivs_state.zgid, groups, &ngroups) < 0)
{
/* cant use log.h here as it depends on vty */
fprintf (stderr, "privs_init: could not getgrouplist for user %s\n",

View File

@ -39,8 +39,9 @@
#define FRR_SMUX_NAME "@PACKAGE_NAME@"
#define FRR_PTM_NAME "@PACKAGE_NAME@"
#define FRR_FULL_NAME "FreeRangeRouting"
#define FRR_FULL_NAME "FRRouting"
#define FRR_VERSION "@PACKAGE_VERSION@" GIT_SUFFIX
#define FRR_VER_SHORT "@PACKAGE_VERSION@"
#define FRR_BUG_ADDRESS "@PACKAGE_BUGREPORT@"
#define FRR_COPYRIGHT "Copyright 1996-2005 Kunihiro Ishiguro, et al."
#define FRR_CONFIG_ARGS "@CONFIG_ARGS@"

View File

@ -29,6 +29,7 @@
#include "table.h"
#include "thread.h"
#include "command.h"
#include "defaults.h"
#include "ospf6_proto.h"
#include "ospf6_message.h"
@ -160,7 +161,10 @@ ospf6_create (void)
o->distance_table = route_table_init ();
/* Enable "log-adjacency-changes" */
#if DFLT_OSPF6_LOG_ADJACENCY_CHANGES
SET_FLAG(o->config_flags, OSPF6_LOG_ADJACENCY_CHANGES);
#endif
QOBJ_REG (o, ospf6);
return o;
@ -1022,8 +1026,10 @@ config_write_ospf6 (struct vty *vty)
{
if (CHECK_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_DETAIL))
vty_out(vty, " log-adjacency-changes detail%s", VTY_NEWLINE);
else if (!DFLT_OSPF6_LOG_ADJACENCY_CHANGES)
vty_out(vty, " log-adjacency-changes%s", VTY_NEWLINE);
}
else
else if (DFLT_OSPF6_LOG_ADJACENCY_CHANGES)
{
vty_out(vty, " no log-adjacency-changes%s", VTY_NEWLINE);
}

View File

@ -2,7 +2,7 @@
* OSPFd dump routine (parts used by ospfclient).
* Copyright (C) 1999, 2000 Toshiaki Takada
*
* This file is part of FreeRangeRouting (FRR).
* This file is part of FRRouting (FRR).
*
* FRR is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License as published by the Free Software

View File

@ -2,7 +2,7 @@
* OSPFd dump routine (parts used by ospfclient).
* Copyright (C) 1999 Toshiaki Takada
*
* This file is part of FreeRangeRouting (FRR).
* This file is part of FRRouting (FRR).
*
* FRR is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License as published by the Free Software

View File

@ -34,6 +34,7 @@
#include "log.h"
#include "zclient.h"
#include <lib/json.h>
#include "defaults.h"
#include "ospfd/ospfd.h"
#include "ospfd/ospf_asbr.h"
@ -8806,8 +8807,10 @@ ospf_config_write (struct vty *vty)
{
if (CHECK_FLAG(ospf->config, OSPF_LOG_ADJACENCY_DETAIL))
vty_out(vty, " log-adjacency-changes detail%s", VTY_NEWLINE);
else if (!DFLT_OSPF_LOG_ADJACENCY_CHANGES)
vty_out(vty, " log-adjacency-changes%s", VTY_NEWLINE);
}
else
else if (DFLT_OSPF_LOG_ADJACENCY_CHANGES)
{
vty_out(vty, " no log-adjacency-changes%s", VTY_NEWLINE);
}

View File

@ -35,6 +35,7 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
#include "plist.h"
#include "sockopt.h"
#include "bfd.h"
#include "defaults.h"
#include "ospfd/ospfd.h"
#include "ospfd/ospf_network.h"
@ -292,7 +293,10 @@ ospf_new (u_short instance)
new->write_oi_count = OSPF_WRITE_INTERFACE_COUNT_DEFAULT;
/* Enable "log-adjacency-changes" */
#if DFLT_OSPF_LOG_ADJACENCY_CHANGES
SET_FLAG(new->config, OSPF_LOG_ADJACENCY_CHANGES);
#endif
QOBJ_REG (new, ospf);
return new;

View File

@ -1,4 +1,4 @@
Building your own FreeRangeRouting RPM
Building your own FRRouting RPM
======================================
(Tested on CentOS 6, CentOS 7 and Fedora 22.)
@ -12,7 +12,7 @@ Building your own FreeRangeRouting RPM
2. Checkout FRR under a **unpriviledged** user account
git clone https://github.com/freerangerouting/frr.git frr
git clone https://github.com/frrouting/frr.git frr
3. Run Bootstrap and make distribution tar.gz

View File

@ -8,7 +8,7 @@
# rpms again and again on the same day, so the newer rpms can be installed.
# bumping the number each time.
####################### FreeRangeRouting (FRR) configure options #########################
####################### FRRouting (FRR) configure options #########################
# with-feature options
%{!?with_tcp_zebra: %global with_tcp_zebra 0 }
%{!?with_pam: %global with_pam 0 }
@ -107,8 +107,8 @@ Version: %{rpmversion}
Release: @CONFDATE@%{release_rev}%{?dist}
License: GPLv2+
Group: System Environment/Daemons
Source0: http://www.freerangerouting.org/releases/frr/%{name}-%{frrversion}.tar.gz
URL: http://www.freerangerouting.org
Source0: http://www.frrouting.org/releases/frr/%{name}-%{frrversion}.tar.gz
URL: http://www.frrouting.org
Requires: ncurses json-c
Requires(pre): /sbin/install-info
Requires(preun): /sbin/install-info
@ -135,14 +135,14 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-root
Obsoletes: bird gated mrt zebra frr-sysvinit
%description
FreeRangeRouting is a free software that manages TCP/IP based routing
FRRouting is a free software that manages TCP/IP based routing
protocol. It takes multi-server and multi-thread approach to resolve
the current complexity of the Internet.
FreeRangeRouting supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM,
LDP and NHRP.
FRRouting supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, LDP
and NHRP.
FreeRangeRouting is a fork of Quagga.
FRRouting is a fork of Quagga.
%package contrib
Summary: contrib tools for frr
@ -315,7 +315,7 @@ if getent group %frr_user >/dev/null; then : ; else \
fi
if getent passwd %frr_user >/dev/null ; then : ; else \
/usr/sbin/useradd -u %frr_uid -g %frr_gid \
-M -r -s /sbin/nologin -c "FreeRangeRouting suite" \
-M -r -s /sbin/nologin -c "FRRouting suite" \
-d %_localstatedir %frr_user 2> /dev/null || : ; \
fi
%if 0%{?vty_group:1}
@ -594,8 +594,8 @@ rm -rf %{buildroot}
* Tue Feb 14 2017 Timo Teräs <timo.teras@iki.fi> - %{version}
- add nhrpd
* Fri Jan 6 2017 Martin Winter <mwinter@opensourcerouting.org>
- Renamed to frr for FreeRangeRouting fork of Quagga
* Fri Jan 6 2017 Martin Winter <mwinter@opensourcerouting.org> - %{version}
- Renamed to frr for FRRouting fork of Quagga
* Thu Feb 11 2016 Paul Jakma <paul@jakma.org>
- remove with_ipv6 conditionals, always build v6

View File

@ -1,11 +1,5 @@
EXTRA_DIST = snapcraft.yaml \
scripts/Makefile scripts/zebra-service scripts/bgpd-service \
scripts/isisd-service scripts/ripd-service scripts/ripngd-service \
scripts/ospf6d-service scripts/ospfd-service \
scripts/isisd-service scripts/pimd-service \
scripts/ldpd-service \
defaults/bgpd.conf.default defaults/isisd.conf.default \
defaults/ospf6d.conf.default defaults/ospfd.conf.default \
defaults/pimd.conf.default defaults/zebra.conf.default \
defaults/ripd.conf.default defaults/ripngd.conf.default \
defaults/ldpd.conf.default defaults/vtysh.conf.default
README.* \
scripts/Makefile scripts/*-service \
defaults/*.conf.default \
helpers snap

View File

@ -1,4 +1,4 @@
Building your own FreeRangeRouting Snap
Building your own FRRouting Snap
========================================
(Tested on Ubuntu 16.04 with Snap Version 2, does not work on Ubuntu 15.x
which uses earlier versions of snaps)
@ -7,9 +7,9 @@ which uses earlier versions of snaps)
sudo apt-get install snapcraft
2. Checkout FreeRangeRouting under a **unpriviledged** user account
2. Checkout FRRouting under a **unpriviledged** user account
git clone https://github.com/freerangerouting/frr.git
git clone https://github.com/frrouting/frr.git
cd frr
3. Run Bootstrap and make distribution tar.gz
@ -56,8 +56,8 @@ The Snap will be auto-started and running.
Operations
==========
### FreeRangeRouting Daemons
At this time, all FreeRangeRouting daemons are auto-started.
### FRRouting Daemons
At this time, all FRRouting daemons are auto-started.
A daemon can be stopped/started with (ie ospf6d)
@ -69,7 +69,7 @@ or disabled/enabled with
systemctl disable snap.frr.ospf6d.service
systemctl enable snap.frr.ospf6d.service
### FreeRangeRouting Commands
### FRRouting Commands
All the commands are prefixed with frr.
frr.vtysh -> vtysh

View File

@ -1,14 +1,14 @@
Using the FreeRangeRouting Snap
Using the FRRouting Snap
===============================
After installing the Snap, the priviledged plug need to be connected:
snap connect frr:network-control ubuntu-core:network-control
Enabling/Disabling FreeRangeRouting Daemons
Enabling/Disabling FRRouting Daemons
-------------------------------------------
By default (at this time), all FreeRangeRouting daemons will be enabled
By default (at this time), all FRRouting daemons will be enabled
on installation. If you want to disable a specific daemon, then use
the systemctl commands
@ -24,7 +24,7 @@ Commands defined by this snap
-----------------------------
- `frr.vtysh`:
FreeRangeRouting VTY Shell (configuration tool)
FRRouting VTY Shell (configuration tool)
- `frr.version`:
Returns output of `zebra --version` to display version and configured
options
@ -62,10 +62,10 @@ FAQ
Sourcecode available
====================
The source for this SNAP is available as part of the FreeRangeRouting
The source for this SNAP is available as part of the FRRouting
Source Code Distribution.
https://github.com/freerangerouting/frr.git
https://github.com/frrouting/frr.git
Instructions for rebuilding the snap are in `README.snap_build.md`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

BIN
snapcraft/snap/gui/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -1,11 +1,11 @@
name: frr
version: @VERSION@
summary: FreeRangeRouting BGP/OSPFv2/OSPFv3/ISIS/RIP/RIPng/PIM/LDP routing daemon
summary: FRRouting BGP/OSPFv2/OSPFv3/ISIS/RIP/RIPng/PIM/LDP routing daemon
description: BGP/OSPFv2/OSPFv3/ISIS/RIP/RIPng/PIM routing daemon
FreeRangeRouting (FRR) is free software which manages TCP/IP based routing
FRRouting (FRR) is free software which manages TCP/IP based routing
protocols. It supports BGP4, BGP4+, OSPFv2, OSPFv3, IS-IS, RIPv1, RIPv2,
RIPng, PIM and LDP as well as the IPv6 versions of these.
FreeRangeRouting (frr) is a fork of Quagga.
FRRouting (frr) is a fork of Quagga.
confinement: strict
grade: devel

View File

@ -15,13 +15,13 @@ Requirements:
i.manifest must be at least version 1.5. Place these scripts in
this directory if you are using Solaris 10 GA (which does not ship with
these scripts), or in the solaris/ directory in the FreeRangeRouting source.
these scripts), or in the solaris/ directory in the FRRouting source.
Package creation instructions:
------------------------------
1. Configure and build FreeRangeRouting (frr) in the top level build directory as per normal, eg:
1. Configure and build FRRouting (frr) in the top level build directory as per normal, eg:
./configure --prefix=/usr/local/frr \
--localstatedir=/var/run/frr \
@ -102,7 +102,7 @@ Install and post-install configuration notes:
# # svcs -l ripd
fmri svc:/network/routing/frr:ripd
name FreeRangeRouting: ripd, RIPv1/2 IPv4 routing protocol daemon.
name FRRouting: ripd, RIPv1/2 IPv4 routing protocol daemon.
enabled true
state online
next_state none
@ -117,7 +117,7 @@ Install and post-install configuration notes:
- Configuration of startup options is by way of SMF properties in a
property group named 'frr'. The defaults should automatically be
inline with how you configured FreeRangeRouting in Step 1 above.
inline with how you configured FRRouting in Step 1 above.
- By default the VTY interface is disabled. To change this, see below for
how to set the 'frr/vty_port' property as appropriate for
@ -176,11 +176,11 @@ Install and post-install configuration notes:
- As SMF is dependency aware, restarting network/zebra will restart all the
other daemons.
- To upgrade from one set of FreeRangeRouting packages to a newer release,
- To upgrade from one set of FRRouting packages to a newer release,
one must first pkgrm the installed packages. When one pkgrm's FRRsmf all
property configuration will be lost, and any customisations will have to
redone after installing the updated FRRsmf package.
- These packages are not supported by Sun Microsystems, report bugs via the
usual FreeRangeRouting channels, ie Issue Tracker. Improvements/contributions of course would be greatly appreciated.
usual FRRouting channels, ie Issue Tracker. Improvements/contributions of course would be greatly appreciated.

View File

@ -1,4 +1,4 @@
P FRRlibs FreeRangeRouting common runtime libraries
P FRRlibs FRRouting common runtime libraries
@PACKAGE_VERSION@,REV=@CONFDATE@
P SUNWcsu Core Solaris, (Usr)
P SUNWcsr Core Solaris Libraries (Root)

View File

@ -1,2 +1,2 @@
P FRRlibs FreeRangeRouting common runtime libraries
P FRRlibs FRRouting common runtime libraries
@PACKAGE_VERSION@,REV=@CONFDATE@

View File

@ -1,5 +1,5 @@
P SUNWcslr Core Solaris Libraries (Root)
P SUNWcsl Core Solaris, (Shared Libs)
P SUNWlibmsr Math & Microtasking Libraries (Root)
R FRRdaemons FreeRangeRouting daemons
R FRRdaemons FRRouting daemons
R FRRdev

View File

@ -1,4 +1,4 @@
P FRRaemons FreeRangeRouting daemons
P FRRaemons FRRouting daemons
@PACKAGE_VERSION@,REV=@CONFDATE@
P SUNWcsu Core Solaris, (Usr)
P SUNWcsr Core Solaris Libraries (Root)

View File

@ -3,20 +3,20 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# This file is part of FreeRangeRouting.
# This file is part of FRRouting.
#
# FreeRangeRouting is free software; you can redistribute it and/or modify
# FRRouting is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2, or (at your option) any
# later version.
#
# FreeRangeRouting is distributed in the hope that it will be useful, but
# FRRouting is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with FreeRangeRouting; see the file COPYING. If not, write to
# along with FRRouting; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
@ -74,7 +74,7 @@ handle_routeadm_upgrade () {
upgrade_config () {
DAEMON=$1
# handle upgrade of SUNWzebra to FreeRangeRouting
# handle upgrade of SUNWzebra to FRRouting
if [ -d "/etc/frr" -a ! -f "/etc/frr/${DAEMON}.conf" ] ; then
if [ -f "/etc/sfw/zebra/${DAEMON}.conf" ] ; then
cp "/etc/sfw/zebra/${DAEMON}.conf" \
@ -216,7 +216,7 @@ case "${DAEMON}" in
;;
esac
# Older FreeRangeRouting SMF packages pass daemon args on the commandline
# Older FRRouting SMF packages pass daemon args on the commandline
# Newer SMF routeadm model uses properties for each argument
# so we must handle that.
if [ smf_present -a -f "$ROUTEADMINCLUDE" ]; then

View File

@ -1,20 +1,20 @@
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
This file is part of FreeRangeRouting (FRR)
This file is part of FRRouting (FRR)
FreeRangeRouting is free software; you can redistribute it and/or
FRRouting is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2, or
(at your option) anylater version.
FreeRangeRouting is distributed in the hope that it will be useful,
FRRouting is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with FreeRangeRouting; see the file COPYING. If not, write to
along with FRRouting; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
@ -107,9 +107,9 @@
<propval name='value_authorization' type='astring'
value='solaris.smf.value.routing' />
<!-- Options common to FreeRangeRouting daemons
<!-- Options common to FRRouting daemons
Property names are equivalent to the long
option name, consult FreeRangeRouting documentation -->
option name, consult FRRouting documentation -->
<!-- The config file to use, if not the default -->
<propval name='config_file' type='astring' value=''/>
<!-- The vty_port to listen on if not the default.
@ -142,14 +142,14 @@
<template>
<common_name>
<loctext xml:lang='C'>
FreeRangeRouting: zebra, RIB, kernel intermediary and misc daemon
FRRouting: zebra, RIB, kernel intermediary and misc daemon
</loctext>
</common_name>
<documentation>
<manpage title='zebra' section='1M'
manpath='@mandir@' />
<doc_link name='freerangerouting.org'
uri='http://www.freerangerouting.org/' />
<doc_link name='frrouting.org'
uri='http://www.frrouting.org/' />
</documentation>
</template>
</instance>
@ -240,7 +240,7 @@
<propval name='value_authorization' type='astring'
value='solaris.smf.value.routing' />
<!-- Options common to FreeRangeRouting daemons -->
<!-- Options common to FRRouting daemons -->
<!-- The config file to use, if not the default -->
<propval name='config_file' type='astring' value=''/>
<!-- The vty_port to listen on if not the default.
@ -273,14 +273,14 @@
<template>
<common_name>
<loctext xml:lang='C'>
FreeRangeRouting: ripd, RIPv1/2 IPv4 routing protocol daemon.
FRRouting: ripd, RIPv1/2 IPv4 routing protocol daemon.
</loctext>
</common_name>
<documentation>
<manpage title='ripd' section='1M'
manpath='@mandir@' />
<doc_link name='freerangerouting.org'
uri='http://www.freerangerouting.org/' />
<doc_link name='frrouting.org'
uri='http://www.frrouting.org/' />
</documentation>
</template>
</instance>
@ -408,8 +408,8 @@
<documentation>
<manpage title='ripngd' section='1M'
manpath='@mandir@' />
<doc_link name='freerangerouting.org'
uri='http://www.freerangerouting.org/' />
<doc_link name='frrouting.org'
uri='http://www.frrouting.org/' />
</documentation>
</template>
</instance>
@ -539,8 +539,8 @@
<documentation>
<manpage title='ospfd' section='1M'
manpath='@mandir@' />
<doc_link name='freerangerouting.org'
uri='http://www.freerangerouting.org/' />
<doc_link name='frrouting.org'
uri='http://www.frrouting.org/' />
</documentation>
</template>
</instance>
@ -665,8 +665,8 @@
<documentation>
<manpage title='ospf6d' section='1M'
manpath='@mandir@' />
<doc_link name='freerangerouting.org'
uri='http://www.freerangerouting.org/' />
<doc_link name='frrouting.org'
uri='http://www.frrouting.org/' />
</documentation>
</template>
</instance>
@ -818,8 +818,8 @@
<documentation>
<manpage title='bgpd' section='1M'
manpath='@mandir@' />
<doc_link name='freerangerouting.org'
uri='http://www.freerangerouting.org/' />
<doc_link name='frrouting.org'
uri='http://www.frrouting.org/' />
</documentation>
</template>
</instance>

View File

@ -1,9 +1,9 @@
ARCH="@target_cpu@"
CATEGORY="system"
VERSION="@PACKAGE_VERSION@,REV=@CONFDATE@"
VENDOR="http://www.freerangerouting.org/"
VENDOR="http://www.frrouting.org/"
HOTLINE="@PACKAGE_BUGREPORT@"
EMAIL=maintainers@freerangerouting.org
EMAIL=maintainers@frrouting.org
DESC="@PACKAGE_NAME@ Routing Protocols"
MAXINST=1
CLASSES="none preserve renamenew manifest"

View File

@ -4,7 +4,7 @@
# Copyright (C) 2017 by David Lamparter & Christian Franke,
# Open Source Routing / NetDEF Inc.
#
# This file is part of FreeRangeRouting (FRR)
# This file is part of FRRouting (FRR)
#
# FRR is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
@ -27,6 +27,7 @@ import sys
import re
import inspect
import os
import difflib
import frrsix
@ -154,7 +155,18 @@ class TestMultiOut(_TestMultiOut):
#
class TestRefMismatch(Exception):
pass
def __init__(self, _test, outtext, reftext):
self.outtext = outtext.decode('utf8') if type(outtext) is bytes else outtext
self.reftext = reftext.decode('utf8') if type(reftext) is bytes else reftext
def __str__(self):
rv = 'Expected output and actual output differ:\n'
rv += '\n'.join(difflib.unified_diff(self.reftext.splitlines(),
self.outtext.splitlines(),
'outtext', 'reftext',
lineterm=''))
return rv
class TestExitNonzero(Exception):
pass

1
tests/lib/cli/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/test_cli.refout

View File

@ -304,6 +304,9 @@ test# show run
Current configuration:
!
frr version @PACKAGE_VERSION@
frr defaults @DFLT_NAME@
!
hostname test
!
!
@ -316,6 +319,9 @@ foohost(config)# do show run
Current configuration:
!
frr version @PACKAGE_VERSION@
frr defaults @DFLT_NAME@
!
hostname foohost
!
!

View File

@ -274,6 +274,7 @@ vtysh_config_parse_line (const char *line)
{
if (strncmp (line, "log", strlen ("log")) == 0
|| strncmp (line, "hostname", strlen ("hostname")) == 0
|| strncmp (line, "frr", strlen ("frr")) == 0
)
config_add_line_uniq (config_top, line);
else

View File

@ -50,8 +50,10 @@
#include "qpb/qpb_allocator.h"
#include "qpb/linear_allocator.h"
#ifdef HAVE_PROTOBUF
#include "qpb/qpb.h"
#include "fpm/fpm.pb-c.h"
#endif
/*
* Externs.

View File

@ -53,7 +53,7 @@ create_delete_route_message (qpb_allocator_t *allocator, rib_dest_t *dest,
}
fpm__delete_route__init(msg);
msg->vrf_id = rib_dest_vrf(dest)->vrf_id;
msg->vrf_id = rib_dest_vrf(dest)->vrf->vrf_id;
qpb_address_family_set(&msg->address_family, rib_dest_af(dest));
@ -159,7 +159,7 @@ create_add_route_message (qpb_allocator_t *allocator, rib_dest_t *dest,
fpm__add_route__init(msg);
msg->vrf_id = rib_dest_vrf(dest)->vrf_id;
msg->vrf_id = rib_dest_vrf(dest)->vrf->vrf_id;
qpb_address_family_set (&msg->address_family, rib_dest_af(dest));