]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
6 years agoMerge pull request #1356 from opensourcerouting/linux-headers
Donald Sharp [Fri, 27 Oct 2017 14:12:43 +0000 (10:12 -0400)]
Merge pull request #1356 from opensourcerouting/linux-headers

build: include our own copies of some linux kernel headers

6 years agoMerge pull request #1174 from opensourcerouting/show_route_defpy
Donald Sharp [Fri, 27 Oct 2017 14:00:57 +0000 (10:00 -0400)]
Merge pull request #1174 from opensourcerouting/show_route_defpy

Refactor the 'show ip route' commands using DEFPY

6 years agoMerge pull request #1362 from dslicenc/cm18309-label-delete
Renato Westphal [Wed, 25 Oct 2017 18:56:50 +0000 (16:56 -0200)]
Merge pull request #1362 from dslicenc/cm18309-label-delete

zebra: only pass mpls proto type if doing install

6 years agozebra: unify the ipv4/ipv6 'show ip route' commands - part 2/2
Renato Westphal [Wed, 13 Sep 2017 20:40:19 +0000 (17:40 -0300)]
zebra: unify the ipv4/ipv6 'show ip route' commands - part 2/2

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
6 years agoMerge pull request #1358 from opensourcerouting/isis-lsp_tick-fixes
Donald Sharp [Wed, 25 Oct 2017 13:19:06 +0000 (09:19 -0400)]
Merge pull request #1358 from opensourcerouting/isis-lsp_tick-fixes

Isis lsp_tick fix and improve perfomance for processing LSP updates

6 years agozebra: only pass mpls proto type if doing install
Don Slice [Mon, 16 Oct 2017 16:07:15 +0000 (09:07 -0700)]
zebra: only pass mpls proto type if doing install

Problem reported with not deleting LSPs from the zebra kernal mpls table
when a delete occurred in bgp.  Found that we were exiting the delete
process incorrectly due to not being able to derive the route_type from
the best_nhlre on the lsp while deleting. Since this info was only
needed for route installation, removed this early exit in the case of
deleting the lsp.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-18309
Reviewed By: CCR-6781
Testing Done:  Manual testing looks good.  mpls tests successful

6 years agoMerge pull request #1361 from opensourcerouting/vtysh_mem_leak
Donald Sharp [Wed, 25 Oct 2017 11:00:19 +0000 (07:00 -0400)]
Merge pull request #1361 from opensourcerouting/vtysh_mem_leak

vtysh: properly fix memory leak

6 years agovtysh: properly fix memory leak
Renato Westphal [Wed, 25 Oct 2017 09:43:32 +0000 (07:43 -0200)]
vtysh: properly fix memory leak

Commit 44f12f20 fixed the memory leak in the wrong way and introduced a
"uninitialized variable" warning.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
6 years agoMerge pull request #1357 from opensourcerouting/coverity_fixes
Donald Sharp [Tue, 24 Oct 2017 23:36:30 +0000 (19:36 -0400)]
Merge pull request #1357 from opensourcerouting/coverity_fixes

Coverity fixes

6 years agolib: optimize sockunion_connect()
Renato Westphal [Mon, 23 Oct 2017 21:24:07 +0000 (19:24 -0200)]
lib: optimize sockunion_connect()

This function is only called with non-blocking sockets [1], so there's
no need to worry about setting O_NONBLOCK and unsetting it later if the
given fd was a blocking socket. This saves us 4 syscalls per connect,
which is not much but is something.

Also, remove an outdated comment about the return values of this
function. It returns a 'connect_result' enum now, whose values are
self-explanatory (connect_error, connect_success and connect_in_progress).

This also fixes a coverity scan warning where we weren't checking the
return value of the fcntl() syscall.

[1] bgp_connect() and pim_msdp_sock_connect().

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
6 years ago*: fix coverity warnings - error handling issues
Renato Westphal [Mon, 23 Oct 2017 21:19:26 +0000 (19:19 -0200)]
*: fix coverity warnings - error handling issues

Ignore the return value of some functions in the places we know they
can't fail, and other small fixes.

Regarding the change in bgpd/rfapi/rfapi_rib.c, asserting that
rfapiRaddr2Qprefix() didn't fail is the common idiom inside the rfapi
code.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
6 years ago*: fix coverity warnings - resource leaks
Renato Westphal [Sun, 22 Oct 2017 23:14:21 +0000 (21:14 -0200)]
*: fix coverity warnings - resource leaks

These are mostly trivial fixes for leaks in the error path of some functions.

The changes in bgpd/bgp_mpath.c deserves a bit of explanation though. In
the bgp_info_mpath_aggregate_update() function, we were allocating memory
for the lcomm variable but doing nothing with it. Since the code for
communities, extended communities and large communities is pretty much
the same in this function, it's clear that this was a copy and paste
error where most of the ext. community code was copied but not all of
it as it should have been.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
6 years agoospfd: fix coverity warnings - security best practices violations
Renato Westphal [Sun, 22 Oct 2017 18:36:13 +0000 (16:36 -0200)]
ospfd: fix coverity warnings - security best practices violations

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
6 years ago*: add missing \n in some help strings
Renato Westphal [Sat, 21 Oct 2017 00:16:57 +0000 (22:16 -0200)]
*: add missing \n in some help strings

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
6 years agolib: fix coverity warnings introduced by the iface rb-tree conversion
Renato Westphal [Sat, 21 Oct 2017 12:24:21 +0000 (10:24 -0200)]
lib: fix coverity warnings introduced by the iface rb-tree conversion

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
6 years agoMerge pull request #1346 from donaldsharp/apply_routemap
Lou Berger [Tue, 24 Oct 2017 15:46:32 +0000 (11:46 -0400)]
Merge pull request #1346 from donaldsharp/apply_routemap

bgpd: Note routemap information even if peer not activated.

6 years agoMerge pull request #1337 from donaldsharp/debug_nht_bgp
Lou Berger [Tue, 24 Oct 2017 15:13:12 +0000 (11:13 -0400)]
Merge pull request #1337 from donaldsharp/debug_nht_bgp

bgpd: Allow turn off of 'debug bgp nht' from 'no debug bgp'

6 years agoMerge pull request #1296 from donaldsharp/eigrp_table
Rafael Zalamena [Tue, 24 Oct 2017 13:30:37 +0000 (11:30 -0200)]
Merge pull request #1296 from donaldsharp/eigrp_table

eigrpd: Convert topology list to a table

6 years agoeigrpd: Convert topology list to a table
Donald Sharp [Fri, 6 Oct 2017 13:19:45 +0000 (09:19 -0400)]
eigrpd: Convert topology list to a table

The EIGRP topology list is an extremely inefficient
way to store data about the known routes.  Convert
to using a table.

Signed-off-by: Donald Sharp <sharpd@cumulusnetorks.com>
6 years agozebra: fix route node leak on error path
Renato Westphal [Wed, 13 Sep 2017 20:45:16 +0000 (17:45 -0300)]
zebra: fix route node leak on error path

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
6 years agozebra: 'show ip route' with multiple options at the same time
Renato Westphal [Wed, 13 Sep 2017 18:25:39 +0000 (15:25 -0300)]
zebra: 'show ip route' with multiple options at the same time

Now it's possible to specify multiple options when viewing the RIB or
FIB.

Example: 'show ip route 192.168.0.0/16 longer-prefixes tag 10 ospf'

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
6 years agozebra: unify the ipv4/ipv6 'show ip route' commands - part 1/2
Renato Westphal [Wed, 13 Sep 2017 18:16:12 +0000 (15:16 -0300)]
zebra: unify the ipv4/ipv6 'show ip route' commands - part 1/2

Note: I had to remove one assert in clidef.py in order to fix a build
error when using a preprocessor string (FRR_IP_REDIST_STR_ZEBRA) inside
a DEFPY command. This should be revisited later.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
6 years agobuild: include our own copies of some linux kernel headers
Renato Westphal [Thu, 21 Sep 2017 01:12:56 +0000 (22:12 -0300)]
build: include our own copies of some linux kernel headers

This is the definitive solution to avoid build issues on old Linux
systems, where the system kernel headers might not contain some constants
or macros used by FRR (e.g. MPLS_IPTUNNEL_DST, introduced on 2015).

This is the same strategy adopted by other projects, like iproute2,
libnl, lldpd, strongswan, etc. These header files don't need to be in
sync with upstream, they only need to be updated when necessary (e.g. if
we want to use a new feature introduced by a recent kernel).

Fixes #962 using the solution suggested by David Lamparter.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
6 years agoMerge pull request #1330 from donaldsharp/zclient_shenanigans
Renato Westphal [Mon, 23 Oct 2017 23:54:09 +0000 (21:54 -0200)]
Merge pull request #1330 from donaldsharp/zclient_shenanigans

Zclient shenanigans

6 years agoMerge pull request #1354 from chiragshah6/mdev1
Renato Westphal [Mon, 23 Oct 2017 23:51:08 +0000 (21:51 -0200)]
Merge pull request #1354 from chiragshah6/mdev1

ospfd: show comand for ospf packet stats

6 years agobgpd: Use stored ifindex for zebra_announce
Donald Sharp [Mon, 23 Oct 2017 22:10:01 +0000 (18:10 -0400)]
bgpd: Use stored ifindex for zebra_announce

In some situations we already know the ifp and by extension
the ifindex there is no need to look it up for every
route we send to zebra.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: Allow zebra_client_read to handle up to 10 messages
Donald Sharp [Wed, 11 Oct 2017 19:05:06 +0000 (15:05 -0400)]
zebra: Allow zebra_client_read to handle up to 10 messages

The zebra_client_read functionality was reading 1 message
from a peer at a time.  Modify the code so that we can
read up to 10 at a time.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years ago*: Modify zclient_init to require privs data
Donald Sharp [Wed, 11 Oct 2017 14:37:20 +0000 (10:37 -0400)]
*: Modify zclient_init to require privs data

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoripngd: Make 'struct zebra_privs_t' available
Donald Sharp [Wed, 11 Oct 2017 14:23:12 +0000 (10:23 -0400)]
ripngd: Make 'struct zebra_privs_t' available

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoripd: Make 'struct zebra_privs_t' available
Donald Sharp [Wed, 11 Oct 2017 14:20:15 +0000 (10:20 -0400)]
ripd: Make 'struct zebra_privs_t' available

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoospf6d: Make 'struct zebra_privs_t' available
Donald Sharp [Wed, 11 Oct 2017 14:13:59 +0000 (10:13 -0400)]
ospf6d: Make 'struct zebra_privs_t' available

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoospfd: Make 'struct zebra_privs_t' available.
Donald Sharp [Wed, 11 Oct 2017 14:11:07 +0000 (10:11 -0400)]
ospfd: Make 'struct zebra_privs_t' available.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoisisd: Allow struct zebra_privs_t to be available
Donald Sharp [Wed, 11 Oct 2017 13:34:44 +0000 (09:34 -0400)]
isisd: Allow struct zebra_privs_t to be available

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoeigrpd: Make struct zebra_privs_t available
Donald Sharp [Wed, 11 Oct 2017 13:29:39 +0000 (09:29 -0400)]
eigrpd: Make struct zebra_privs_t available

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agonhrpd: Let struct zebra_privs_t be available
Donald Sharp [Wed, 11 Oct 2017 13:24:09 +0000 (09:24 -0400)]
nhrpd: Let struct zebra_privs_t be available

signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>

6 years agobabeld: Make the zebra_privs_t available for use
Donald Sharp [Wed, 11 Oct 2017 13:19:43 +0000 (09:19 -0400)]
babeld: Make the zebra_privs_t available for use

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: Set zapi send/receive buffer to a larger value
Donald Sharp [Wed, 11 Oct 2017 13:16:46 +0000 (09:16 -0400)]
zebra: Set zapi send/receive buffer to a larger value

Allow a bit more to buffer before we stop zebra
from sending/receiving.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Cleanup some missed reformat
Donald Sharp [Wed, 11 Oct 2017 13:06:02 +0000 (09:06 -0400)]
lib: Cleanup some missed reformat

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: Add a function handler for zserv commands
Donald Sharp [Wed, 11 Oct 2017 12:58:02 +0000 (08:58 -0400)]
zebra: Add a function handler for zserv commands

The zserv command handlers make an already long function
even longer.  Isolate this code so that we can rearrange
the zebra_client_read function.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: Make all zserv handler functions use zvrf instead of vrf_id
Donald Sharp [Wed, 11 Oct 2017 12:41:29 +0000 (08:41 -0400)]
zebra: Make all zserv handler functions use zvrf instead of vrf_id

Some handler functions were using vrf_id, standardize onto
zvrf being passed around instead.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: No need to pass sock descriptor around.
Donald Sharp [Wed, 11 Oct 2017 12:31:35 +0000 (08:31 -0400)]
zebra: No need to pass sock descriptor around.

Standardize the api to read zapi requests from protocols.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: Always read full zapi message in ptm code
Donald Sharp [Wed, 11 Oct 2017 12:09:28 +0000 (08:09 -0400)]
zebra: Always read full zapi message in ptm code

The ptm code when it encountered an error situation
was not fully reading all the data in the stream
meant for it.  Ensure that this is read.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoospfd: reset ospf interface protocol stats
Chirag Shah [Mon, 23 Oct 2017 18:59:29 +0000 (11:59 -0700)]
ospfd: reset ospf interface protocol stats

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
6 years agoospfd: show comand for ospf packet stats
Chirag Shah [Thu, 19 Oct 2017 23:57:31 +0000 (16:57 -0700)]
ospfd: show comand for ospf packet stats

Display OSPFv2 Protocol packets stats per interface.

tor-1# show ip ospf vrf all interface traffic

Interface    HELLO    DB-Desc   LS-Req LS-Update   LS-Ack
             Rx/Tx    Rx/Tx     Rx/Tx  Rx/Tx       Rx/Tx
------------------------------------------------------------
swp1         1/0      2/3       1/1    2/2         1/1
swp2         6/0      2/7       1/1    1/4         3/2

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
6 years agoMerge pull request #1341 from chiragshah6/ospf_vrf_dev
Renato Westphal [Mon, 23 Oct 2017 13:27:02 +0000 (11:27 -0200)]
Merge pull request #1341 from chiragshah6/ospf_vrf_dev

ospf6d: Divide LSupdate to keep size small

6 years agoMerge pull request #1353 from opensourcerouting/rpm-fix-master
Donald Sharp [Mon, 23 Oct 2017 12:33:30 +0000 (08:33 -0400)]
Merge pull request #1353 from opensourcerouting/rpm-fix-master

Rpm fix master

6 years agoMerge pull request #1349 from opensourcerouting/bgpd_listen_queue
Donald Sharp [Sat, 21 Oct 2017 12:19:09 +0000 (08:19 -0400)]
Merge pull request #1349 from opensourcerouting/bgpd_listen_queue

bgpd: bump listen() backlog

6 years agoredhat: Fix doc by removing outdated package information and point to main doc/ direc...
Martin Winter [Sat, 21 Oct 2017 01:22:24 +0000 (18:22 -0700)]
redhat: Fix doc by removing outdated package information and point to main doc/ directory for it

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agoredhat: Fix rpm scripts to correctly restart daemons on upgrade
Martin Winter [Fri, 20 Oct 2017 23:33:39 +0000 (16:33 -0700)]
redhat: Fix rpm scripts to correctly restart daemons on upgrade

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agoredhat: Add fix to correct watchfrr config during upgrade
Martin Winter [Fri, 20 Oct 2017 21:06:05 +0000 (14:06 -0700)]
redhat: Add fix to correct watchfrr config during upgrade

- /etc/frr/daemon is a config file and won't be replaced, do quick sed fix
- Updated changelog

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
Conflicts:
redhat/frr.spec.in

6 years agoredhat: systemd file should not be executable
Martin Winter [Fri, 20 Oct 2017 02:36:59 +0000 (19:36 -0700)]
redhat: systemd file should not be executable

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agoredhat: Always reference main frr start/stop script in /usr/lib/frr
Martin Winter [Fri, 20 Oct 2017 01:02:45 +0000 (18:02 -0700)]
redhat: Always reference main frr start/stop script in /usr/lib/frr

* Fixes issue where daemon default config tried to use /etc/init.d/frr script which doesn't exist on systemd systems

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
Conflicts:
redhat/daemons

6 years agoospf6d: Divide LSupdate to keep size small
Chirag Shah [Wed, 18 Oct 2017 04:54:29 +0000 (21:54 -0700)]
ospf6d: Divide LSupdate to keep size small

Within OSPFv3 area, Disect Router LSA and
Intra-prefix LSA in order to keep LSA size Small.
Each LSA has unique Link State ID assigned.

Intra-Area-Prefix LSA:
Spread prefixes across multiple intra-area-prefix-LSAs.

Ticket:CM-18069
Testing Done:
Tested 92 ospf6 enabled (point-to-point) interfaces
between two routers.
92 adajancy comes up with Full Neighborship.
Validated 'show ipv6 ospf6 database router detail' &
'show ipv6 ospf6 database intra-prefix detail', each adv-router
has two distinct LSA of such catgory.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
6 years agobgpd: bump listen() backlog
Rafael Zalamena [Fri, 20 Oct 2017 21:29:07 +0000 (19:29 -0200)]
bgpd: bump listen() backlog

Handle better stress situations when multiple peers are trying to
connect at the same time by bumping the TCP connection backlog limit.

This reduces the convergence time of BGPerf stress test.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
6 years agoMerge pull request #1347 from medallia/all-routes-to-fpm
Donald Sharp [Fri, 20 Oct 2017 17:43:20 +0000 (13:43 -0400)]
Merge pull request #1347 from medallia/all-routes-to-fpm

Send all routes to FPM, including VRF and multicast

6 years agobgpd: Note routemap information even if peer not activated.
Donald Sharp [Fri, 20 Oct 2017 13:56:12 +0000 (09:56 -0400)]
bgpd: Note routemap information even if peer not activated.

If upon bgp startup we have this config:

router bgp 64540
 neighbor 192.168.201.134 remote-as external
 !
 address-family ipv4 unicast
  no neighbor 192.168.201.134 activate
  neighbor 192.168.201.134 route-map NEXTHOP in
 exit-address-family

The route-map map pointer for the incoming(or outgoing)
filter was not being saved due to a pre-mature optimization
of not handling the routemap callback if the peer is not
activated.  The function that handles the peers route-maps
is making sure that the peer is in established state
before attempting to actually apply anything so just
call it to set the map pointer.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoSend all routes to FPM, including VRF and multicast
Thorvald Natvig [Fri, 20 Oct 2017 06:34:42 +0000 (23:34 -0700)]
Send all routes to FPM, including VRF and multicast

Signed-off-by: Thorvald Natvig <thorvald@medallia.com>
6 years agoMerge pull request #1331 from donaldsharp/hash_speedup
Renato Westphal [Thu, 19 Oct 2017 01:52:41 +0000 (23:52 -0200)]
Merge pull request #1331 from donaldsharp/hash_speedup

lib: Allow hash_get to sidestep expensive hash key generation in someā€¦

6 years agoMerge pull request #1332 from chiragshah6/ospf_vrf_dev
Renato Westphal [Thu, 19 Oct 2017 01:46:48 +0000 (23:46 -0200)]
Merge pull request #1332 from chiragshah6/ospf_vrf_dev

ospf6d: Handle lsupdate upto max ospf6 payload

6 years agoMerge pull request #1272 from donaldsharp/peer_group_ordering
Renato Westphal [Thu, 19 Oct 2017 01:12:31 +0000 (23:12 -0200)]
Merge pull request #1272 from donaldsharp/peer_group_ordering

bgpd: Fix peer group copying of data for late activation

6 years agoMerge pull request #1339 from donaldsharp/bgp_compile_issues
Martin Winter [Thu, 19 Oct 2017 00:05:46 +0000 (17:05 -0700)]
Merge pull request #1339 from donaldsharp/bgp_compile_issues

Bgp compile issues

6 years agobgpd: Fix 'not initialized' possibly on older compilers
Donald Sharp [Wed, 18 Oct 2017 22:39:04 +0000 (18:39 -0400)]
bgpd: Fix 'not initialized' possibly on older compilers

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agobgpd: Fix off by one error introduced by 8c9cc7bbf657e3440d9bc758fe45aef5f43c989f
Donald Sharp [Wed, 18 Oct 2017 22:37:38 +0000 (18:37 -0400)]
bgpd: Fix off by one error introduced by 8c9cc7bbf657e3440d9bc758fe45aef5f43c989f

Commit 8c9cc7bbf657e3440d9bc758fe45aef5f43c989f changed the size
of the `struct bgp_attr_encap_subtlv` type to be a zero length
array at the end instead of having a 1 byte.  All memory allocations
for this subsuquently were off by 1 byte since those were not
adjusted either.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agobgpd: Allow turn off of 'debug bgp nht' from 'no debug bgp'
Donald Sharp [Wed, 18 Oct 2017 18:49:59 +0000 (14:49 -0400)]
bgpd: Allow turn off of 'debug bgp nht' from 'no debug bgp'

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #1333 from donaldsharp/command_py_leak
Jafar Al-Gharaibeh [Wed, 18 Oct 2017 04:03:43 +0000 (23:03 -0500)]
Merge pull request #1333 from donaldsharp/command_py_leak

lib: Fix small memory leak when using command_py.c

6 years agoMerge pull request #1334 from donaldsharp/large_number
Lou Berger [Wed, 18 Oct 2017 01:56:23 +0000 (21:56 -0400)]
Merge pull request #1334 from donaldsharp/large_number

Large number

6 years agobgpd: Display unsigned ints
Donald Sharp [Wed, 18 Oct 2017 00:57:40 +0000 (20:57 -0400)]
bgpd: Display unsigned ints

We are storing data as an unsigned int and we should not
display it as a signed number.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Display unsigned instead of signed
Donald Sharp [Wed, 18 Oct 2017 00:49:15 +0000 (20:49 -0400)]
lib: Display unsigned instead of signed

When displaying thread cpu data, display unsigned instead
of signed data when we get really really really large
numbers of invocations.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Fix small memory leak when using command_py.c
Donald Sharp [Tue, 17 Oct 2017 13:22:41 +0000 (09:22 -0400)]
lib: Fix small memory leak when using command_py.c

When free'ing memory associated with the wgraph, also
free memory malloced during the initialization.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #1308 from chiragshah6/mdev1
Olivier Dugeon [Tue, 17 Oct 2017 08:28:37 +0000 (10:28 +0200)]
Merge pull request #1308 from chiragshah6/mdev1

ospfd: fix ospf nssa command

6 years agoospf6d: Handle lsupdate upto max ospf6 payload
Chirag Shah [Thu, 12 Oct 2017 22:10:50 +0000 (15:10 -0700)]
ospf6d: Handle lsupdate upto max ospf6 payload

While traversing LSUpdate list, if LSUpdate message
fills up (w/ LSAs) to the interface MTU size,
Send the existing filled LSUpdate message if max
payload exceeds max ospf6 payload,
reset sendbuf (buffer) to fill rest of
the remaining LSAs.

Add relevant fields to debugs.

Ticket:CM-18069

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
6 years agoMerge pull request #1290 from qlyoung/doc-commit-msgs
Jafar Al-Gharaibeh [Tue, 17 Oct 2017 04:36:19 +0000 (23:36 -0500)]
Merge pull request #1290 from qlyoung/doc-commit-msgs

doc: add docs for commit message format

6 years agoMerge pull request #1300 from chiragshah6/mdev
Jafar Al-Gharaibeh [Tue, 17 Oct 2017 04:35:16 +0000 (23:35 -0500)]
Merge pull request #1300 from chiragshah6/mdev

ospf6d: fix ospf6d crash during sigterm/shutdown

6 years agoMerge pull request #1324 from donaldsharp/bgp_aspath
Lou Berger [Mon, 16 Oct 2017 18:51:02 +0000 (14:51 -0400)]
Merge pull request #1324 from donaldsharp/bgp_aspath

bgpd: Add ability to display information about bestpath in json

6 years agolib: No need to call apply_mask 2 times
Donald Sharp [Mon, 16 Oct 2017 18:47:08 +0000 (14:47 -0400)]
lib: No need to call apply_mask 2 times

route_node_set is only called by route_node_get
which calls apply_mask.  There is no need to do
this again.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Allow hash_get to sidestep expensive hash key generation in some cases
Donald Sharp [Mon, 16 Oct 2017 17:56:01 +0000 (13:56 -0400)]
lib: Allow hash_get to sidestep expensive hash key generation in some cases

There is no need to generate a hash key *if* the hash_alloc_function
is NULL and the hash is empty.

This changed showed a measurable increase in performance for
table hash lookup for tables that were meant to be empty in
bgp( the distance commands ).

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoospfd: fix ospf nssa command
Chirag Shah [Sat, 7 Oct 2017 20:26:13 +0000 (13:26 -0700)]
ospfd: fix ospf nssa command

-Fix ordering of nssa command with translate options
and no-summary option.
Just like ospf stub no-summary keep the order order
of nssa no-summary.
- Fix NSSA options.
- Avoid displaying translate-candiate (default) option
in running-config.

cumulus(config-router)# area 2.2.2.2 nssa
  <cr>
  no-summary           Do not inject inter-area routes into nssa
  translate-always     Configure NSSA-ABR to always translate
  translate-candidate  Configure NSSA-ABR for translate election (default)
  translate-never      Configure NSSA-ABR to never translate

Running-config output:
router ospf
 area 2.2.2.2 nssa translate-always
 area 2.2.2.2 nssa no-summary

Ticket:CM-8312

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
6 years agoMerge pull request #1313 from LabNConsulting/working/master/patch-set/block-non-core...
Donald Sharp [Mon, 16 Oct 2017 16:00:59 +0000 (12:00 -0400)]
Merge pull request #1313 from LabNConsulting/working/master/patch-set/block-non-core-fix-assert

bgpd: only allow unicast|multicast config commands in non-core BGP instances

6 years agoMerge pull request #1298 from opensourcerouting/iface-rb-tree
Donald Sharp [Mon, 16 Oct 2017 16:00:38 +0000 (12:00 -0400)]
Merge pull request #1298 from opensourcerouting/iface-rb-tree

Use rb-trees to store interfaces instead of linked-lists

6 years agoMerge pull request #1305 from donaldsharp/workqueue
Renato Westphal [Wed, 11 Oct 2017 14:59:15 +0000 (11:59 -0300)]
Merge pull request #1305 from donaldsharp/workqueue

lib: Free workqueue memory leak on free

6 years agoMerge pull request #1317 from donaldsharp/babel_mem
Renato Westphal [Wed, 11 Oct 2017 14:16:17 +0000 (11:16 -0300)]
Merge pull request #1317 from donaldsharp/babel_mem

babeld: Do not copy beyond end of data

6 years agolib: Free workqueue memory leak on free
Donald Sharp [Sat, 7 Oct 2017 01:40:08 +0000 (21:40 -0400)]
lib: Free workqueue memory leak on free

When free'ing the workqueue if you have items
on the workqueue you should free the memory associated
with it.

Additionally move the work_queue_item_remove function
to allow for static to be awesome

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #1322 from donaldsharp/ospf6_proto
Renato Westphal [Wed, 11 Oct 2017 13:48:20 +0000 (10:48 -0300)]
Merge pull request #1322 from donaldsharp/ospf6_proto

ospf6d: Make ospf6_prefix have an empty v6 addr at end

6 years agoospf6d: Make ospf6_prefix have an empty v6 addr at end
Donald Sharp [Tue, 10 Oct 2017 17:07:16 +0000 (13:07 -0400)]
ospf6d: Make ospf6_prefix have an empty v6 addr at end

The `struct ospf6_prefix` type expects to have space allocated
at the end of the structure for a v6 prefix.  So let's tell
the compiler that there might be more there.  This is to fix
a coverity scan warning.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agobgpd: Add ability to display information about bestpath in json
Donald Sharp [Tue, 10 Oct 2017 20:30:36 +0000 (16:30 -0400)]
bgpd: Add ability to display information about bestpath in json

When retrieving information about neighbors or summary in json
add some information about what bestPath particulars we have for
this bgp session.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #1120 from donaldsharp/branch_million
Martin Winter [Wed, 11 Oct 2017 07:36:07 +0000 (00:36 -0700)]
Merge pull request #1120 from donaldsharp/branch_million

configure: Have --enable-dev turn on better debugging.

6 years agoMerge pull request #1323 from donaldsharp/ospf_list_delete
Renato Westphal [Tue, 10 Oct 2017 23:59:45 +0000 (20:59 -0300)]
Merge pull request #1323 from donaldsharp/ospf_list_delete

ospfd: Fix ships in the night PR's and list_delete

6 years agoospfd: Do not delete write_q 2 times either
Donald Sharp [Tue, 10 Oct 2017 21:35:19 +0000 (17:35 -0400)]
ospfd: Do not delete write_q 2 times either

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoospfd: We should not be deleting ospf->oiflist 2 times
Donald Sharp [Tue, 10 Oct 2017 21:08:32 +0000 (17:08 -0400)]
ospfd: We should not be deleting ospf->oiflist 2 times

The ospf->oiflist deletion is happening 2 times now.
Let's delete it once only.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoospfd: Fix ships in the night PR's and list_delete
Donald Sharp [Tue, 10 Oct 2017 17:33:14 +0000 (13:33 -0400)]
ospfd: Fix ships in the night PR's and list_delete

list_delete_and_null should be used.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #1304 from chiragshah6/ospf_vrf_dev
Renato Westphal [Tue, 10 Oct 2017 18:14:21 +0000 (15:14 -0300)]
Merge pull request #1304 from chiragshah6/ospf_vrf_dev

ospfd: OSPFv2 VRF, add vrf_name in show command output

6 years agoMerge pull request #1316 from donaldsharp/high_stuff
Renato Westphal [Tue, 10 Oct 2017 17:51:02 +0000 (14:51 -0300)]
Merge pull request #1316 from donaldsharp/high_stuff

High stuff

6 years agoMerge pull request #1319 from opensourcerouting/ldpd-use-after-free
Donald Sharp [Tue, 10 Oct 2017 16:57:22 +0000 (12:57 -0400)]
Merge pull request #1319 from opensourcerouting/ldpd-use-after-free

ldpd: fix heap-use-after-free at exit

6 years agoospfd: OSPFv2 VRF abstact api
Chirag Shah [Fri, 6 Oct 2017 22:32:25 +0000 (15:32 -0700)]
ospfd: OSPFv2 VRF abstact api

Create an api to display vrf name in vty or json format.
Use VRF Name for vtysh and vrfName for json output.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
6 years agoMerge pull request #1314 from donaldsharp/pim_rpf_address
Jafar Al-Gharaibeh [Tue, 10 Oct 2017 16:42:26 +0000 (11:42 -0500)]
Merge pull request #1314 from donaldsharp/pim_rpf_address

Pim rpf address

6 years agoospfd: OSPFv2 VRF, vrf in show command output
Chirag Shah [Sun, 17 Sep 2017 22:44:39 +0000 (15:44 -0700)]
ospfd: OSPFv2 VRF, vrf in show command output

Add VRF name in both vtysh and json format of
show commands.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
6 years agoospfd: Free memory associated with ospf instance startup
Donald Sharp [Wed, 4 Oct 2017 12:04:00 +0000 (08:04 -0400)]
ospfd: Free memory associated with ospf instance startup

We have memory that is initialized upon ospf instance
and area startup.  Free it up on shutdown.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoripngd: Fix possible memory leak of route_node
Donald Sharp [Wed, 4 Oct 2017 11:55:58 +0000 (07:55 -0400)]
ripngd: Fix possible memory leak of route_node

There exists a path where we do not save the route_node
after creation.  Allow cleanup.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Add some documentation about argv_find
Donald Sharp [Tue, 10 Oct 2017 16:29:54 +0000 (12:29 -0400)]
lib: Add some documentation about argv_find

We expect that the index value passed in for argv_find
should be initially set to 0.  This way if the cli
ever changes there is no need to modify the initial
value.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Fix missing va_end
Donald Sharp [Mon, 9 Oct 2017 20:23:30 +0000 (16:23 -0400)]
lib: Fix missing va_end

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>