]> git.puffer.fish Git - matthieu/frr.git/log
matthieu/frr.git
7 years agozebra: Install connected routes during VRF change only if interface is up
vivek [Sat, 20 Jan 2018 21:21:05 +0000 (13:21 -0800)]
zebra: Install connected routes during VRF change only if interface is up

During VRF change handling, the connected route for the interface should be
installed only if the interface is up. Otherwise, we end up with duplicate
connected routes which can lead to other problems.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-19364
Reviewed By: CCR-7099
Testing Done: Manual verification

7 years agoMerge pull request #1647 from chiragshah6/ospf_vrf_dev
Olivier Dugeon [Fri, 19 Jan 2018 16:40:14 +0000 (17:40 +0100)]
Merge pull request #1647 from chiragshah6/ospf_vrf_dev

ospfd: show ip ospf interface json output format

7 years agoMerge pull request #1630 from LabNConsulting/working/master/pr1629-no-json
Donald Sharp [Fri, 19 Jan 2018 12:59:34 +0000 (07:59 -0500)]
Merge pull request #1630 from LabNConsulting/working/master/pr1629-no-json

bgpd: fix reporting of no vpn routes (no json)

7 years agoMerge pull request #1566 from chiragshah6/ospfv3_dev
Jafar Al-Gharaibeh [Thu, 18 Jan 2018 16:54:52 +0000 (10:54 -0600)]
Merge pull request #1566 from chiragshah6/ospfv3_dev

ospf6d: Fix External routes ECMP

7 years agoMerge pull request #1645 from qlyoung/fix-cancel-invalid-rw
Jafar Al-Gharaibeh [Thu, 18 Jan 2018 15:37:24 +0000 (09:37 -0600)]
Merge pull request #1645 from qlyoung/fix-cancel-invalid-rw

lib: avoid crash when cancelling invalid rw job

7 years agoMerge pull request #1648 from dwalton76/frr-reload
Jafar Al-Gharaibeh [Thu, 18 Jan 2018 15:32:41 +0000 (09:32 -0600)]
Merge pull request #1648 from dwalton76/frr-reload

tools: frr-reload 'vni' keyword does not always create a sub-context

7 years agoMerge pull request #1646 from qlyoung/update-readme
Jafar Al-Gharaibeh [Thu, 18 Jan 2018 15:27:48 +0000 (09:27 -0600)]
Merge pull request #1646 from qlyoung/update-readme

frr: update README

7 years agoMerge pull request #1650 from donaldsharp/hash_it_fucker
Renato Westphal [Wed, 17 Jan 2018 22:59:56 +0000 (20:59 -0200)]
Merge pull request #1650 from donaldsharp/hash_it_fucker

bgpd: Remove peer->hash as that it is unused

7 years agoMerge pull request #1649 from donaldsharp/ospfd_lsdb_loop
Renato Westphal [Wed, 17 Jan 2018 22:58:18 +0000 (20:58 -0200)]
Merge pull request #1649 from donaldsharp/ospfd_lsdb_loop

ospfd: LSDB_LOOP treat it as a loop.

7 years agobgpd: Remove peer->hash as that it is unused
Donald Sharp [Wed, 17 Jan 2018 19:17:15 +0000 (14:17 -0500)]
bgpd: Remove peer->hash as that it is unused

The peer->hash pointer is allocating a bunch of memory
but is never used.  Remove.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoospfd: LSDB_LOOP treat it as a loop.
Donald Sharp [Wed, 17 Jan 2018 18:28:17 +0000 (13:28 -0500)]
ospfd: LSDB_LOOP treat it as a loop.

Inform the .clang-format file about LSDB_LOOP and
put the proper indentation for this loop into the
code.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agotools: frr-reload 'vni' keyword does not always create a sub-context
Daniel Walton [Wed, 17 Jan 2018 15:57:50 +0000 (15:57 +0000)]
tools: frr-reload 'vni' keyword does not always create a sub-context

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agofrr: update README
Quentin Young [Tue, 16 Jan 2018 20:44:14 +0000 (15:44 -0500)]
frr: update README

* Clarify that FRR implements as well as manages protocols
* Move IS-IS out of "early support"
* Add Babel - friends don't leave friends out of READMEs!
* Add mention of further information

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoospfd: show ip ospf interface json output format
Chirag Shah [Sat, 30 Dec 2017 05:01:07 +0000 (21:01 -0800)]
ospfd: show ip ospf interface json output format

Current json output does not differentiate start of
interface objects. Adding "interfaces" keyword at the
beginning of the interface list. This is useful
when displaying vrf level output along with interface list.

Ticket:CM-19115
Testing Done:
show ip ospf vrf all interface json
show ip ospf vrf all interface <specific intf> json
show ip ospf interface json
show ip ospf interface <specific intf> json

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agoMerge pull request #1634 from qlyoung/vtysh-output-file
Russ White [Tue, 16 Jan 2018 20:31:50 +0000 (15:31 -0500)]
Merge pull request #1634 from qlyoung/vtysh-output-file

vtysh: add ability to output to file

7 years agoMerge pull request #1627 from qlyoung/bgp-autoshutdown
Russ White [Tue, 16 Jan 2018 20:29:17 +0000 (15:29 -0500)]
Merge pull request #1627 from qlyoung/bgp-autoshutdown

BGP auto-shutdown

7 years agolib: avoid crash when cancelling invalid rw job
Quentin Young [Fri, 1 Dec 2017 19:44:32 +0000 (14:44 -0500)]
lib: avoid crash when cancelling invalid rw job

There are some observed instances where we end up trying to cancel a rw
job based on a file descriptor that we don't have a reference on. The
specific cancel function for rw jobs assumes it's called with a file
descriptor that is valid within pollfds and will cause a segmentation
fault by buffer overrun if this is not the case.

Instead log it and move on. Since the fd does not exist this should
patch over the buggy behavior and provide additional information to help
in finding the root cause.

Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #1625 from qlyoung/fix-peer-group-admin-shutdown-override
Renato Westphal [Tue, 16 Jan 2018 19:40:35 +0000 (17:40 -0200)]
Merge pull request #1625 from qlyoung/fix-peer-group-admin-shutdown-override

bgpd: preserve admin shutdown on peer-group add

7 years agoMerge pull request #1611 from qlyoung/fix-vtysh-perf
Renato Westphal [Tue, 16 Jan 2018 19:31:10 +0000 (17:31 -0200)]
Merge pull request #1611 from qlyoung/fix-vtysh-perf

vtysh: optimize printout routine

7 years agoMerge pull request #1632 from dwalton76/bgpd-localas-allowasin
Russ White [Tue, 16 Jan 2018 18:48:46 +0000 (13:48 -0500)]
Merge pull request #1632 from dwalton76/bgpd-localas-allowasin

BGP "allowas-in" should accept AS paths with "local-as"

7 years agoMerge pull request #1614 from qlyoung/imp-bgpd-pthread-startup-sync
Lou Berger [Tue, 16 Jan 2018 18:43:27 +0000 (13:43 -0500)]
Merge pull request #1614 from qlyoung/imp-bgpd-pthread-startup-sync

improve bgpd thread startup characteristics

7 years agoMerge pull request #1642 from chiragshah6/mdev1
Olivier Dugeon [Tue, 16 Jan 2018 17:02:45 +0000 (18:02 +0100)]
Merge pull request #1642 from chiragshah6/mdev1

ospfd: Speed up show ip ospf [vrf all] route json

7 years agoMerge pull request #1638 from LabNConsulting/working/master/vnc2zebra
Renato Westphal [Tue, 16 Jan 2018 12:19:57 +0000 (10:19 -0200)]
Merge pull request #1638 from LabNConsulting/working/master/vnc2zebra

bgpd: fix handling of nhp_ary when exporting vrf routes to zebra

7 years agoMerge pull request #1635 from qlyoung/bgpd-remove-options-directly-connected
Renato Westphal [Tue, 16 Jan 2018 12:11:39 +0000 (10:11 -0200)]
Merge pull request #1635 from qlyoung/bgpd-remove-options-directly-connected

bgpd: disallow invalid config at cli layer

7 years agoMerge pull request #1612 from chiragshah6/mdev
Renato Westphal [Tue, 16 Jan 2018 12:08:10 +0000 (10:08 -0200)]
Merge pull request #1612 from chiragshah6/mdev

ospf6d: Add protocol stats and show command

7 years agoospfd: Speed up show ip ospf [vrf all] route json
Chirag Shah [Tue, 16 Jan 2018 01:49:23 +0000 (17:49 -0800)]
ospfd: Speed up show ip ospf [vrf all] route json

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agoospf6d: Add protocol stats and show command
Chirag Shah [Tue, 9 Jan 2018 00:53:53 +0000 (16:53 -0800)]
ospf6d: Add protocol stats and show command

Add OSPFv3 Protocol incoming/outgoing packets
stats.

r3# show ipv6 ospf6 interface traffic

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

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agoMerge pull request #1623 from donaldsharp/zebra_interface_one_shot
Renato Westphal [Mon, 15 Jan 2018 12:35:39 +0000 (10:35 -0200)]
Merge pull request #1623 from donaldsharp/zebra_interface_one_shot

zebra: Add one-shot thread to recheck speed

7 years agobgpd: fix handling of nhp_ary when exporting vrf routes to zebra
Lou Berger [Sun, 14 Jan 2018 20:42:06 +0000 (15:42 -0500)]
bgpd: fix handling of nhp_ary when exporting vrf routes to zebra

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: add neighbor autoshutdown
Quentin Young [Thu, 11 Jan 2018 17:50:08 +0000 (12:50 -0500)]
bgpd: add neighbor autoshutdown

Adds ability to specify that peers should be administratively shutdown
when first configured.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agobgpd: disallow invalid config at cli layer
Quentin Young [Fri, 12 Jan 2018 19:57:57 +0000 (14:57 -0500)]
bgpd: disallow invalid config at cli layer

Remove the ability to attempt to configure a couple of options on
directly connected neighbors that don't make sense for them, as well as
the soft error handling code.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agovtysh: add ability to output to file
Quentin Young [Fri, 12 Jan 2018 17:35:19 +0000 (12:35 -0500)]
vtysh: add ability to output to file

Add ability to set file destination for all vtysh output, with the
exception of tab-complete and similar meta output. This is useful for
inline recording of some information without exiting the shell.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoBGP "allowas-in" should accept AS paths with "local-as"
Daniel Walton [Fri, 12 Jan 2018 15:31:16 +0000 (15:31 +0000)]
BGP "allowas-in" should accept AS paths with "local-as"

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
For issue #1548

7 years agoMerge pull request #1626 from LabNConsulting/working/master/vnc-config
Donald Sharp [Fri, 12 Jan 2018 13:54:36 +0000 (08:54 -0500)]
Merge pull request #1626 from LabNConsulting/working/master/vnc-config

bgp: don't show vnc response-lifetime config line when set to default…

7 years agobgpd: fix summary line reporting routes with RDs (no json case)
Lou Berger [Fri, 12 Jan 2018 02:33:34 +0000 (21:33 -0500)]
bgpd: fix summary line reporting routes with RDs (no json case)

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agoMerge pull request #1455 from mkanjari/evpn-symmetric-routing
Philippe Guibert [Fri, 12 Jan 2018 07:27:37 +0000 (08:27 +0100)]
Merge pull request #1455 from mkanjari/evpn-symmetric-routing

Support for Evpn symmetric routing + EVPN Prefix route

7 years agoMerge pull request #1624 from qlyoung/fix-cmd-argc-max-usage
Renato Westphal [Fri, 12 Jan 2018 02:15:09 +0000 (00:15 -0200)]
Merge pull request #1624 from qlyoung/fix-cmd-argc-max-usage

lib, bgpd: fixup use of of CMD_ARGC_MAX

7 years agobgp: don't show vnc response-lifetime config line when set to default value
Lou Berger [Thu, 11 Jan 2018 22:09:26 +0000 (17:09 -0500)]
bgp: don't show vnc response-lifetime config line when set to default value

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: preserve admin shutdown on peer-group add
Quentin Young [Thu, 11 Jan 2018 22:07:07 +0000 (17:07 -0500)]
bgpd: preserve admin shutdown on peer-group add

When a peer configured with administrative shutdown is added to a peer
group, the administrative shutdown status is discarded and the peer will
enter the BGP FSM. This is not what we want. Preserve the flag instead.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge branch 'master' into evpn-symmetric-routing
Mitesh Kanjariya [Thu, 11 Jan 2018 17:57:47 +0000 (09:57 -0800)]
Merge branch 'master' into evpn-symmetric-routing

7 years agoMerge branch 'master' into evpn-symmetric-routing
Mitesh Kanjariya [Thu, 11 Jan 2018 17:00:23 +0000 (09:00 -0800)]
Merge branch 'master' into evpn-symmetric-routing

7 years agolib, bgpd: fixup use of of CMD_ARGC_MAX
Quentin Young [Thu, 11 Jan 2018 16:31:45 +0000 (11:31 -0500)]
lib, bgpd: fixup use of of CMD_ARGC_MAX

The constant to limit # of allowed cli tokens on any one line was
defined in multiple places, all inconsistent with each other. Fix.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agozebra: Add one-shot thread to recheck speed
Donald Sharp [Thu, 11 Jan 2018 00:01:57 +0000 (19:01 -0500)]
zebra: Add one-shot thread to recheck speed

There are certain interfaces that when brought up and we receive
the netlink notification about it, the speed of the interface is
not set correctly.  This creates a one-shot thread that will
wait 15 seconds and then requery the speed and if it is different
it will renotify the running daemons.

The kernel should notify us on speed changes, unfortunately this
is not done currently via a netlink message as you would think.
As I understand it there is some in-fighting about the proper
way to approach this issue and due to the way the kernel release
cycle works we are a ways off from getting this fixed.  This
is a `hack` to make us work correctly while we wait for the
true answer.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1609 from dwalton76/ospf-reconfigure-area
Russ White [Thu, 11 Jan 2018 01:12:19 +0000 (20:12 -0500)]
Merge pull request #1609 from dwalton76/ospf-reconfigure-area

ospfd: do not complain if same area is reconfigured

7 years agoMerge pull request #1616 from qlyoung/sharpd-gitignore
Russ White [Thu, 11 Jan 2018 01:10:09 +0000 (20:10 -0500)]
Merge pull request #1616 from qlyoung/sharpd-gitignore

sharpd: add .gitignore

7 years agoMerge pull request #1619 from donaldsharp/bgp_debugging
Russ White [Thu, 11 Jan 2018 01:00:51 +0000 (20:00 -0500)]
Merge pull request #1619 from donaldsharp/bgp_debugging

bgpd: 'summary' to show NoNeg if peer did not negotiate afi/safi

7 years agoMerge pull request #1620 from dslicenc/bgpd-vrf-redist
Russ White [Thu, 11 Jan 2018 01:00:14 +0000 (20:00 -0500)]
Merge pull request #1620 from dslicenc/bgpd-vrf-redist

bgpd: fix updating redist bitmask when vrf_id changes

7 years agoMerge pull request #1591 from qlyoung/bgpd-ringbuf
Russ White [Thu, 11 Jan 2018 00:59:24 +0000 (19:59 -0500)]
Merge pull request #1591 from qlyoung/bgpd-ringbuf

bgpd: use ring buffer for network input

7 years agoMerge pull request #1586 from donaldsharp/1585_fix
Russ White [Thu, 11 Jan 2018 00:58:09 +0000 (19:58 -0500)]
Merge pull request #1586 from donaldsharp/1585_fix

bgpd: Fix peer uptime display in milliseconds

7 years agobgpd: fix updating redist bitmask when vrf_id changes
Don Slice [Wed, 10 Jan 2018 19:40:45 +0000 (19:40 +0000)]
bgpd: fix updating redist bitmask when vrf_id changes

Problem reported that when "systemctl restart networking" was
performed, prefixes previously redistributed into bgp from connected
were deleted from the bgp table.  Determined that we were not correctly
changing the redistribution bitmask when the vrf_id of the vrf was
changed. This patch corrects that behavior.

Manual tests look good. bgp-min and vrf-min completed with no new failures.

Ticket: CM-19369
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1608 from donaldsharp/use_source
Jafar Al-Gharaibeh [Wed, 10 Jan 2018 17:34:22 +0000 (11:34 -0600)]
Merge pull request #1608 from donaldsharp/use_source

pimd: Allow use-source to return more subtle error codes

7 years agobgpd: 'summary' to show NoNeg if peer did not negotiate afi/safi
Daniel Walton [Thu, 31 Aug 2017 16:58:38 +0000 (16:58 +0000)]
bgpd: 'summary' to show NoNeg if peer did not negotiate afi/safi

If we have configured neighbor 1.1.1.1 for an afi/safi but they have not
activated that afi/safi with us then display "NoNeg" in the state column
of the summary output.  This is to make troubleshooting afi/safi
easier.

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agobgpd: move startup sync lock around
Quentin Young [Wed, 10 Jan 2018 16:20:09 +0000 (11:20 -0500)]
bgpd: move startup sync lock around

Condition needs to be set inside critical section, otherwise i/o thread
can deadlock. Also unlock mutex once finished with it, no need to hold
the lock for the life of the program.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agosharpd: add .gitignore
Quentin Young [Tue, 9 Jan 2018 20:53:51 +0000 (15:53 -0500)]
sharpd: add .gitignore

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #1615 from qlyoung/fix-bgpd-atomic-usage
Lou Berger [Tue, 9 Jan 2018 22:03:24 +0000 (17:03 -0500)]
Merge pull request #1615 from qlyoung/fix-bgpd-atomic-usage

bgpd: use atomic_* ops on _Atomic variables

7 years agobgpd: use atomic_* ops on _Atomic variables
Quentin Young [Tue, 9 Jan 2018 20:38:17 +0000 (15:38 -0500)]
bgpd: use atomic_* ops on _Atomic variables

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agobgpd: improve bgp thread startup characteristics
Quentin Young [Tue, 9 Jan 2018 19:27:44 +0000 (14:27 -0500)]
bgpd: improve bgp thread startup characteristics

Replace atomic spinlock with condition variable.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: add MTYPE for synchronization primitives
Quentin Young [Tue, 9 Jan 2018 18:59:33 +0000 (13:59 -0500)]
lib: add MTYPE for synchronization primitives

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agovtysh: optimize printout routine
Quentin Young [Mon, 8 Jan 2018 21:40:49 +0000 (16:40 -0500)]
vtysh: optimize printout routine

When printing responses from a client, vtysh searches through every
response it receives twice. Once is to look for the terminating
sequence and the other is to translate \n to \0, which is used with the
line processing callback capability. However:

* There's no need to search all of the output for the terminator, we can
  just check the last 4 bytes.
* In most scenarios we won't have a callback. Therefore we don't need to
  process the output and can just dump it.

Together these optimizations have a significant impact on the total
runtime of talkative CLI commands, such as `sh ip bgp json` which runs
roughly 1000% faster when dumping 1,000,000 routes.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoospfd: do not complain if same area is reconfigured
Daniel Walton [Mon, 8 Jan 2018 21:16:18 +0000 (21:16 +0000)]
ospfd: do not complain if same area is reconfigured

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Before
------
cel-redxp-10(config)# router ospf vrf RED
cel-redxp-10(config-router)# network 1.1.1.1/32 area 0.0.0.0
cel-redxp-10(config-router)# network 1.1.1.1/32 area 0.0.0.0
There is already same network statement.
cel-redxp-10(config-router)#

When we see the "There is already same network statement." message
vtysh exits non-zero.  This scenario breaks frr-reload because
the command took and it in the config, it should exit zero here.

After
-----
cel-redxp-10(config)# router ospf vrf RED
cel-redxp-10(config-router)# network 1.1.1.1/32 area 0.0.0.0
cel-redxp-10(config-router)# network 1.1.1.1/32 area 0.0.0.0
cel-redxp-10(config-router)# network 1.1.1.1/32 area 0.0.0.0
cel-redxp-10(config-router)# network 1.1.1.1/32 area 0
cel-redxp-10(config-router)#
cel-redxp-10(config-router)# network 1.1.1.1/32 area 0.0.0.1
There is already same network statement.
cel-redxp-10(config-router)#

7 years agopimd: Allow use-source to return more subtle error codes
Donald Sharp [Mon, 8 Jan 2018 21:01:22 +0000 (16:01 -0500)]
pimd: Allow use-source to return more subtle error codes

The 'ip pim use-source ...' command returns a hard
success/failure.  Allow it to return a soft-failure
for when we re-enter the same line.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1599 from chiragshah6/mdev
Jafar Al-Gharaibeh [Mon, 8 Jan 2018 17:36:45 +0000 (11:36 -0600)]
Merge pull request #1599 from chiragshah6/mdev

ospfd: Fix no passive interface command parsing

7 years agoMerge pull request #1588 from donaldsharp/msdp_return
Jafar Al-Gharaibeh [Mon, 8 Jan 2018 17:34:36 +0000 (11:34 -0600)]
Merge pull request #1588 from donaldsharp/msdp_return

pimd: Add finer grain return codes for configuration

7 years agoMerge pull request #1590 from chiragshah6/pim_dev
Jafar Al-Gharaibeh [Mon, 8 Jan 2018 17:25:06 +0000 (11:25 -0600)]
Merge pull request #1590 from chiragshah6/pim_dev

lib: Fix no interface cmd vrf parsing

7 years agoospfd: Fix no passive interface command parsing
Chirag Shah [Sat, 6 Jan 2018 16:24:00 +0000 (08:24 -0800)]
ospfd: Fix no passive interface command parsing

Ticket: CM-19365

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agoMerge pull request #1606 from bingen/lm_privs
Donald Sharp [Mon, 8 Jan 2018 12:44:02 +0000 (07:44 -0500)]
Merge pull request #1606 from bingen/lm_privs

ldpd: Add privs to label manager

7 years agoMerge pull request #1600 from donaldsharp/more_thread_yield
Lou Berger [Sat, 6 Jan 2018 23:28:46 +0000 (18:28 -0500)]
Merge pull request #1600 from donaldsharp/more_thread_yield

More thread yield

7 years agobgpd: Ensure that io thread is running after start
Donald Sharp [Sat, 6 Jan 2018 19:04:35 +0000 (14:04 -0500)]
bgpd: Ensure that io thread is running after start

The BGP IO thread must be running before other threads
can start using it.  So at startup check to see
that it running once, instead of before every
function call into.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agolib: Add pthread_yield
Donald Sharp [Sat, 6 Jan 2018 16:48:11 +0000 (11:48 -0500)]
lib: Add pthread_yield

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1595 from dwiesner/pmsi-tunnel
Donald Sharp [Fri, 5 Jan 2018 19:08:29 +0000 (14:08 -0500)]
Merge pull request #1595 from dwiesner/pmsi-tunnel

bgpd: add PMSI_TUNNEL_ATTRIBUTE to EVPN IMET routes

7 years agoldpd: Add privs to label manager
ßingen [Mon, 13 Nov 2017 20:41:58 +0000 (21:41 +0100)]
ldpd: Add privs to label manager

Signed-off-by: ßingen <bingen@voltanet.io>
7 years agoMerge pull request #1594 from donaldsharp/32_bit_fuckery
Philippe Guibert [Thu, 4 Jan 2018 13:34:51 +0000 (14:34 +0100)]
Merge pull request #1594 from donaldsharp/32_bit_fuckery

bgpd: fix failing to compile on 32 bit systems

7 years agobgpd: add PMSI_TUNNEL_ATTRIBUTE to EVPN IMET routes
Dario Wiesner [Thu, 4 Jan 2018 11:34:24 +0000 (12:34 +0100)]
bgpd: add PMSI_TUNNEL_ATTRIBUTE to EVPN IMET routes

Signed-off-by: Dario Wiesner <dario.wiesner@gmail.com>
7 years agobgpd: fix failing to compile on 32 bit systems
Donald Sharp [Thu, 4 Jan 2018 10:45:28 +0000 (05:45 -0500)]
bgpd: fix failing to compile on 32 bit systems

-Werror=sign-compare is failing with signed/unsigned usage
in the conditional expression.

Fixes: #1593
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1592 from lihongguang/master
Donald Sharp [Thu, 4 Jan 2018 00:45:46 +0000 (19:45 -0500)]
Merge pull request #1592 from lihongguang/master

ospfd: fix [no] area authentication command

7 years agoospfd: fix [no] area authentication command
lihongguang [Wed, 3 Jan 2018 23:01:58 +0000 (07:01 +0800)]
ospfd: fix [no] area authentication command

Signed-off-by: lihongguang lhg803@163.com
7 years agolib: Fix no interface cmd vrf parsing
Chirag Shah [Wed, 3 Jan 2018 19:41:45 +0000 (11:41 -0800)]
lib: Fix no interface cmd vrf parsing

For no interface <ifname> vrf VRFNAME,
vrf-name is not parsed properly.

Ticket:CM-19274

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agobgpd: use ring buffer for network input
Quentin Young [Tue, 2 Jan 2018 18:20:00 +0000 (18:20 +0000)]
bgpd: use ring buffer for network input

The multithreading code has a comment that reads:
"XXX: Heavy abuse of stream API. This needs a ring buffer."

This patch makes the relevant code use a ring buffer.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: fix a few bugs in ring buffers
Quentin Young [Wed, 3 Jan 2018 18:58:53 +0000 (13:58 -0500)]
lib: fix a few bugs in ring buffers

* Fix rare failure caused when end pointer is at end of buffer memory
  and a call to ringbuf_get() is made that reads all of the data in the
  buffer; start pointer was advanced past end pointer, causing some
  special handling to be skipped
* Fix ringbuf_peek() moving start pointer
* Fix use after free
* Remove extraneous assignment
* Update relevant tests

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: add ringbuf_copy()
Quentin Young [Tue, 2 Jan 2018 18:19:40 +0000 (18:19 +0000)]
lib: add ringbuf_copy()

Quick 'n easy way to copy the contents of one ringbuf to another.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agobgpd: Allow for deprecation of json bgpTimerUp
Donald Sharp [Tue, 2 Jan 2018 15:12:05 +0000 (10:12 -0500)]
bgpd: Allow for deprecation of json bgpTimerUp

The bgpTimerUp value was incorrectly named, add
a correct name bgpTimerUpMsec and add some
code to allow for deprecation.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: Fix peer uptime display in milliseconds
Donald Sharp [Tue, 2 Jan 2018 14:47:38 +0000 (09:47 -0500)]
bgpd: Fix peer uptime display in milliseconds

For some reason bgp is calculating the peer uptime
in miliseconds incorrectly.  Additionally we have
the peer_uptime function call that should be doing this!
But since we've choosen different names for the json output
we cannot fix it at this point.

uptime contains the number of seconds of uptime here.  Just
multiply by 1k and display that( as peer_uptime does )

Fixes: #1585
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1589 from lihongguang/master
Donald Sharp [Wed, 3 Jan 2018 16:12:34 +0000 (11:12 -0500)]
Merge pull request #1589 from lihongguang/master

ospfd: return non-zero for configuration failures

7 years agoospfd: return non-zero for configuration failures
lihongguang [Wed, 3 Jan 2018 14:47:28 +0000 (22:47 +0800)]
ospfd: return non-zero for configuration failures

Signed-off-by: lihongguang <lhg803@163.com>
7 years agopimd: Add finer grain return codes for configuration
Donald Sharp [Wed, 3 Jan 2018 14:06:44 +0000 (09:06 -0500)]
pimd: Add finer grain return codes for configuration

When PIM handles some MSDP commands, a repeated command
was causing a CMD_WARNING_CONFIG_FAILED.  This should
be a CMD_WARNING.  Fix the code to allow vtysh to handle
this appropriately.

Ticket: CM-19053
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoospf6d: Fix External routes ECMP
Chirag Shah [Thu, 7 Dec 2017 02:20:48 +0000 (18:20 -0800)]
ospf6d: Fix External routes ECMP

Handle RFC 2328 16.4 Calculating AS external routes with ECMP

For ASBR route, if it is learnt via new LSA and contains
different nexthop list. First lookup route in ospf6 route table
if it exists, merge nexthop list to existing and call the callback
to install into FIB (zebra). Delete created new route as it is
identical to existing entry in route table.

Ticket:CM-16139
Testing Done:
Run two ASBR with 2 ECMP paths from each
DUT neighbor receievs 4 ECMP path to a external route.
ospf6 installs all 4 ECMP path to FIB/RIB

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agoMerge pull request #1584 from donaldsharp/1575_fix
Russ White [Tue, 2 Jan 2018 16:32:09 +0000 (11:32 -0500)]
Merge pull request #1584 from donaldsharp/1575_fix

zebra: Fix dest dereference

7 years agoMerge pull request #1569 from qlyoung/ringbuf
Russ White [Tue, 2 Jan 2018 14:21:37 +0000 (09:21 -0500)]
Merge pull request #1569 from qlyoung/ringbuf

lib: add ring buffer

7 years agozebra: Fix dest dereference
Donald Sharp [Tue, 2 Jan 2018 14:09:09 +0000 (09:09 -0500)]
zebra: Fix dest dereference

The rn can not have an rn->info pointer and as
such the dest may be NULL.  Don't assign
the old_fib pointer if so.  This is ok
because we know RNODE_FOREACH... will not
iterate if dest is NULL.

Fixes: #1575
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1572 from dslicenc/bgpd-network-defpy-cm16860
Russ White [Tue, 2 Jan 2018 14:02:44 +0000 (09:02 -0500)]
Merge pull request #1572 from dslicenc/bgpd-network-defpy-cm16860

bgpd: convert network statements from DEFUN to DEFPY

7 years agoMerge pull request #1580 from chiragshah6/mdev
Russ White [Tue, 2 Jan 2018 13:55:28 +0000 (08:55 -0500)]
Merge pull request #1580 from chiragshah6/mdev

ospfd: Set filter to unbound debug logs

7 years agoMerge pull request #1582 from chiragshah6/mdev1
Russ White [Tue, 2 Jan 2018 13:26:33 +0000 (08:26 -0500)]
Merge pull request #1582 from chiragshah6/mdev1

ospf6d: Fix ospf6 redist with route-map

7 years agoMerge pull request #1583 from donaldsharp/1558-more
Russ White [Tue, 2 Jan 2018 13:22:06 +0000 (08:22 -0500)]
Merge pull request #1583 from donaldsharp/1558-more

debianpkg: fix indentation and variable name

7 years agodebianpkg: fix indentation and variable name
Raymond P. Burkholder [Sun, 17 Dec 2017 03:48:20 +0000 (23:48 -0400)]
debianpkg: fix indentation and variable name

Signed-off-by: Raymond P. Burkholder <github@oneunified.net>
7 years agoospf6d: Fix ospf6 redist with route-map
Chirag Shah [Thu, 28 Dec 2017 19:12:35 +0000 (11:12 -0800)]
ospf6d: Fix ospf6 redist with route-map

When ospf6 configure with redistribute connected/protocol
with route-map. Upon restart of frr.service, ospf6 receives
redistribute update then route-map update.
During redistribute route update, since route-map info is not
filled, route is suppressed from injected as external route.

Fix: reset redistribute when route-map update received
matches with redistribution (type) and route-map name.

Ticket:CM-13800
Testing Done:
Configure ospf6 redistribute with route-map to inject
Type-2 external routes into database. Trigger frr restart
redistribute with route-map happens.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agobgpd, lib, zebra: fix style problems
mitesh [Wed, 27 Dec 2017 19:47:10 +0000 (11:47 -0800)]
bgpd, lib, zebra: fix style problems

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agoospfd: Set filter to unbound debug logs
Chirag Shah [Tue, 26 Dec 2017 17:45:25 +0000 (09:45 -0800)]
ospfd: Set filter to unbound debug logs

Ticket:CM-19213

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agolib: add ringbuf_peek()
Quentin Young [Tue, 26 Dec 2017 23:47:19 +0000 (18:47 -0500)]
lib: add ringbuf_peek()

Peek functionality for ring buffers and associated tests.

Also:
* Slight optimization to avoid 0-byte memcpy() by changing > to >=
* Add rv checks for some ringbuf_[put|get] calls that were missing them
  in the test

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agobgpd: convert network statements from DEFUN to DEFPY
Don Slice [Mon, 18 Dec 2017 15:40:56 +0000 (10:40 -0500)]
bgpd: convert network statements from DEFUN to DEFPY

Problems reported with inconsistent use of parameters for bgp network
statements.  Converted 12 DEFUNs to 2 DEFPY statements, making the
parameter use consistent with the exception of keeping the "backdoor"
keywork ipv4 only.  Also verified that if a route-map or label-index
is specified in the "no" case it matches what had been previously
defined. Manual testing looks good and bgp-smoke will be performed
before pushing.

Ticket: CM-16860
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: CCR-7056
7 years agolib: add ring buffer
Quentin Young [Tue, 19 Dec 2017 21:28:45 +0000 (16:28 -0500)]
lib: add ring buffer

Simple ring buffer implementation useful for fixed size FIFO queues.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>