diff --git a/COMMUNITY.md b/COMMUNITY.md index 52777da968..704c47a95e 100644 --- a/COMMUNITY.md +++ b/COMMUNITY.md @@ -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 don’t reformat existing files (or only sections modified by your -changes), even if they don’t 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. \ No newline at end of file +should be provided for the new commands. diff --git a/ChangeLog b/ChangeLog index a201bb6819..ec7e6cdde8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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/ diff --git a/Makefile.am b/Makefile.am index aa978b7d25..89e7ea890e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 diff --git a/REPORTING-BUGS b/REPORTING-BUGS index ea36ff5eed..01f25a2051 100644 --- a/REPORTING-BUGS +++ b/REPORTING-BUGS @@ -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. diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index 30243e80b2..2b4f4c2695 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -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], diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h index 9ccc0e39de..a72974bc1d 100644 --- a/bgpd/bgpd.h +++ b/bgpd/bgpd.h @@ -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 diff --git a/configure.ac b/configure.ac index e46e44a8b7..1c34e6f489 100755 --- a/configure.ac +++ b/configure.ac @@ -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 @@ -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} diff --git a/debian/README.Debian b/debian/README.Debian index caded52075..4cf35d7e32 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -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 diff --git a/debian/copyright b/debian/copyright index 6a5ed98f91..7b873abd31 100644 --- a/debian/copyright +++ b/debian/copyright @@ -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: diff --git a/defaults.h b/defaults.h new file mode 100644 index 0000000000..57e35f3ce6 --- /dev/null +++ b/defaults.h @@ -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 */ diff --git a/doc/Building_FRR_on_CentOS6.md b/doc/Building_FRR_on_CentOS6.md index b18e53470b..9f40418fff 100644 --- a/doc/Building_FRR_on_CentOS6.md +++ b/doc/Building_FRR_on_CentOS6.md @@ -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 \ diff --git a/doc/Building_FRR_on_CentOS7.md b/doc/Building_FRR_on_CentOS7.md index e24c73a175..0ab5c0ff54 100644 --- a/doc/Building_FRR_on_CentOS7.md +++ b/doc/Building_FRR_on_CentOS7.md @@ -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 \ diff --git a/doc/Building_FRR_on_Debian8.md b/doc/Building_FRR_on_Debian8.md index 1acbb802f6..b902033d5e 100644 --- a/doc/Building_FRR_on_Debian8.md +++ b/doc/Building_FRR_on_Debian8.md @@ -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 \ diff --git a/doc/Building_FRR_on_Fedora24.md b/doc/Building_FRR_on_Fedora24.md index 0b9872bb09..941126da42 100644 --- a/doc/Building_FRR_on_Fedora24.md +++ b/doc/Building_FRR_on_Fedora24.md @@ -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 \ diff --git a/doc/Building_FRR_on_FreeBSD10.md b/doc/Building_FRR_on_FreeBSD10.md index 5f50bee0d9..36ef573bb0 100644 --- a/doc/Building_FRR_on_FreeBSD10.md +++ b/doc/Building_FRR_on_FreeBSD10.md @@ -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 diff --git a/doc/Building_FRR_on_FreeBSD11.md b/doc/Building_FRR_on_FreeBSD11.md index 9b327af1fd..d6affd688b 100644 --- a/doc/Building_FRR_on_FreeBSD11.md +++ b/doc/Building_FRR_on_FreeBSD11.md @@ -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 diff --git a/doc/Building_FRR_on_FreeBSD9.md b/doc/Building_FRR_on_FreeBSD9.md index 2fd4f1095c..41d3148ad7 100644 --- a/doc/Building_FRR_on_FreeBSD9.md +++ b/doc/Building_FRR_on_FreeBSD9.md @@ -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 diff --git a/doc/Building_FRR_on_NetBSD6.md b/doc/Building_FRR_on_NetBSD6.md index 3a2dea7c20..542a7f489e 100644 --- a/doc/Building_FRR_on_NetBSD6.md +++ b/doc/Building_FRR_on_NetBSD6.md @@ -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 diff --git a/doc/Building_FRR_on_NetBSD7.md b/doc/Building_FRR_on_NetBSD7.md index 38a116f4f1..821a6109f2 100644 --- a/doc/Building_FRR_on_NetBSD7.md +++ b/doc/Building_FRR_on_NetBSD7.md @@ -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 diff --git a/doc/Building_FRR_on_OmniOS.md b/doc/Building_FRR_on_OmniOS.md index a64b054417..2e9871467b 100644 --- a/doc/Building_FRR_on_OmniOS.md +++ b/doc/Building_FRR_on_OmniOS.md @@ -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 diff --git a/doc/Building_FRR_on_OpenBSD6.md b/doc/Building_FRR_on_OpenBSD6.md index 14a703b1d3..a59452a72b 100644 --- a/doc/Building_FRR_on_OpenBSD6.md +++ b/doc/Building_FRR_on_OpenBSD6.md @@ -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" diff --git a/doc/Building_FRR_on_Ubuntu1204.md b/doc/Building_FRR_on_Ubuntu1204.md index 03d66af629..82404097c5 100644 --- a/doc/Building_FRR_on_Ubuntu1204.md +++ b/doc/Building_FRR_on_Ubuntu1204.md @@ -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 \ diff --git a/doc/Building_FRR_on_Ubuntu1404.md b/doc/Building_FRR_on_Ubuntu1404.md index 5de2fd8bb9..0d7c6f76fe 100644 --- a/doc/Building_FRR_on_Ubuntu1404.md +++ b/doc/Building_FRR_on_Ubuntu1404.md @@ -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 \ diff --git a/doc/Building_FRR_on_Ubuntu1604.md b/doc/Building_FRR_on_Ubuntu1604.md index 996b8da898..b6e18088f0 100644 --- a/doc/Building_FRR_on_Ubuntu1604.md +++ b/doc/Building_FRR_on_Ubuntu1604.md @@ -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 \ diff --git a/doc/frr.texi b/doc/frr.texi index a64dc9e729..b08bb6fd04 100644 --- a/doc/frr.texi +++ b/doc/frr.texi @@ -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 diff --git a/doc/git_branches.svg b/doc/git_branches.svg index 3943eeacc8..0c2c96e39e 100644 --- a/doc/git_branches.svg +++ b/doc/git_branches.svg @@ -1,3 +1,720 @@ - -1.0ReleaseBranchMaster(Stable)Develop1.1ReleaseBranchVersion 1.0.a1Version 1.1.a1Version 1.1.a2Version 1.1.b1Patch Email (Patchwork)Github Pull RequestGithub Pull RequestPatch Email (Patchwork)Patch Email (Patchwork)Github Pull RequestGithub Pull RequestGithub Pull RequestPatch Email (Patchwork)Github Pull RequestGithub Pull RequestGithub Pull RequestGithub Pull RequestGithub Pull RequestGithub Pull RequestVersion 1.0.a2Version 1.0.b1Version 1.0.0Version 1.1.0Version 1.1.1Version 1.1.2 + + + + + image/svg+xml + + + + + + + + + + + + + + + 1.0ReleaseBranch + + + + + + + + + + Master(Stable) + + + + + + + + + 1.1ReleaseBranch + Version 1.0.a1 + Version 1.1.a1 + Version 1.1.a2 + + + + + Version 1.1.b1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Patch Email (Patchwork) + Github Pull Request + Github Pull Request + Patch Email (Patchwork) + Patch Email (Patchwork) + Github Pull Request + Github Pull Request + Github Pull Request + Patch Email (Patchwork) + Github Pull Request + Github Pull Request + Github Pull Request + Github Pull Request + Github Pull Request + Github Pull Request + + + + + + + + + Version 1.0.a2 + Version 1.0.b1 + Version 1.0.0 + Version 1.1.0 + Version 1.1.1 + Version 1.1.2 + + + + + + + + + + + + + + + + + + diff --git a/doc/overview.texi b/doc/overview.texi index 370ada3f8a..7ecf3d95c3 100644 --- a/doc/overview.texi +++ b/doc/overview.texi @@ -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}. diff --git a/lib/command.c b/lib/command.c index bfff581d9b..993d6f9055 100644 --- a/lib/command.c +++ b/lib/command.c @@ -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 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) { diff --git a/lib/privs.c b/lib/privs.c index 376d6f3365..decd4bb7db 100644 --- a/lib/privs.c +++ b/lib/privs.c @@ -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", diff --git a/lib/version.h.in b/lib/version.h.in index adc8278189..d9eabb9f81 100644 --- a/lib/version.h.in +++ b/lib/version.h.in @@ -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@" diff --git a/ospf6d/ospf6_top.c b/ospf6d/ospf6_top.c index 32dad36d9e..c2545afdc6 100644 --- a/ospf6d/ospf6_top.c +++ b/ospf6d/ospf6_top.c @@ -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); } diff --git a/ospfd/ospf_dump_api.c b/ospfd/ospf_dump_api.c index 20e7740d32..5ef262ce54 100644 --- a/ospfd/ospf_dump_api.c +++ b/ospfd/ospf_dump_api.c @@ -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 diff --git a/ospfd/ospf_dump_api.h b/ospfd/ospf_dump_api.h index c3ff1e3f54..1cd8257f0c 100644 --- a/ospfd/ospf_dump_api.h +++ b/ospfd/ospf_dump_api.h @@ -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 diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index 121ef018b2..6f72903695 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -34,6 +34,7 @@ #include "log.h" #include "zclient.h" #include +#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); } diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index 7cd3903678..30b1e9622f 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -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; diff --git a/redhat/README.rpm_build.md b/redhat/README.rpm_build.md index db3c7d45c8..6bec5d65cd 100644 --- a/redhat/README.rpm_build.md +++ b/redhat/README.rpm_build.md @@ -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 diff --git a/redhat/frr.spec.in b/redhat/frr.spec.in index b86d115507..c32e3e3af8 100644 --- a/redhat/frr.spec.in +++ b/redhat/frr.spec.in @@ -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 - %{version} - add nhrpd -* Fri Jan 6 2017 Martin Winter -- Renamed to frr for FreeRangeRouting fork of Quagga +* Fri Jan 6 2017 Martin Winter - %{version} +- Renamed to frr for FRRouting fork of Quagga * Thu Feb 11 2016 Paul Jakma - remove with_ipv6 conditionals, always build v6 diff --git a/snapcraft/Makefile.am b/snapcraft/Makefile.am index 15813be72f..8cc4e0b4c6 100644 --- a/snapcraft/Makefile.am +++ b/snapcraft/Makefile.am @@ -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 diff --git a/snapcraft/README.snap_build.md b/snapcraft/README.snap_build.md index 341b210f71..c4db51bd6a 100644 --- a/snapcraft/README.snap_build.md +++ b/snapcraft/README.snap_build.md @@ -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 diff --git a/snapcraft/README.usage.md b/snapcraft/README.usage.md index 2d2b32b6b7..aaff59438a 100644 --- a/snapcraft/README.usage.md +++ b/snapcraft/README.usage.md @@ -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` diff --git a/snapcraft/setup/gui/icon.png b/snapcraft/setup/gui/icon.png deleted file mode 100644 index e8f68e6dde..0000000000 Binary files a/snapcraft/setup/gui/icon.png and /dev/null differ diff --git a/snapcraft/snap/gui/icon.png b/snapcraft/snap/gui/icon.png new file mode 100644 index 0000000000..3ab3f8fc16 Binary files /dev/null and b/snapcraft/snap/gui/icon.png differ diff --git a/snapcraft/snapcraft.yaml.in b/snapcraft/snapcraft.yaml.in index a703766f0b..a20a1d0392 100644 --- a/snapcraft/snapcraft.yaml.in +++ b/snapcraft/snapcraft.yaml.in @@ -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 diff --git a/solaris/README.txt b/solaris/README.txt index 01f725b8fa..589570d881 100644 --- a/solaris/README.txt +++ b/solaris/README.txt @@ -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. diff --git a/solaris/depend.daemons.in b/solaris/depend.daemons.in index 64fb03ac19..a8ce943e31 100644 --- a/solaris/depend.daemons.in +++ b/solaris/depend.daemons.in @@ -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) diff --git a/solaris/depend.dev.in b/solaris/depend.dev.in index 5d8bf16ed6..1b65724a04 100644 --- a/solaris/depend.dev.in +++ b/solaris/depend.dev.in @@ -1,2 +1,2 @@ -P FRRlibs FreeRangeRouting common runtime libraries +P FRRlibs FRRouting common runtime libraries @PACKAGE_VERSION@,REV=@CONFDATE@ diff --git a/solaris/depend.libs.in b/solaris/depend.libs.in index 6ead0b2867..04f04efd01 100644 --- a/solaris/depend.libs.in +++ b/solaris/depend.libs.in @@ -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 diff --git a/solaris/depend.smf.in b/solaris/depend.smf.in index 66b11eba2a..b3b1bd778c 100644 --- a/solaris/depend.smf.in +++ b/solaris/depend.smf.in @@ -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) diff --git a/solaris/frr.init.in b/solaris/frr.init.in index 580fd9b35c..bd9ab85e69 100755 --- a/solaris/frr.init.in +++ b/solaris/frr.init.in @@ -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 diff --git a/solaris/frr.xml.in b/solaris/frr.xml.in index 5ac7e52721..08a9a11c0f 100644 --- a/solaris/frr.xml.in +++ b/solaris/frr.xml.in @@ -1,20 +1,20 @@ + option name, consult FRRouting documentation --> +