Commit Graph

16267 Commits

Author SHA1 Message Date
vishaldhingra
5101feceae bgpd: Added the as-set option for IPV6 agg. route
FRR has no option for the as-set for aggregate route
under IPV6 address family. Added the command to
configure the as-set option for IPV6.

Signed-off-by: vishaldhingra <vdhingra@vmware.com>
2019-06-17 01:32:30 -07:00
David Lamparter
ce746edebb
lib: Prevent infinite loop in fd handling (#4516)
lib: Prevent infinite loop in fd handling
2019-06-14 23:48:36 +02:00
David Lamparter
277aee6fc9
eliminate snprintf from AF_INET/AF_INET6 prefix2str, add prefix2str test (#4521)
eliminate snprintf from AF_INET/AF_INET6 prefix2str, add prefix2str test
2019-06-14 21:48:34 +02:00
David Lamparter
6b83b39559
Merge pull request #4523 from LabNConsulting/working/master/issue4515
tests/topotests: bgp_l3vpn_to_bgp_vrf address issue #4515
2019-06-14 18:28:04 +02:00
Donald Sharp
6dc2e4358f
Merge pull request #4526 from CHKDSK88/endian
eigrpd: Fix endianness issue in packets
2019-06-14 12:05:41 -04:00
Pawel Dembicki
e296eae4f3 eigrpd: Fix endianness issue in packets
Net prefixes in eigrp update packets is created and read
without check host endianness.

This patch use ntohl and htonl to read and write ip prefix
from and to packet.

Tested: x86, powerpc

Signed-off-by: Pawel Dembicki <p.dembicki@wb.com.pl>
2019-06-14 13:04:07 +02:00
Sri Mohana Singamsetty
0590d2d209
Merge pull request #4512 from mjstapp/fix_bgp_auto_rid
bgpd: auto router-id should not change configured vpn RD/RT
2019-06-13 17:55:59 -07:00
Lou Berger
dc06452e68 tests/topotests: bgp_l3vpn_to_bgp_vrf double the amount of time to wait during scaling tests
Signed-off-by: Lou Berger <lberger@labn.net>
2019-06-13 21:01:30 +00:00
Lou Berger
5beabde635
Merge pull request #4499 from kssoman/core
bgpd: Process core when bgp instance is deleted
2019-06-13 16:08:11 -04:00
David Lamparter
0688fd81d0
bgpd, lib: Add iana_afi2str and iana_safi2str for eye pleasing strings (#4439)
bgpd, lib: Add iana_afi2str and iana_safi2str for eye pleasing strings
2019-06-13 22:06:49 +02:00
Donald Sharp
a0b36ae673 lib: Add function name to show thread poll
When displaying `show thread poll` data add the
function we are supposed to call when the poll
event happens.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-06-13 15:14:04 -04:00
Donald Sharp
1ef14bee7a lib: Add check for non-preexisting thread
When adding a read/write poll event and we are using a developmental
build add a bit of code to ensure that we do not already have an read
or write event scheduled.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-06-13 15:14:04 -04:00
Donald Sharp
45f3d59084 lib: Prevent infinite loop in fd handling
If we have a case where have created a fd for i/o and we have
removed the handling thread but still have the fd in the poll
data structure, there existed a case where we would get
the handle this fd return from poll but we would immediately
do nothing with it because we didn't have a thread to hand
the event to.

This leads to an infinite loop.  Prevent the infinite loop
from happening and log the problem.

We still need to find the cause of this happening.  But
let's prevent the system from melting down in the mean time.

Fixes: #2796
Signed-off-by: David Lamparter <equinox@diac24.net>
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-06-13 15:14:04 -04:00
Quentin Young
42aac9b2ab
Merge pull request #4500 from opensourcerouting/clippy-improve
clippy: batch of improvements
2019-06-13 15:06:24 -04:00
Quentin Young
17bf75735c tests: add prefix2str test
Only tests IPv4 and IPv6 right now.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-06-13 18:30:28 +00:00
Quentin Young
096873bd46
Merge pull request #4509 from opensourcerouting/spanish-intquisition
lib: make printfrr int64_t usable
2019-06-13 14:00:50 -04:00
Quentin Young
ec466f6546 lib: remove snprintf from prefix2str
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-06-13 17:08:05 +00:00
Donald Sharp
6a81b60a94
Merge pull request #4502 from opensourcerouting/topotest-backward-compat
topotests: backward compatibility fix
2019-06-13 09:19:02 -04:00
Mark Stapp
a8baba69ae
Merge pull request #4448 from opensourcerouting/cxx-container-of
lib: const-unaware container_of for C++
2019-06-13 08:38:05 -04:00
Donald Sharp
230113cf71
Merge pull request #4506 from opensourcerouting/fix-outdated-candidate
lib: fix outdated candidate configuration issue
2019-06-13 06:01:28 -04:00
David Lamparter
8b40649e0d
Docker binary image on Debian Buster (#4504)
Docker binary image on Debian Buster
2019-06-13 00:24:27 +02:00
David Lamparter
16afe1e13b
Merge pull request #4510 from sworleys/DOC-systemd-devel
doc: Add systemd-devel to fedora build instruction
2019-06-12 19:58:17 +02:00
David Lamparter
39c94f89da build: use -O2, not -Os
apparently -Os is quite a bit slower...

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12 19:35:43 +02:00
David Lamparter
b9a0d38d53 tools: add vim snippet
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12 19:35:43 +02:00
David Lamparter
afb35622ef lib: make "%Ld" work for int64_t
... without compiler plugins.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12 19:35:43 +02:00
David Lamparter
c7179009cf lib: use snprintfrr() in "hidden" printfs
We need to be calling snprintfrr() instead of snprintf() in places that
wrap snprintf in some user-exposed way; otherwise the extensions won't
be available for those functions.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12 19:35:43 +02:00
David Lamparter
7e5cfaea0a zebra: fix stats printing formats
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12 19:35:43 +02:00
David Lamparter
b41b3f7bf1 lib/clippy: expand some macros
At least the "easy" cases of macros work.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12 19:23:00 +02:00
David Lamparter
4381a59be0 lib/clippy: assert() for non-optional args
This is mostly to help static analysis; since we know from the command
string which args are optional and which aren't, we can add assert()
statements on them.

Fixes: #3270
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12 19:23:00 +02:00
David Lamparter
3779776a39 lib/clippy: error out on unsupported bits
clippy can't process #ifdef or similar bits inside of an argument list
(e.g. within the braces of a DEFUN or DEFPY statement.)  Improve error
reporting to catch these cases instead of generating broken C code.

Fixes: #3840
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12 19:22:59 +02:00
David Lamparter
72ad94d548 build: improve env var handling for cross build
We can use `$ac_precious_vars` to get at autoconf's conception of which
environment variables are relevant.  This makes "HOST_..." setup more
consistent for cross-compilation setups.

Fixes: #4006
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12 19:22:59 +02:00
David Lamparter
a71c5039ad build: improve clippy options
* adds a `--with-clippy=...` option to use a prebuilt clippy binary
* limits the autoconf tests done for `--enable-clippy-only`
  (e.g. no libyang)

Fixes: #3921
Fixes: #4006
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12 19:22:59 +02:00
David Lamparter
102f26e611 build: remove tests/Makefile.in
this was accidentally added in 370c8e07

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12 19:22:59 +02:00
David Lamparter
1af5b6d9a3 build: use -Wno-yacc on bison 3.3+
we only support bison, we don't care about yacc compatibility.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12 19:22:59 +02:00
David Lamparter
2655e41fa2 build: slim down configure.ac
Quite a few tests are deprecated/unnecessary at this point.  Remove
everything that is pointless.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-12 19:22:55 +02:00
Stephen Worley
c7e8718cbd doc: Add systemd-devel to fedora build instruction
systemd-devel is a neccessary package for building frr, added to
the install list.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-06-12 11:59:21 -04:00
Mark Stapp
e65fe398f6 bgpd: auto router-id should not change configured vpn RD/RT
A router-id change that isn't explicitly configured (a change
from zebra, for example) should not replace a configured vpn
RD/RT.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-06-12 11:37:05 -04:00
Renato Westphal
eaf6705d7a lib: fix outdated candidate configuration issue
Even when using the classic CLI mode (i.e. when --tcli is not
used), the northbound code still uses vty->candidate_config
to perform configuration changes. From the perspective of the
user, the running configuration is being edited directly, but
under the hood the northbound layer does a full configuration
transaction for each command.  When the running configuration is
edited by a northbound client other than the CLI (e.g. kernel,
gRPC), vty->candidate_config might become outdated, and this can
lead to lots of weird problems. To fix this, always regenerate
vty->candidate_config before each configuration command when
using the classic CLI mode. When using the transactional CLI,
the user needs to update the candidate manually using the "update"
command, otherwise the "commit" command will fail with this error:
"% Candidate configuration needs to be updated before commit".

Fixes some problems reported by Don after moving an interface from
one VRF to another one while zebra is running.

Reported-by: Don Slice <dslice@cumulusnetworks.com>
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2019-06-12 11:17:03 -03:00
Donald Sharp
8fd142d931
Merge pull request #3509 from faickermo/fix_bgp_ipv6_default_nexthop
bgpd: Set bgp default nexthop value of IPv6
2019-06-12 08:23:03 -04:00
Rob Gil
9c7255c821
docker: Docker binary image on Debian Buster
Utilizes debian buster and the support libyang from the vendor.

Signed-off-by: Rob Gil <rob@rem5.com>
2019-06-11 16:58:21 -04:00
Quentin Young
afbdfbb69b
Merge pull request #4498 from ak503/ldpd
ldpd: Fix shutdown
2019-06-11 14:16:35 -04:00
Rafael Zalamena
04ce2b970e topotests: backward compatibility fix
Allow old topologies to use default parameters from `pytest.ini`.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2019-06-11 14:05:48 -03:00
David Lamparter
a7f20d4328 lib: const-unaware container_of for C++
This version of container_of() should work on C++, by ditching the
unavailable builtins (at the cost of no longer checking for "const"
violations.)

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-06-11 18:45:38 +02:00
Soman K S
9f822fa2db bgpd: Process core when bgp instance is deleted
* When the bgp is being deleted and routes are in clear workqueue
  and new aggregate address being allocated
* Added flag BGP_FLAG_DELETE_IN_PROGRESS in bgp structure to
  bgp instance is being  deleted
* When adding aggregate route check this flag and  peer_self is valid

Signed-off-by: Soman K S <somanks@vmware.com>
2019-06-11 06:20:09 -07:00
Russ White
6aba4eeaec
Merge pull request #4482 from opensourcerouting/warnings-20190606
*: fix some dumb printf format warnings
2019-06-11 08:33:48 -04:00
Russ White
51e6f92ec6
Merge pull request #4494 from donaldsharp/no_src_for_you
pimd: The PIM_OIF_FLAG_PROTO_SRC flag was never used
2019-06-11 08:13:04 -04:00
Russ White
13e132613f
Merge pull request #4483 from donaldsharp/pim_mroute_debug_detail
pimd: debug pim XXX detail now include the non detail data as well
2019-06-11 08:08:49 -04:00
Russ White
7ca67f30e3
Merge pull request #4491 from opensourcerouting/watchfrr-sd-timeout
tools: retain WATCHDOG_USEC when reloading
2019-06-11 07:59:52 -04:00
dturlupov
a0c49f50db ldpd: Fix shutdown
When we stopped ldpd, we get fatal error message from wait().
This commit fix it.

Signed-off-by: Dmitrii Turlupov <dturlupov@factor-ts.ru>
2019-06-11 14:55:10 +03:00
David Lamparter
051a0be4b2 *: fix some dumb printf format warnings
Some types like `time_t` vary across platforms and always need to be
cast when printed.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-06-11 13:34:57 +02:00