Merge pull request #1522 from opensourcerouting/u1710-stable3

Ubuntu 17.10 fixes for stable/3.0 branch
This commit is contained in:
Donald Sharp 2017-12-07 16:04:44 -08:00 committed by GitHub
commit d1dc85e6fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 123 additions and 25 deletions

View File

@ -1685,6 +1685,7 @@ struct aspath *aspath_reconcile_as4(struct aspath *aspath,
" across 2/4 ASN boundary somewhere, broken..");
hops = seg->length;
}
/* fallthru */
case AS_SEQUENCE:
cpasns = MIN(seg->length, hops);
hops -= seg->length;

View File

@ -338,6 +338,7 @@ void bgp_timer_set(struct peer *peer)
BGP_TIMER_OFF(peer->t_gr_restart);
BGP_TIMER_OFF(peer->t_gr_stale);
BGP_TIMER_OFF(peer->t_pmax_restart);
/* fallthru */
case Clearing:
BGP_TIMER_OFF(peer->t_start);
BGP_TIMER_OFF(peer->t_connect);

View File

@ -387,7 +387,8 @@ int main(int argc, char **argv)
break;
case 'l':
bgp_address = optarg;
/* listenon implies -n */
/* listenon implies -n */
/* fallthru */
case 'n':
no_fib_flag = 1;
break;

View File

@ -29,6 +29,10 @@ EXTRA_DIST = README.Debian README.Maintainer \
backports/ubuntu16.04/debian/source/format \
backports/ubuntu16.04/exclude \
backports/ubuntu16.04/versionext \
backports/ubuntu17.10/debian/control \
backports/ubuntu17.10/debian/source/format \
backports/ubuntu17.10/exclude \
backports/ubuntu17.10/versionext \
frr-doc.docs frr-doc.info frr-doc.install \
frr-doc.lintian-overrides frr.conf \
frr.dirs frr.docs frr.install \

View File

@ -1,21 +1,26 @@
Building your own FRRouting Debian Package
==========================================
(Tested on Ubuntu 12.04, 14.04, 16.04 and Debian 8)
(Tested on Ubuntu 12.04, 14.04, 16.04, 17.10, Debian 8 and 9)
**Note:** If you try to build for a different distro, then it will most likely
fail because of the missing backport. See debianpkg/backports/README about
adding a new backport.
1. Follow the package installation as outlined in doc/Building_on_XXXX.md
(XXXX refers your OS Distribution) to install the required build packages
2. Install the following additional packages:
apt-get install realpath equivs groff fakeroot debhelper
apt-get install realpath equivs groff fakeroot debhelper devscripts
3. Checkout FRR under a **unpriviledged** user account
git clone https://github.com/frrouting/frr.git frr
cd frr
# git checkout <branch> - if different branch than master
4. Run Bootstrap and make distribution tar.gz
cd frr
./bootstrap.sh
./configure --with-pkg-extra-version=-MyDebPkgVersion
make dist
@ -44,7 +49,7 @@ Building your own FRRouting Debian Package
and multiple `frr_*.debian.tar.xz` and `frr_*.dsc` for the debian package
source on each backport supported distribution
6. Create a new directory to build the package and populate with package src
7. Create a new directory to build the package and populate with package src
mkdir frrpkg
cd frrpkg
@ -53,12 +58,21 @@ Building your own FRRouting Debian Package
. /etc/os-release
tar xf ~/frr/frr_*${ID}${VERSION_ID}*.debian.tar.xz
7. Build Debian Package Dependencies and install them as needed
8. Build Debian Package Dependencies and install them as needed
sudo mk-build-deps --install debian/control
8. Build Debian Package
9. Build Debian Package
Building with standard options:
debuild -b -uc -us
Or change some options:
(see `rules` file for available options)
export WANT_BGP_VNC=1
export WANT_WANT_CUMULUS_MODE=1
debuild -b -uc -us
DONE.
@ -83,7 +97,7 @@ allowed.
sudo update-rc.d frr defaults
- On `systemd` based systems (Debian 8, Ubuntu 14.04, 16.04)
- On `systemd` based systems (Debian 8, 9, Ubuntu 14.04, 16.04, 17.10)
sudo systemctl enable frr
@ -93,7 +107,7 @@ allowed.
sudo invoke-rc.d frr start
- on `systemd` based systems (Debian 8, Ubuntu 14.04, 16.04)
- on `systemd` based systems (Debian 8, 9, Ubuntu 14.04, 16.04, 17.10)
sudo systemctl start frr

View File

@ -0,0 +1,54 @@
Source: frr
Section: net
Priority: optional
Maintainer: Nobody <nobody@frrouting.org>
Uploaders: Nobody <nobody@frrouting.org>
XSBC-Original-Maintainer: <maintainers@frrouting.org>
Build-Depends: debhelper (>= 7.0.50~), libncurses5-dev, libreadline-dev, texlive-latex-base, texlive-generic-recommended, libpam0g-dev | libpam-dev, libcap-dev, texinfo (>= 4.7), imagemagick, ghostscript, groff, autotools-dev, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2 | libjson-c3, dh-systemd, libsystemd-dev, bison, flex, libc-ares-dev, pkg-config, python (>= 2.7), python-ipaddr
Standards-Version: 3.9.6
Homepage: http://www.frrouting.org/
Package: frr
Architecture: any
Depends: ${shlibs:Depends}, logrotate (>= 3.2-11), iproute2 | iproute, ${misc:Depends}, libc-ares2
Pre-Depends: adduser
Conflicts: zebra, zebra-pj, quagga
Replaces: zebra, zebra-pj
Suggests: snmpd
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga
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.
.
FRR is a fork of Quagga with an open community model. The main git
lives on https://github.com/frrouting/frr.git
Package: frr-dbg
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, frr (= ${binary:Version})
Priority: optional
Section: debug
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon (debug symbols)
This package provides debugging symbols for all binary packages built
from frr source package. It's highly recommended to have this package
installed before reporting any FRR crashes to either FRR developers or
Debian package maintainers.
Package: frr-doc
Section: net
Architecture: all
Depends: ${misc:Depends}
Suggests: frr
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon (documentation)
This package includes info files for frr, a 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.
Package: frr-pythontools
Section: net
Architecture: all
Depends: ${misc:Depends}, frr (= ${binary:Version}), python (>= 2.7), python-ipaddr
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon (Python Tools)
This package includes info files for frr, a 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.

View File

@ -0,0 +1 @@
3.0 (quilt)

View File

View File

@ -0,0 +1 @@
-1~ubuntu17.10+1

View File

@ -30,7 +30,7 @@ fi
# frr and as such we need to intelligently
# check to see if the frr user is in the frrvty
# group.
if ! /usr/bin/id frr | grep &>/dev/null 'frrvty'; then
if ! id frr | grep &>/dev/null 'frrvty'; then
usermod -a -G frrvty frr >/dev/null
fi

View File

@ -190,7 +190,7 @@ override_dh_systemd_enable:
# backports
SRCPKG = frr
KNOWN_BACKPORTS = debian8 debian9 ubuntu12.04 ubuntu14.04 ubuntu16.04
KNOWN_BACKPORTS = debian8 debian9 ubuntu12.04 ubuntu14.04 ubuntu16.04 ubuntu17.10
DEBIAN_VERSION := $(shell dh_testdir && \
dpkg-parsechangelog -c1 < debian/changelog | \
sed -rn 's/^Version: ?//p')

View File

@ -403,6 +403,7 @@ enum matcher_rv command_complete(struct graph *graph, vector vline,
trace_matcher("trivial_match\n");
if (exact_match_exists && !last_token)
break;
/* fallthru */
case exact_match:
trace_matcher("exact_match\n");
if (last_token) {

View File

@ -420,7 +420,7 @@ void csv_clone_record(csv_t *csv, csv_record_t *in_rec, csv_record_t **out_rec)
void csv_remove_record(csv_t *csv, csv_record_t *rec)
{
csv_field_t *fld, *p_fld;
csv_field_t *fld = NULL, *p_fld;
/* first check if rec belongs to this csv */
if (!csv_is_record_valid(csv, rec)) {

View File

@ -86,24 +86,34 @@ u_int32_t jhash(const void *key, u_int32_t length, u_int32_t initval)
switch (len) {
case 11:
c += ((u_int32_t)k[10] << 24);
/* fallthru */
case 10:
c += ((u_int32_t)k[9] << 16);
/* fallthru */
case 9:
c += ((u_int32_t)k[8] << 8);
/* fallthru */
case 8:
b += ((u_int32_t)k[7] << 24);
/* fallthru */
case 7:
b += ((u_int32_t)k[6] << 16);
/* fallthru */
case 6:
b += ((u_int32_t)k[5] << 8);
/* fallthru */
case 5:
b += k[4];
/* fallthru */
case 4:
a += ((u_int32_t)k[3] << 24);
/* fallthru */
case 3:
a += ((u_int32_t)k[2] << 16);
/* fallthru */
case 2:
a += ((u_int32_t)k[1] << 8);
/* fallthru */
case 1:
a += k[0];
};
@ -138,6 +148,7 @@ u_int32_t jhash2(const u_int32_t *k, u_int32_t length, u_int32_t initval)
switch (len) {
case 2:
b += k[1];
/* fallthru */
case 1:
a += k[0];
};

View File

@ -320,7 +320,7 @@ int work_queue_run(struct thread *thread)
if (wq->spec.errorfunc)
wq->spec.errorfunc(wq, item);
}
/* fall through here is deliberate */
/* fallthru */
case WQ_SUCCESS:
default: {
work_queue_item_remove(wq, node);

View File

@ -244,6 +244,7 @@ int nhrp_ext_reply(struct zbuf *zb, struct nhrp_packet_header *hdr, struct inter
default:
if (type & NHRP_EXTENSION_FLAG_COMPULSORY)
goto err;
/* fallthru */
case NHRP_EXTENSION_FORWARD_TRANSIT_NHS:
case NHRP_EXTENSION_REVERSE_TRANSIT_NHS:
/* Supported compulsory extensions, and any

View File

@ -134,7 +134,7 @@ static void nhrp_peer_ifp_notify(struct notifier_block *n, unsigned long cmd)
nhrp_vc_notify_add(p->vc, &p->vc_notifier, nhrp_peer_vc_notify);
__nhrp_peer_check(p);
}
/* Fall-through to post config update */
/* fallthru */
case NOTIFY_INTERFACE_ADDRESS_CHANGED:
notifier_call(&p->notifier_list, NOTIFY_PEER_IFCONFIG_CHANGED);
break;
@ -687,6 +687,7 @@ static void nhrp_peer_forward(struct nhrp_peer *p, struct nhrp_packet_parser *pp
/* FIXME: RFC says to just copy, but not
* append our selves to the transit NHS list */
goto err;
/* fallthru */
case NHRP_EXTENSION_RESPONDER_ADDRESS:
/* Supported compulsory extensions, and any
* non-compulsory that is not explicitly handled,
@ -849,6 +850,7 @@ void nhrp_peer_recv(struct nhrp_peer *p, struct zbuf *zb)
/* FIXME: send error-indication */
}
}
/* fallthru */
case NHRP_ROUTE_OFF_NBMA:
if (packet_types[hdr->type].handler) {
packet_types[hdr->type].handler(&pp);

View File

@ -1446,7 +1446,7 @@ static void ospf6_brouter_debug_print(struct ospf6_route *brouter)
char brouter_name[16];
char area_name[16];
char destination[64];
char installed[16], changed[16];
char installed[64], changed[64];
struct timeval now, res;
char id[16], adv_router[16];
char capa[16], options[16];

View File

@ -468,7 +468,7 @@ void ospf6_lsa_show(struct vty *vty, struct ospf6_lsa *lsa)
char adv_router[64], id[64];
struct ospf6_lsa_handler *handler;
struct timeval now, res;
char duration[16];
char duration[64];
assert(lsa && lsa->header);

View File

@ -369,7 +369,7 @@ static void ospf6_dbdesc_recv_master(struct ospf6_header *oh,
return;
}
/* else fall through to ExStart */
/* fallthru */
case OSPF6_NEIGHBOR_EXSTART:
/* if neighbor obeys us as our slave, schedule negotiation_done
and process LSA Headers. Otherwise, ignore this message */
@ -565,7 +565,7 @@ static void ospf6_dbdesc_recv_slave(struct ospf6_header *oh,
return;
}
/* else fall through to ExStart */
/* fallthru */
case OSPF6_NEIGHBOR_EXSTART:
/* If the neighbor is Master, act as Slave. Schedule
negotiation_done

View File

@ -587,10 +587,10 @@ int inactivity_timer(struct thread *thread)
static void ospf6_neighbor_show(struct vty *vty, struct ospf6_neighbor *on)
{
char router_id[16];
char duration[16];
char duration[64];
struct timeval res;
char nstate[16];
char deadtime[16];
char deadtime[64];
long h, m, s;
/* Router-ID (Name) */
@ -645,7 +645,7 @@ static void ospf6_neighbor_show_drchoice(struct vty *vty,
{
char router_id[16];
char drouter[16], bdrouter[16];
char duration[16];
char duration[64];
struct timeval now, res;
/*

View File

@ -43,7 +43,7 @@ unsigned char conf_debug_ospf6_route = 0;
static char *ospf6_route_table_name(struct ospf6_route_table *table)
{
static char name[32];
static char name[64];
switch (table->scope_type) {
case OSPF6_SCOPE_TYPE_GLOBAL: {
switch (table->table_type) {
@ -946,7 +946,7 @@ void ospf6_route_show(struct vty *vty, struct ospf6_route *route)
{
int i;
char destination[PREFIX2STR_BUFFER], nexthop[64];
char duration[16];
char duration[64];
const char *ifname;
struct timeval now, res;
struct listnode *node;
@ -992,7 +992,7 @@ void ospf6_route_show_detail(struct vty *vty, struct ospf6_route *route)
char destination[PREFIX2STR_BUFFER], nexthop[64];
char area_id[16], id[16], adv_router[16], capa[16], options[16];
struct timeval now, res;
char duration[16];
char duration[64];
struct listnode *node;
struct ospf6_nexthop *nh;

View File

@ -712,7 +712,8 @@ static u_char *ospfv3GeneralGroup(struct variable *v, oid *name, size_t *length,
case OSPFv3REFERENCEBANDWIDTH:
if (ospf6)
return SNMP_INTEGER(ospf6->ref_bandwidth);
/* Otherwise, like for "not implemented". */
/* Otherwise, like for "not implemented". */
/* fallthru */
case OSPFv3RESTARTSUPPORT:
case OSPFv3RESTARTINTERVAL:
case OSPFv3RESTARTSTRICTLSACHECKING:

View File

@ -988,6 +988,7 @@ static int ospf_vl_set_params(struct ospf_vl_data *vl_data, struct vertex *v)
if (IS_DEBUG_OSPF_EVENT)
zlog_debug(
"found back link through VL");
/* fallthru */
case LSA_LINK_TYPE_TRANSIT:
case LSA_LINK_TYPE_POINTOPOINT:
if (!IPV4_ADDR_SAME(&vl_data->peer_addr,

View File

@ -110,6 +110,7 @@ static void nsm_timer_set(struct ospf_neighbor *nbr)
case NSM_Down:
OSPF_NSM_TIMER_OFF(nbr->t_inactivity);
OSPF_NSM_TIMER_OFF(nbr->t_hello_reply);
/* fallthru */
case NSM_Attempt:
case NSM_Init:
case NSM_TwoWay:

View File

@ -1129,6 +1129,7 @@ static void ospf_db_desc_proc(struct stream *s, struct ospf_interface *oi,
/* Neighbour has a more recent LSA, we must request it
*/
ospf_ls_request_add(nbr, new);
/* fallthru */
case 0:
/* If we have a copy of this LSA, it's either less
* recent
@ -1310,6 +1311,7 @@ static void ospf_db_desc(struct ip *iph, struct ospf_header *ospfh,
through to case ExStart below. */
if (nbr->state != NSM_ExStart)
break;
/* fallthru */
case NSM_ExStart:
/* Initial DBD */
if ((IS_SET_DD_ALL(dd->flags) == OSPF_DD_FLAG_ALL)

View File

@ -223,6 +223,7 @@ int main(int argc, char **argv)
break;
case 'b':
batch_mode = 1;
break;
case 'd':
daemon_mode = 1;
break;