]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
5 years agoMerge pull request #4220 from donaldsharp/fix_linux_alias
Russ White [Wed, 1 May 2019 22:13:48 +0000 (18:13 -0400)]
Merge pull request #4220 from donaldsharp/fix_linux_alias

zebra: Modify how we display/store os description

5 years agoMerge pull request #4192 from bisdhdh/biswajitfrr_4
Russ White [Wed, 1 May 2019 22:12:07 +0000 (18:12 -0400)]
Merge pull request #4192 from bisdhdh/biswajitfrr_4

bgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthop

5 years agotopotests/bgp_rfapi_basic_sanity: cleanup rfapi using non-debug command
Lou Berger [Wed, 1 May 2019 21:16:14 +0000 (21:16 +0000)]
topotests/bgp_rfapi_basic_sanity: cleanup rfapi using non-debug command

Signed-off-by: Lou Berger <lberger@labn.net>
5 years agozebra: Check on startup route_info has all types
Stephen Worley [Tue, 30 Apr 2019 14:43:16 +0000 (10:43 -0400)]
zebra: Check on startup route_info has all types

Add a function to check if the route_info array
has all types specified with data in it. Specifically,
test the 'key' attribute for non-zero data. Ignore
ZEBRA_ROUTE_SYSTEM as it should be zero key anyway.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
5 years agozebra: suppress unused variable warning
Quentin Young [Wed, 1 May 2019 19:29:24 +0000 (19:29 +0000)]
zebra: suppress unused variable warning

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agoMerge pull request #4226 from sworleys/PBR-BFD-OF-route_info
Mark Stapp [Wed, 1 May 2019 15:22:54 +0000 (11:22 -0400)]
Merge pull request #4226 from sworleys/PBR-BFD-OF-route_info

zebra: Add PBR, BFD, OpenFabric to route_info

5 years agozebra: Fix incorrect reading of REMOTE_VTEP_[ADD|DEL]
Donald Sharp [Wed, 1 May 2019 01:29:03 +0000 (21:29 -0400)]
zebra: Fix incorrect reading of REMOTE_VTEP_[ADD|DEL]

With flooding control added recently we were not properly handling
the new flood control parameter in zebra_vxlan.c handler functions.
The error message that was being repeatedly seen:

2019/05/01 00:47:32 ZEBRA: [EC 100663311] stream_get2: Attempt to get out of bounds
2019/05/01 00:47:32 ZEBRA: [EC 100663311] &(struct stream): 0x7f0f04001740, size: 22, getp: 22, endp: 22

The fix was to ensure that both the _add and _del functions kept proper
sizing of amount of data read *and* the _del function was not
reading the flood_control data from the stream.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #4232 from mjstapp/fix_topotests_py3
Donald Sharp [Tue, 30 Apr 2019 19:47:17 +0000 (15:47 -0400)]
Merge pull request #4232 from mjstapp/fix_topotests_py3

topotest: fixes to support python3

5 years agotopotest: fixes to support python3
Mark Stapp [Tue, 30 Apr 2019 15:31:02 +0000 (11:31 -0400)]
topotest: fixes to support python3

Make some small changes to support both python 2 and 3.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #3045 from opensourcerouting/atoms
Lou Berger [Tue, 30 Apr 2019 14:26:35 +0000 (10:26 -0400)]
Merge pull request #3045 from opensourcerouting/atoms

READY: lists/skiplists/rb-trees new API & sequence lock & atomic lists

5 years agoospfd: Correct Link-ID and Remote IP for TE LSA
Olivier Dugeon [Fri, 26 Apr 2019 16:59:34 +0000 (18:59 +0200)]
ospfd: Correct Link-ID and Remote IP for TE LSA

Solve issue #4198

Link-ID and Remote IP address must be set accordingly to the interface type
(Point-to-Point or Broadcast) from the neighbor information. However, this
information are only valid once the Network State Machine (NSM) is Full i.e.
when the adjacency is up. The original TE code only look to Interface State
Machine (ISM) change which not allow to collect valid neighbor information.
The patch move setup of Link-ID and Remote-IP TE parameters from
ospf_mpls_te_ism_change() to ospf_mpls_te_nsm_change() function.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
5 years agozebra: Comment to ensure types added to route_info
Stephen Worley [Tue, 30 Apr 2019 14:07:45 +0000 (10:07 -0400)]
zebra: Comment to ensure types added to route_info

Add a comment to indicate that route types added to
Zebra, should also be present in the route_info array.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
5 years agoMerge pull request #4227 from faickermo/fix_show_ip_bgp_json
Donald Sharp [Tue, 30 Apr 2019 12:32:44 +0000 (08:32 -0400)]
Merge pull request #4227 from faickermo/fix_show_ip_bgp_json

bpgd: Add the end of newline of show bgp table json output

5 years agozebra: Add OpenFabric to route_info array
Stephen Worley [Mon, 29 Apr 2019 23:28:15 +0000 (19:28 -0400)]
zebra: Add OpenFabric to route_info array

Add OpenFabric to the route_info array for handling processing
of the OpenFabric route type.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
5 years agozebra: Add BFD to route_info array
Stephen Worley [Mon, 29 Apr 2019 23:26:11 +0000 (19:26 -0400)]
zebra: Add BFD to route_info array

Add BFD to the route_info array for handling processing
of the BFD route type.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
5 years agozebra: Add PBR to route_info array
Stephen Worley [Mon, 29 Apr 2019 23:24:26 +0000 (19:24 -0400)]
zebra: Add PBR to route_info array

Add PBR to the route_info array for handling processing
of the PBR route type.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
5 years agoRevert "lib: use DECLARE_SKIPLIST for timers instead of pqueue"
David Lamparter [Mon, 29 Apr 2019 19:18:55 +0000 (21:18 +0200)]
Revert "lib: use DECLARE_SKIPLIST for timers instead of pqueue"

This reverts commit 7c198e4e1ac07c043ecfc573aed9f1d107f87234.

5 years agoRevert "lib: remove pqueue_*"
David Lamparter [Mon, 29 Apr 2019 19:18:48 +0000 (21:18 +0200)]
Revert "lib: remove pqueue_*"

This reverts commit 798ac49d06b6619adb4c5ac765b092397bc50a6c.

5 years agoMerge pull request #4216 from donaldsharp/nhg_sharpd_fixup
Mark Stapp [Mon, 29 Apr 2019 18:09:50 +0000 (14:09 -0400)]
Merge pull request #4216 from donaldsharp/nhg_sharpd_fixup

vtysh: Fixup exit nexthop-group to include sharpd

5 years agobpgd: Add the end of newline of show bgp table json output
Faicker Mo [Mon, 29 Apr 2019 09:28:42 +0000 (17:28 +0800)]
bpgd: Add the end of newline of show bgp table json output

Signed-off-by: Faicker Mo <faicker.mo@ucloud.cn>
5 years agoMerge pull request #4159 from sworleys/WQ-ErrFunc-Fix
David Lamparter [Sun, 28 Apr 2019 14:19:55 +0000 (16:19 +0200)]
Merge pull request #4159 from sworleys/WQ-ErrFunc-Fix

lib: Fix workqueue error function callback

5 years agolib: remove fifo implementation
David Lamparter [Sun, 21 Apr 2019 16:28:01 +0000 (18:28 +0200)]
lib: remove fifo implementation

5 years agobgpd: replace label pool fifo with DECLARE_LIST
David Lamparter [Sun, 21 Apr 2019 16:27:08 +0000 (18:27 +0200)]
bgpd: replace label pool fifo with DECLARE_LIST

Again, the FIFO_* stuff in lib/fifo.h is no different from a simple
unsorted list.  Just use DECLARE_LIST here so we can get rid of FIFO_*.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
5 years agobgpd: replace ADV_FIFO with DECLARE_LIST
David Lamparter [Sun, 21 Apr 2019 16:17:45 +0000 (18:17 +0200)]
bgpd: replace ADV_FIFO with DECLARE_LIST

The FIFO_* stuff in lib/fifo.h is no different from a simple unsorted
list.  Just use DECLARE_LIST here so we can get rid of FIFO_*.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
5 years agoisisd: replace dict_* with DECLARE_RBTREE
David Lamparter [Mon, 4 Feb 2019 00:22:03 +0000 (01:22 +0100)]
isisd: replace dict_* with DECLARE_RBTREE

Historically, isisd has been carrying around its own red-black tree to
manage its LSP DB in.  This replaces that with the newly-added
DECLARE_RBTREE_*.  This allows completely removing the dict_* code.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agolib: remove pqueue_*
David Lamparter [Thu, 31 Jan 2019 02:09:45 +0000 (03:09 +0100)]
lib: remove pqueue_*

All users of the pqueue_* implementations have been migrated to use
TYPEDSKIP_* skiplists.  Remove.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agoospfd: replace pqueue_* with DECLARE_SKIPLIST
David Lamparter [Thu, 31 Jan 2019 01:58:52 +0000 (02:58 +0100)]
ospfd: replace pqueue_* with DECLARE_SKIPLIST

This replaces the SPF pqueue_* with a DECLARE_SKIPLIST_* skiplist.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agoospf6d: replace pqueue_* with DECLARE_SKIPLIST
David Lamparter [Thu, 31 Jan 2019 02:09:21 +0000 (03:09 +0100)]
ospf6d: replace pqueue_* with DECLARE_SKIPLIST

As the previous commit, this replaces ospf6d's pqueue_* usage in SPF
calculations with a DECLARE_SKIPLIST_* skiplist.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agolib: use DECLARE_SKIPLIST for timers instead of pqueue
David Lamparter [Thu, 31 Jan 2019 01:30:35 +0000 (02:30 +0100)]
lib: use DECLARE_SKIPLIST for timers instead of pqueue

Replaces the use of pqueue_* for the thread_master's timer list with an
instance of DECLARE_SKIPLIST_*.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agolib: use DECLARE_LIST for thread_list
David Lamparter [Thu, 31 Jan 2019 01:12:38 +0000 (02:12 +0100)]
lib: use DECLARE_LIST for thread_list

Replaces the open-coded thread_list with a DECLARE_LIST instantiation.
Some function prototypes are actually identical to what was previously
open-coded.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agolib: use DECLARE_HASH for qobj hash
David Lamparter [Thu, 31 Jan 2019 00:27:02 +0000 (01:27 +0100)]
lib: use DECLARE_HASH for qobj hash

This changes the qobj node ID hash to use the new typed hash instead of
the old hash_* code.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agotests: exercise the typesafe list wrappers
David Lamparter [Mon, 18 Feb 2019 20:17:22 +0000 (21:17 +0100)]
tests: exercise the typesafe list wrappers

Since all of these list implementations provide almost the same API, we
can run and validate them against the same test code.  9 tests for the
price of one!

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
5 years agodoc: add developer docs for type-safe lists
David Lamparter [Tue, 13 Nov 2018 15:02:47 +0000 (16:02 +0100)]
doc: add developer docs for type-safe lists

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agolib: atomlist & atomsort
David Lamparter [Tue, 8 Nov 2016 17:11:20 +0000 (18:11 +0100)]
lib: atomlist & atomsort

These two are lock-free linked list implementations, the plain one is
primarily intended for queues while the sorted one is for general data
storage.

Signed-off-by: David Lamparter <equinox@diac24.net>
5 years agolib: typesafe rb-tree
David Lamparter [Thu, 31 Jan 2019 03:25:38 +0000 (04:25 +0100)]
lib: typesafe rb-tree

Typesafe red-black tree, built out of the OpenBSD implementation and the
macro soup layered on top.  API compatible with skiplists & simple
lists.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
5 years agolib: typesafe lists, skiplist & hash
David Lamparter [Thu, 31 Jan 2019 00:09:13 +0000 (01:09 +0100)]
lib: typesafe lists, skiplist & hash

By the power of the C preprocessor, these macros provide type-safe
warppers for simple lists, skiplists and hash tables.  Also, by changing
the instantiation macro, it is easily possible to switch between
algorithms;  the code itself does not need to be changed since the API
is identical across all algorithms.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
5 years agovtysh: Fixup exit nexthop-group to include sharpd
Donald Sharp [Sat, 27 Apr 2019 14:09:05 +0000 (14:09 +0000)]
vtysh: Fixup exit nexthop-group to include sharpd

The exit of the nexthop-group should know about sharpd

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agolib: add new gRPC-based northbound plugin
Renato Westphal [Fri, 25 Jan 2019 20:54:16 +0000 (18:54 -0200)]
lib: add new gRPC-based northbound plugin

This is an experimental plugin for now. Full documentation will
come later.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
5 years agolib: introduce a read-write lock for northbound configurations
Renato Westphal [Wed, 3 Apr 2019 19:31:18 +0000 (16:31 -0300)]
lib: introduce a read-write lock for northbound configurations

The upcoming gRPC-based northbound plugin will run on a separate
pthread, and it will need to have access to the running configuration
global variable.  Introduce a rw-lock to control concurrent access
to the running configuration. Add the lock inside the "nb_config"
structure so that it can be used to protect candidate configurations
as well (this might be necessary depending on the threading scheme
of future northbound plugins).

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
5 years agolib: add API to allow northbound clients to lock/unlock the running configuration
Renato Westphal [Sat, 2 Feb 2019 20:03:15 +0000 (18:03 -0200)]
lib: add API to allow northbound clients to lock/unlock the running configuration

The ability to lock the running configuration to prevent other users
from changing it is a very important one. We already supported
the "configure exclusive" command but the lock was applied to
the CLI users only (other clients like ConfD could still commit
configuration transactions, ignoring the CLI lock). This commit
introduces a global lock for the running configuration that is
shared by all northbound clients, and provides a public API to
manipulate it. This way other northbound clients will also be able
to lock/unlock the running configuration if required (the upcoming
gRPC northbound plugin will have RPCs for that).

NOTE: this is a management-level lock for the running configuration,
not to be confused with low-level locks used to avoid data races.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
5 years agoMerge pull request #4209 from dslicenc/zebra-nexthop-update-flag
Mark Stapp [Fri, 26 Apr 2019 18:33:19 +0000 (14:33 -0400)]
Merge pull request #4209 from dslicenc/zebra-nexthop-update-flag

zebra: resolve issue with protocol route-map not applied properly

5 years agozebra: resolve issue with protocol route-map not applied properly
Don Slice [Wed, 24 Apr 2019 17:14:57 +0000 (17:14 +0000)]
zebra: resolve issue with protocol route-map not applied properly

Problem reported that route-maps applied to "ip protocol table bgp"
would not be invoked if the ip protocol table command was issued
after the bgp prefixes were installed.  Found that a recent change
improving how often nexthop_active_update runs missed causing this
filtering to be applied. This fix resolves that issue as well as
a couple of other places that were problematic with the recent
change.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
5 years agoMerge pull request #4201 from Orange-OpenSource/SR-isis
Russ White [Fri, 26 Apr 2019 14:42:29 +0000 (10:42 -0400)]
Merge pull request #4201 from Orange-OpenSource/SR-isis

Issue #4032: Add IS-IS-TE support per Area

5 years agoisisd: Correct MPLS-TE CLI to new northbound API
Olivier Dugeon [Fri, 26 Apr 2019 09:20:02 +0000 (11:20 +0200)]
isisd: Correct MPLS-TE CLI to new northbound API

Due to recent modification in northbound API, replace
yang_dnode_get_entry() call by nb_running_get_entry() call.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
5 years agoMerge pull request #4205 from donaldsharp/pim_more_flags
Russ White [Thu, 25 Apr 2019 22:56:22 +0000 (18:56 -0400)]
Merge pull request #4205 from donaldsharp/pim_more_flags

pimd: Add missing flags to json output

5 years agoMerge pull request #4204 from dslicenc/frr-reload-bfd-timers
Russ White [Thu, 25 Apr 2019 22:55:42 +0000 (18:55 -0400)]
Merge pull request #4204 from dslicenc/frr-reload-bfd-timers

tools: frr-reload.py stop bouncing peers on bfd timer change

5 years agoMerge pull request #4155 from pguibert6WIND/bfd_increase_config
Russ White [Thu, 25 Apr 2019 22:48:35 +0000 (18:48 -0400)]
Merge pull request #4155 from pguibert6WIND/bfd_increase_config

bfdd: avoid having bfd config inherited from operation context

5 years agoMerge pull request #4145 from pguibert6WIND/bfd_converge_up
Russ White [Thu, 25 Apr 2019 22:44:50 +0000 (18:44 -0400)]
Merge pull request #4145 from pguibert6WIND/bfd_converge_up

BFD speed convergence up

5 years agoMerge pull request #4140 from ton31337/fix/do_not_send_notification_again_with_invali...
Russ White [Thu, 25 Apr 2019 22:43:10 +0000 (18:43 -0400)]
Merge pull request #4140 from ton31337/fix/do_not_send_notification_again_with_invalid_nlri

bgpd: Do not send UPDATE message with maximum-prefix

5 years agoMerge pull request #4126 from karamalla0406/4113
Russ White [Thu, 25 Apr 2019 22:40:52 +0000 (18:40 -0400)]
Merge pull request #4126 from karamalla0406/4113

zebra: L3VNI's are allowed to unconfigure from any VRF

5 years agoMerge pull request #4200 from ton31337/fix/add_alias_for_force_next-hop
Russ White [Thu, 25 Apr 2019 22:22:31 +0000 (18:22 -0400)]
Merge pull request #4200 from ton31337/fix/add_alias_for_force_next-hop

bgpd: Make sure `next-hop-self all` backward compatible with force

5 years agoMerge pull request #4203 from opensourcerouting/bfd-fix-src-port
Mark Stapp [Thu, 25 Apr 2019 19:18:29 +0000 (15:18 -0400)]
Merge pull request #4203 from opensourcerouting/bfd-fix-src-port

bfdd: fix UDP source port range

5 years agotools: frr-reload.py stop bouncing peers on bfd timer change
Don Slice [Tue, 23 Apr 2019 14:54:56 +0000 (10:54 -0400)]
tools: frr-reload.py stop bouncing peers on bfd timer change

Problem reported that if a bgp neighbor had a bfd timer change
made in frr.conf and systemctl reload frr performed, the neighbor
with the timer changed bounced.  If the change is made in vtysh
by just adding the new timer values, no peer bounce occurs.  This
fix skips the delete part of the delete/add process in frr-reload
so the peers stay up.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
5 years agobfdd: fix UDP source port range
Rafael Zalamena [Thu, 25 Apr 2019 17:41:44 +0000 (14:41 -0300)]
bfdd: fix UDP source port range

RFC 5881 Section 4 tells us that the BFD source port must be between
49152 and 65535 inclusive.

Spotted by Lucian Cristian.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 years agoisisd: Add IS-IS-TE support per Area
Olivier Dugeon [Mon, 15 Apr 2019 14:11:40 +0000 (16:11 +0200)]
isisd: Add IS-IS-TE support per Area

Solve issue #4032

 - Change MPLS-TE from global to per Area
 - Add new mpls_te_area structure to area in replacement of global variable
isisMPLS_TE
 - Move mpls-te from global to instance in frr-isisd.yang
 - Change code in isis_te.c, isis_northbound.c, isis_cli.c, isis_pdu.c,
isis_lsp.c and isis_zebra.c accordingly

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
5 years agobgpd: Make sure `next-hop-self all` backward compatible with force
Donatas Abraitis [Thu, 25 Apr 2019 13:39:49 +0000 (16:39 +0300)]
bgpd: Make sure `next-hop-self all` backward compatible with force

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
5 years agozebra: Modify how we display/store os description
Donald Sharp [Sat, 27 Apr 2019 23:55:21 +0000 (19:55 -0400)]
zebra: Modify how we display/store os description

The alias/description of an interface in linux was being
used to override the internal description.  As such let's
fix the display to keep track of both if we have it.

Config in FRR:
!
interface docker0
 description another combination
!
interface enp3s0
 description BAMBOOZLE ME WILL YOU
!

Config in linux:
sharpd@robot ~/f/zebra> ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    alias This is the loopback you cabbage
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 74:d0:2b:9c:16:eb brd ff:ff:ff:ff:ff:ff
    alias HI HI HI

Now the 'show int descr' command:
robot# show int description
Interface       Status  Protocol  Description
docker0         up      down      another combination
enp3s0          up      up        BAMBOOZLE ME WILL YOU
                                  HI HI HI
lo              up      up        This is the loopback you cabbage

Fixes: #4191
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #4187 from donaldsharp/doc_pim
Mark Stapp [Wed, 24 Apr 2019 19:18:27 +0000 (15:18 -0400)]
Merge pull request #4187 from donaldsharp/doc_pim

doc: Cleanup output of new PIM-EVPN doc

5 years agoMerge pull request #4176 from qlyoung/doc-cleanup-ospf-apiserver
Mark Stapp [Wed, 24 Apr 2019 18:49:16 +0000 (14:49 -0400)]
Merge pull request #4176 from qlyoung/doc-cleanup-ospf-apiserver

Cleanup OSPF API server docs

5 years agodoc: typo / grammar pass on OSPF API docs
Quentin Young [Wed, 24 Apr 2019 17:41:06 +0000 (17:41 +0000)]
doc: typo / grammar pass on OSPF API docs

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: add copyright notice from Ralph Keller
Quentin Young [Wed, 24 Apr 2019 17:23:12 +0000 (17:23 +0000)]
doc: add copyright notice from Ralph Keller

Ralph has kindly granted us GPLv2+ license to use this documentation,
and requests that we keep a reference to his name. Add these facts to
the documentation.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agoMerge pull request #4184 from ton31337/fix/documentation_for_as-path_regexp
Quentin Young [Wed, 24 Apr 2019 15:54:35 +0000 (11:54 -0400)]
Merge pull request #4184 from ton31337/fix/documentation_for_as-path_regexp

doc: Specify allowed chars in bgp regular expressions

5 years agobgpd: Do not send UPDATE message with maximum-prefix
Donatas Abraitis [Mon, 15 Apr 2019 20:53:20 +0000 (23:53 +0300)]
bgpd: Do not send UPDATE message with maximum-prefix

When using maximum-prefix and count is overflow BGP
sends UPDATE message:

Apr 15 20:45:06 exit1-debian-9 bgpd[9818]: 192.168.0.2 [Error] Error parsing NLRI
Apr 15 20:45:06 exit1-debian-9 bgpd[9818]: %NOTIFICATION: sent to neighbor 192.168.0.2 3/10 (UPDATE Message Error/Invalid Network Field) 0 bytes

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
5 years agobgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthop
Biswajit Sadhu [Wed, 24 Apr 2019 07:40:01 +0000 (00:40 -0700)]
bgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthop

Prevent IPv6 routes received via a ibgp session with one of its own interface
ip as nexthop from getting installed in the BGP table.

Implemented IPV6 HASH table, where we need to add any ipv6 address as they
gets configured and delete them from the HASH table as the ipv6 addresses
get unconfigured. The above hash table is used to verify if any route learned
via BGP has nexthop which is equal to one of its its connected ipv6 interface.

Signed-off-by: Biswajit Sadhu sadhub@vmware.com
5 years agopimd: Add missing flags to json output
Donald Sharp [Wed, 24 Apr 2019 02:01:44 +0000 (22:01 -0400)]
pimd: Add missing flags to json output

the json code has not been updated since a variety of new flags have
been added to the code base.  Add those flags in so we can tell
what is going on sometimes.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agodoc: Specify allowed chars in bgp regular expressions
Donatas Abraitis [Tue, 23 Apr 2019 08:38:59 +0000 (11:38 +0300)]
doc: Specify allowed chars in bgp regular expressions

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
5 years agodoc: pim evpn tabs -> spaces
Quentin Young [Tue, 23 Apr 2019 19:04:45 +0000 (19:04 +0000)]
doc: pim evpn tabs -> spaces

And remove `interface` highlight directive

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agoMerge pull request #4179 from donaldsharp/mroute_show
Jafar Al-Gharaibeh [Tue, 23 Apr 2019 16:18:22 +0000 (11:18 -0500)]
Merge pull request #4179 from donaldsharp/mroute_show

Mroute show

5 years agoMerge pull request #4177 from donaldsharp/pim_more_sg
Jafar Al-Gharaibeh [Tue, 23 Apr 2019 16:16:57 +0000 (11:16 -0500)]
Merge pull request #4177 from donaldsharp/pim_more_sg

pimd: When creating new upstream state, figure out what we should join

5 years agoMerge pull request #4163 from chiragshah6/evpn_dev2
Sri Mohana Singamsetty [Tue, 23 Apr 2019 16:10:13 +0000 (09:10 -0700)]
Merge pull request #4163 from chiragshah6/evpn_dev2

bgpd: instance delete unimport evpn routes

5 years agoMerge pull request #4183 from ton31337/feature/validate_regexp_for_show_command_as_well
Donald Sharp [Tue, 23 Apr 2019 14:25:56 +0000 (10:25 -0400)]
Merge pull request #4183 from ton31337/feature/validate_regexp_for_show_command_as_well

bgpd: Validate as-path in `show bgp regexp`

5 years agoMerge pull request #4185 from FRRouting/revert-4137-TE
Russ White [Tue, 23 Apr 2019 13:24:29 +0000 (09:24 -0400)]
Merge pull request #4185 from FRRouting/revert-4137-TE

Revert "isisd: Add IS-IS-TE support per Area"

5 years agoRevert "isisd: Add IS-IS-TE support per Area"
Russ White [Tue, 23 Apr 2019 13:24:18 +0000 (09:24 -0400)]
Revert "isisd: Add IS-IS-TE support per Area"

5 years agoMerge pull request #4137 from Orange-OpenSource/TE
Russ White [Tue, 23 Apr 2019 13:23:40 +0000 (09:23 -0400)]
Merge pull request #4137 from Orange-OpenSource/TE

isisd: Add IS-IS-TE support per Area

5 years agoMerge pull request #4162 from opensourcerouting/rip-issues
Donald Sharp [Tue, 23 Apr 2019 12:34:47 +0000 (08:34 -0400)]
Merge pull request #4162 from opensourcerouting/rip-issues

ripd, ripngd: fix cleaning up of offset lists

5 years agobgpd: Validate as-path in `show bgp regexp`
Donatas Abraitis [Thu, 18 Apr 2019 07:17:57 +0000 (10:17 +0300)]
bgpd: Validate as-path in `show bgp regexp`

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
5 years agodoc: Cleanup output of new PIM-EVPN doc
Donald Sharp [Tue, 23 Apr 2019 06:14:15 +0000 (02:14 -0400)]
doc: Cleanup output of new PIM-EVPN doc

The PIM-EVPN doc was not rendering very well on the
website.  So Update documentation to allow it to render
better.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agodoc: Update `show ip mroute` command docs.
Donald Sharp [Mon, 22 Apr 2019 23:56:02 +0000 (19:56 -0400)]
doc: Update `show ip mroute` command docs.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agopimd: Add ability to select on S or G for `show ip mroute`
Donald Sharp [Mon, 22 Apr 2019 23:51:20 +0000 (19:51 -0400)]
pimd: Add ability to select on S or G for `show ip mroute`

Add the ability to select on a S or G for a `show ip mroute`
command.

show ip mroute 225.1.1.111
show ip mroute 4.5.6.7 225.1.1.111

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agopimd: When creating new upstream state, figure out what we should join
Donald Sharp [Mon, 22 Apr 2019 21:36:58 +0000 (17:36 -0400)]
pimd: When creating new upstream state, figure out what we should join

Always when creating a new S,G state look at all possible ifchannels
to decide what the mroute should be.

The bug that this is fixing is this:

Suppose two incoming `*,G` joins on swp1, and swp2.
Now suppose that one of those ifchannel `*,G` sends a `*,G S,G RPT Prune`.
We were creating the S,G upstream state as we should but we were
only looking at the S,G ifchannel to decide the S,G mroute we would
be creating.  As such what we need to do is to look over the associated
*,G ifchannels and allow us to associate correct oil needed.

Ticket: CM-24732
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
5 years agoMerge pull request #4173 from mjstapp/fix_linklist_warning
Quentin Young [Mon, 22 Apr 2019 21:11:02 +0000 (17:11 -0400)]
Merge pull request #4173 from mjstapp/fix_linklist_warning

lib: fix warning in linklist api

5 years agodoc: add --apiserver to ospfd manpage
Quentin Young [Mon, 22 Apr 2019 20:22:59 +0000 (20:22 +0000)]
doc: add --apiserver to ospfd manpage

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agodoc: cleanup OSPF API server documentation
Quentin Young [Mon, 22 Apr 2019 20:22:00 +0000 (20:22 +0000)]
doc: cleanup OSPF API server documentation

* Reflow to 80 columns
* Improve markup
* Add --apiserver option to example ospfd invocations
* Add note on requirement of this option to use api server

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
5 years agolib: fix warning in linklist api
Mark Stapp [Mon, 22 Apr 2019 19:49:16 +0000 (15:49 -0400)]
lib: fix warning in linklist api

Add return value and comment to new/recent linklist api
to clean up compile warning.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #3786 from mjstapp/dplane_intf
Donald Sharp [Mon, 22 Apr 2019 19:29:02 +0000 (15:29 -0400)]
Merge pull request #3786 from mjstapp/dplane_intf

zebra: async interface address programming

5 years agoMerge pull request #4161 from opensourcerouting/nb-performance
Quentin Young [Mon, 22 Apr 2019 19:10:34 +0000 (15:10 -0400)]
Merge pull request #4161 from opensourcerouting/nb-performance

lib: rework management of user pointers in the northbound layer

5 years agozebra: removing old intf address code
Mark Stapp [Tue, 12 Feb 2019 16:10:04 +0000 (11:10 -0500)]
zebra: removing old intf address code

Remove old ioctl and netlink interface-address code
after conversion to async dataplane

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: Dplane interface address install for non-netlink
Mark Stapp [Fri, 25 Jan 2019 16:31:51 +0000 (11:31 -0500)]
zebra: Dplane interface address install for non-netlink

ioctl-based platform code for interface address installation

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: add 'is broadcast' accessor for interface data
Mark Stapp [Mon, 4 Feb 2019 20:25:13 +0000 (15:25 -0500)]
zebra: add 'is broadcast' accessor for interface data

Add flag and accessor corresponding to the interface struct's
'is broadcast' flag.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agolibs: use const in some interface flag accessors
Mark Stapp [Mon, 4 Feb 2019 19:33:06 +0000 (14:33 -0500)]
libs: use const in some interface flag accessors

Use const in several interface struct flag accessors (that just
test flags.)

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: Use dplane for interface addresses (netlink)
Mark Stapp [Wed, 16 Jan 2019 18:40:31 +0000 (13:40 -0500)]
zebra: Use dplane for interface addresses (netlink)

Start using the dataplane for interface-address programming,
on netlink platforms. Other platforms just stubbed at this
point.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agozebra: add interface-address info for dataplane
Mark Stapp [Thu, 10 Jan 2019 21:05:19 +0000 (16:05 -0500)]
zebra: add interface-address info for dataplane

Add data and accessor apis for interface-address information.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #4025 from AnuradhaKaruppiah/pim-evpn
Jafar Al-Gharaibeh [Mon, 22 Apr 2019 16:44:52 +0000 (11:44 -0500)]
Merge pull request #4025 from AnuradhaKaruppiah/pim-evpn

pim-evpn: Forwarding overlay BUM traffic via multicast VxLAN tunnels in the underlay

5 years agoMerge pull request #4057 from mjstapp/fix_privs_even_more
Quentin Young [Mon, 22 Apr 2019 15:32:50 +0000 (11:32 -0400)]
Merge pull request #4057 from mjstapp/fix_privs_even_more

lib: serialize privs changes

5 years agolibs: control privs changes with refcount
Mark Stapp [Tue, 2 Apr 2019 09:01:27 +0000 (05:01 -0400)]
libs: control privs changes with refcount

Use a refcount to control privs changes. Support process-wide
privs apis, as well as per-pthread apis.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
5 years agoMerge pull request #4166 from donaldsharp/pim_s_g
Jafar Al-Gharaibeh [Mon, 22 Apr 2019 03:57:47 +0000 (22:57 -0500)]
Merge pull request #4166 from donaldsharp/pim_s_g

Pim s g

5 years agoMerge pull request #4170 from AnuradhaKaruppiah/evpn-fix-bgp-locks
Jafar Al-Gharaibeh [Mon, 22 Apr 2019 03:56:53 +0000 (22:56 -0500)]
Merge pull request #4170 from AnuradhaKaruppiah/evpn-fix-bgp-locks

bgpd: lock the tenant-vrf associated with the l2-vni

5 years agoMerge pull request #4156 from ton31337/fix/allow_backslash_in_as-path_regexp
Quentin Young [Sun, 21 Apr 2019 20:48:28 +0000 (16:48 -0400)]
Merge pull request #4156 from ton31337/fix/allow_backslash_in_as-path_regexp

bgpd: Allow backslash in as-path filter lists

5 years agopimd: fix macro backslash alignment
Anuradha Karuppiah [Sat, 20 Apr 2019 14:50:43 +0000 (07:50 -0700)]
pimd: fix macro backslash alignment

Fixed in response to Jafar's comments.

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
5 years agolib: two extra bytes were being allocated for the SG string
Anuradha Karuppiah [Sat, 20 Apr 2019 14:34:03 +0000 (07:34 -0700)]
lib: two extra bytes were being allocated for the SG string

Fixup in response to Jafar's review comments.

This is actually old code moved in from pimd to lib. But the fixup does
make sense.

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>