Commit Graph

15634 Commits

Author SHA1 Message Date
Chirag Shah
5756dd1d07 zebra: unset sticky mac upon local deletion
if the local sticky mac delete request is received,
if there are associated neighbor entries present, mac's
only local flag is removed and marked as auto mac.

this results in next local mac learning automatically assumes
mac is sticky.

There is a case when bridge learning off is configured, user
configures sticky mac via bridge fdb add.
This MAC learns associated neighbor entry.
Later user deletes stick mac via bridge fdb del, this triggers
frr to delete mac but if there are neighbors present, frr marks
MAC as AUTO but does not remove sticky flag.
User enables bridge learning on which triggers
The mac to learn as dynamic entry and in absence of this
fix, the mac is marked as sticky.

Ticket:CM-24968
Reviewed By:CCR-8683
Testing Done:

Validated broken condition with internally reproduction
with fix and without.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2019-05-10 11:10:42 -07:00
Donald Sharp
11056dd815
Merge pull request #4275 from ton31337/fix/move_outside_bgp_input_modifier
bgpd: Move inbound policy check outside bgp_input_modifier()
2019-05-10 11:34:40 -04:00
Donald Sharp
943142da34
Merge pull request #4272 from opensourcerouting/isis-prefix-sid-fix
isisd: fix display of the Extended IPv4 reachability TLV
2019-05-10 11:06:56 -04:00
Jafar Al-Gharaibeh
60f678ae0d
Merge pull request #4214 from donaldsharp/s_g_channel_deletion
pimd: Deletion of a ifchannel does not immediately mean remove from OIL
2019-05-10 09:49:24 -05:00
Donatas Abraitis
a8b72dc69e bgpd: Move inbound policy check outside bgp_input_modifier()
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-05-10 17:01:39 +03:00
Donatas Abraitis
ce1df88f8f topotests: Add test to check if eBGP required policy works
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-05-10 17:01:24 +03:00
Donald Sharp
c85711a8c9
Merge pull request #4297 from vishaldhingra/rmap
lib : Child rmap not sending an update to parent rmap,if there is an update in child rmap.
2019-05-10 09:04:59 -04:00
Renato Westphal
e777abf3a1
Merge pull request #4295 from donaldsharp/topotest_if
topotests: ifindex values are not guaranteed to be the same
2019-05-10 08:42:07 -03:00
Renato Westphal
773fc72b1f
Merge pull request #4242 from donaldsharp/zebra_diet
Zebra diet
2019-05-10 08:29:59 -03:00
Christian Franke
bf555bf035 isisd: Don't set subtlv structure if we didn't unpack any subtlvs
This ensures deserialized and serialized TLV representation is
consistent.
2019-05-10 13:24:38 +02:00
Renato Westphal
3ae6477f50
Merge pull request #4288 from qlyoung/checkpatch-unsafe-function-lints
tools: add lints for unsafe functions
2019-05-10 07:16:24 -03:00
Donald Sharp
900193b022
Merge pull request #4287 from NaveenThanikachalam/dup_config_processing
lib, bgpd: Disallow processing of duplicate config.
2019-05-09 18:36:50 -04:00
Jafar Al-Gharaibeh
58d9d6ac7c
Merge pull request #4284 from donaldsharp/conf_t
Conf t
2019-05-09 17:01:51 -05:00
Jafar Al-Gharaibeh
f2809b5258
Merge pull request #4292 from qlyoung/doc-bgp-maximum-prefix
doc: add doc for bgp maximum-prefix knob
2019-05-09 17:00:16 -05:00
Jafar Al-Gharaibeh
448a0ea683
Merge pull request #4298 from qlyoung/gitignore-ccls-cache
.gitignore: ignore .ccls-cache
2019-05-09 16:58:46 -05:00
Quentin Young
76d37f14ef .gitignore: ignore .ccls-cache
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-05-09 17:25:18 +00:00
Donald Sharp
7f53baa7b6
Merge pull request #4251 from rgirada/fix_pim_upstream
Pimd : S,G Mroute entries are not expiring  even after KAT expiry, remain as stale entries.
2019-05-09 12:17:49 -04:00
rgirada
e3e532dd16 Pimd : S,G Mroute entries are not expiring even after KAT expiry,
become stale entries.

Topology:
--------
Source
|
FHR
|
RP ------ LHR --- Recv1
|
Recv2

Root case :
-----------
When RP acts as a LHR i.e RP has a local receiver and registed for
the same group where LHR connected receiver also registered for the
same multicast group.When RP receives a (s,g) join form LHR , it
increments upstream ref count to two to track the Local membership
as well.But at the time of KAT expiry in RP , upstream reference
is not being removed Which is added to track local membership which
is causing to make these entries as stale in RP and FHR.

Fix : Made the change such that it removes the upstream reference
if it is added to track the local memberships.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2019-05-09 02:53:11 -07:00
Naveen Thanikachalam
6c3247bd2a lib, bgpd: Disallow processing of duplicate config.
This fix aims to reduce the load on BGPD when certain
exisiting configurations are replayed.
Specifically, the fix prevents BGPD from processing
routes when the following already existing configurations
are replayed:
1) A match criteria is configured within a route-map.
2) When "call" is invoked within a route-map.
3) When a route-map is tied to a BGP neighbor.

Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com>
2019-05-08 21:22:23 -07:00
vishaldhingra
5ed2e47bbd lib : Child rmap not sending an update to parent rmap,if there is an update in child rmap.
Route map library creates a hash table to save the dependency binding.
route-map LRM permit 1
call rLRM
Whenever there is change in child routemap(rLRM), it tries to
find the dependency mapping with the child route map MATCH event
and it fails.The handing of match add and match delete was missing
to get the correct dependency,here it's LRM.
This fix would correct the flow to get the correct dependency.

Signed-off-by: vishaldhingra <vdhingra@vmware.com>
2019-05-08 20:59:15 -07:00
Donald Sharp
12456add84
Merge pull request #4283 from lkrishnamoor/json_output_cli
bgpd: Fix for evpn json cli output
2019-05-08 15:47:36 -04:00
Quentin Young
886026c8d2 doc: add doc for bgp maximum-prefix knob
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-05-08 19:29:13 +00:00
Donald Sharp
c9d72a0b7f topotests: ifindex values are not guaranteed to be the same
Different versions of linux are assigned different interface
ifindexes.  Mask that cabbage out.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-05-08 15:06:31 -04:00
Lakshman Krishnamoorthy
597f4b1a9a bgpd: Evpn json cli output missing
Issue1: The following json cli commands are broken (they dont display
anything):
1. show [ip] bgp l2vpn evpn json
2. show [ip] bgp l2vpn evpn all neighbors <IP> routes json
3. show [ip] bgp l2vpn evpn rd <RD> json
4. show [ip] bgp l2vpn evpn rd <RD> neighbors <IP> routes json

RCA1: The existing json_object was partially filled.
Some fields like "prefix", "prefixLen", etc were not
filled in the json_object.
RCA2: Code missing to display the constructed json_object.

Issue2: Column header not shown on bgp evpn commands.
Fix: turned on the flag to display header

Output after fix:
The above commands have been made to follow the existing output style of
"show bgp l2vpn evpn routes json"
leaf-1# sh bgp l2vpn evpn json
{
  "bgpTableVersion":1,
  "bgpLocalRouterId":"10.100.0.1",
  "defaultLocPrf":100,
  "localAS":65000,
  "10.100.0.1:3":{
    "rd":"10.100.0.1:3",
    "[3]:[0]:[32]:[10.100.0.1]":{
      "prefix":"[3]:[0]:[32]:[10.100.0.1]",
      "prefixLen":288,
      "paths":[
        {
          "valid":true,
          "bestpath":true,
          "pathFrom":"external",
          "routeType":3,
          "ethTag":0,
          "ipLen":32,
          "ip":"10.100.0.1",
          "weight":32768,
          "peerId":"(unspec)",
          "aspath":"",
          "path":"",
          "origin":"IGP",
          "nexthops":[
            {
              "ip":"10.100.0.1",
              "afi":"ipv4",
              "used":true
            }
          ]
        }
      ]
    }
  },
..........
..........
  "10.100.0.2:2":{
    "rd":"10.100.0.2:2",
    "[3]:[0]:[32]:[10.100.0.2]":{
      "prefix":"[3]:[0]:[32]:[10.100.0.2]",
      "prefixLen":288,
      "paths":[
        {
          "valid":true,
          "bestpath":true,
          "pathFrom":"external",
          "routeType":3,
          "ethTag":0,
          "ipLen":32,
          "ip":"10.100.0.2",
          "weight":0,
          "peerId":"205.0.113.2",
          "aspath":"65002",
          "path":"65002",
          "origin":"IGP",
          "nexthops":[
            {
              "ip":"10.100.0.2",
              "afi":"ipv4",
              "used":true
            }
          ]
        },
        {
          "valid":true,
          "pathFrom":"external",
          "routeType":3,
          "ethTag":0,
          "ipLen":32,
          "ip":"10.100.0.2",
          "weight":0,
          "peerId":"203.0.113.4",
          "aspath":"65001 65002",
          "path":"65001 65002",
          "origin":"IGP",
          "nexthops":[
            {
              "ip":"10.100.0.2",
              "afi":"ipv4",
              "used":true
            }
          ]
        }
      ]
    }
  },
....
....
  "numPrefix":10,
  "totalPrefix":10
}
leaf-1# sh bgp l2vpn evpn
BGP table version is 1, local router ID is 10.100.0.1
Status codes:s suppressed, d damped, h history, * valid, > best, i - int
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: ip 10.100.0.1:3

*> [3]:[0]:[32]:[10.100.0.1]
                    10.100.0.1                         32768 i
Route Distinguisher: ip 10.100.0.1:4

*> [3]:[0]:[32]:[10.100.0.1]
                    10.100.0.1                         32768 i
Route Distinguisher: ip 10.100.0.1:5

*> [3]:[0]:[32]:[10.100.0.1]
                    10.100.0.1                         32768 i
Route Distinguisher: ip 10.100.0.1:6

*> [3]:[0]:[32]:[10.100.0.1]
                    10.100.0.1                         32768 i
Route Distinguisher: ip 10.100.0.2:2

*> [3]:[0]:[32]:[10.100.0.2]
                    10.100.0.2                             0 65002 i
*  [3]:[0]:[32]:[10.100.0.2]
                    10.100.0.2                             0 65001 65002
Route Distinguisher: ip 10.100.0.2:3

*> [3]:[0]:[32]:[10.100.0.2]
                    10.100.0.2                             0 65002 i
*  [3]:[0]:[32]:[10.100.0.2]
                    10.100.0.2                             0 65001 65002
Route Distinguisher: ip 10.100.0.2:4

*> [3]:[0]:[32]:[10.100.0.2]
                    10.100.0.2                             0 65002 i
*  [3]:[0]:[32]:[10.100.0.2]
                    10.100.0.2                             0 65001 65002

Displayed 10 out of 10 total prefixes

Signed-off-by: Lakshman Krishnamoorthy <lkrishnamoor@vmware.com>
2019-05-08 11:32:38 -07:00
Quentin Young
5307949e8f tools: add lints for unsafe functions
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-05-08 15:55:54 +00:00
Donald Sharp
d8a1cf2c9f configure: Update to newer version
We've pulled the next stabilization branch

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-05-08 09:54:35 -04:00
Donald Sharp
48fd341c90
Merge pull request #4286 from vishaldhingra/show_expanded
bgpd : lcommlist not shows the standard and expanded conf. correctly.
2019-05-08 07:56:00 -04:00
vishaldhingra
169b72c851 bgpd : lcommlist not shows the standard and expanded conf. correctly.
lcommunity_list_show uses the wrong macro to calculate the style.
Use the correct one LARGE_COMMUNITY_LIST_STANDARD.

Signed-off-by: vishaldhingra<vdhingra@vmware.com>
2019-05-07 21:12:03 -07:00
Dinesh Dutt
982589a31a doc: Modify documentation to reflect new configure changes
This is the document changes to reflect the configure option
making `terminal` optional.

Signed-off-by: Dinesh Dutt <dd.ps4u@gmail.com>
2019-05-07 21:06:00 -04:00
Dinesh Dutt
dc1c13c019 lib, vtysh: Make archaic "terminal" optional in configure command
The 'configure terminal' command is a bit redundant, so make
the terminal portion optional.

Signed-off-by: Dinesh Dutt <dd.ps4u@gmail.com>
2019-05-07 21:06:00 -04:00
Renato Westphal
51844abda2
Merge pull request #4280 from qlyoung/remove-yang-strreplace-func
lib: remove str_replace function
2019-05-07 18:52:16 -03:00
Quentin Young
be54c185f9
Merge pull request #4277 from rtrlib/2019-05-07-master-bugfix
RPKI fixes/improvements
2019-05-07 16:54:50 -04:00
Quentin Young
6915af74fd
Merge pull request #4082 from opensourcerouting/grpc-nb-plugin
gRPC northbound plugin
2019-05-07 16:53:17 -04:00
Quentin Young
6c90b75669
Merge pull request #4215 from Orange-OpenSource/TE
ospfd: Correct Link-ID and Remote IP for TE LSA
2019-05-07 16:41:20 -04:00
Quentin Young
f9ce1142c3 lib: remove str_replace function
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-05-07 18:15:28 +00:00
Sri Mohana Singamsetty
953ce6fc82
Merge pull request #4273 from donaldsharp/doc_zebra_command
doc: Add a couple of missed `show zebra ...` comamnds to doc
2019-05-07 09:30:09 -07:00
Lou Berger
9dc90e2565
Merge pull request #4270 from opensourcerouting/libyang-compat
lib, yang: disable libyang custom user types temporarily
2019-05-07 11:07:39 -04:00
Marcel Röthke
fef6fafa90 bgpd: fix rpki module build without ssh support
Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
2019-05-07 17:02:01 +02:00
Marcel Röthke
0e43d16b4c bgpd: add missing newline to a warning message in the rpki module
Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
2019-05-07 17:01:46 +02:00
Donald Sharp
46677ed266 doc: Add a couple of missed show zebra ... comamnds to doc
Noticed that a couple of the `show zebra ...` commands are missing
from the zebra documentation that I use a bunch.  Let's add them
in.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-05-06 22:51:45 -04:00
Donald Sharp
b0a973b94a
Merge pull request #4266 from vishaldhingra/lcomm_dyn
bgpd : dynamic modification in lcomm-list is not taking effect.
2019-05-06 22:16:28 -04:00
Renato Westphal
d2dad0ef49
Merge pull request #4268 from qlyoung/frrstr-replace
lib: add string replace function
2019-05-06 23:14:38 -03:00
Renato Westphal
ff1f50fb7b
Merge pull request #4244 from donaldsharp/pim_single_interface
pimd: Stop crash in show of single interface
2019-05-06 23:10:03 -03:00
Renato Westphal
9826647ef9 isisd: fix display of the Extended IPv4 reachability TLV
The Sub-TLVs of the Extended IPv4 reachability TLV were not being
displayed as expected. Fix this.

Suggested-by: Christian Franke chris@opensourcerouting.org
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2019-05-06 22:58:16 -03:00
Donald Sharp
4a4c6feede
Merge pull request #4264 from pguibert6WIND/trace_bfd
More traces for BFD clients
2019-05-06 21:42:18 -04:00
Renato Westphal
1b8de275c8 lib, yang: disable libyang custom user types temporarily
libyang 1.0 introduced a few changes in the user types API, and
these changes made FRR incompatible with libyang 1.x. In order to
ease our migration from libyang 0.x to libyang 1.x, let's disable
our libyang custom user types temporarily so that FRR can work
with both libyang 0.x and libyang 1.x. This should be especially
helpful to the CI systems during the transition. Once the migration
to libyang 1.x is complete, this commit will be reverted.

Disabling our libyang custom user types should have only
minimal performance implications when processing configuration
transactions. The user types infrastructure should be more important
in the future to perform canonization of YANG data values when
necessary.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2019-05-06 22:07:18 -03:00
Quentin Young
ed1809c925 lib: add string replace function
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-05-06 22:38:10 +00:00
Renato Westphal
95f092540e
Merge pull request #4256 from donaldsharp/zebra_table
doc, zebra: Remove "table X" command
2019-05-06 19:08:17 -03:00
Renato Westphal
61bb5ca6e0
Merge pull request #4253 from qlyoung/zapi-handler-args-macro
ZAPI callback args macro
2019-05-06 17:50:41 -03:00
Renato Westphal
e8ca10f2e2
Merge pull request #4234 from donaldsharp/flood_the_vtep
zebra: Fix incorrect reading of REMOTE_VTEP_[ADD|DEL]
2019-05-06 17:33:34 -03:00