summaryrefslogtreecommitdiffstats
path: root/pimd/pim_igmp.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-05-14lib: Add const to openbsd-tree functionsStephen Worley2-31/+35
A few of the functions in openbsd's RB tree implementation needed to have const in their parameters. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-05-14zebra: Share route type checking macrosStephen Worley2-5/+6
Make the RIB_*_ROUTE() macro which is passed a route in rib.h just use the R*_ROUTE() macros that directly check the type in rt.h. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-05-13lib: fix crash in the CLI grammar sandboxRenato Westphal1-0/+2
The CLI grammer sandbox needs to initialize the northbound subsystem otherwise the running_config global variable won't be set, which leads to crashes. Fixes #4319. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2019-05-13zebra: Make RIB_SYSTEM|KERNEL_ROUTE a property of rib.hDonald Sharp2-6/+5
These defines should be available from rib.h Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-05-13doc: fix ospf6d router-id cmdEmanuele Di Pascale1-2/+2
in ospf6d, the 'router-id' command must be prefixed with 'ospf6'. Update the docs to reflect this. Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2019-05-11bgpd: evpn json cli bug fixLakshman Krishnamoorthy1-23/+23
Bug: If there are 2 different prefixes under an rd, the output of "show bgp l2vpn evpn json" would print only one of the prefixes. RCA: prefix info was added to the json_object once per rd. Hence, prefix and rd were added just once, as the loop iterated over all the prefixes and paths. This is related to my earlier commit that went in via PR 4283: https://github.com/FRRouting/frr/pull/4283 Signed-off-by: Lakshman Krishnamoorthy <lkrishnamoor@vmware.com>
2019-05-11zebra: ctx is dereferenced in every pathDonald Sharp85-1653/+584
No need to check for non-null ctx at this point in the function as that it has already been derefed. Signed-off-by: donald Sharp ,sahrpd@cumulusnetworks.com>
2019-05-11bgpd: Remove unnecessary trailing tabDonatas Abraitis1-1/+1
This is very annoying and every time I have to fix this manually after auto-formatting. Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-05-11git: Ignore Visual Studio Code settingsDonatas Abraitis1-0/+1
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-05-11zebra: Switch to using monotime(NULL) for re->uptimeDonald Sharp82-1650/+584
The re->uptime usage of time(NULL) leaves it open to timing changes from outside influence. Switching to monotime allows us to ensure that we have a timestamp that is always increasing. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-05-11doc: Provide info on what pkg to install if mpls-router module is missingnikos2-0/+13
The mpls-route module may be missing from Ubuntu 18.4. Provide info on what pkg to install plus what directory py.test needs to be run from. Signed-off-by: nikos <ntriantafillis@gmail.com>
2019-05-11bgpd, lib, ospf6d, ospfd, pimd, zebra: Rework routemap event callbackDonald Sharp8-51/+23
The route_map_event_hook callback was passing the `route_map_event_t` to each individual interested party. No-one is ever using this data so let's cut to the chase a bit and remove the pass through of data. This is considered ok in that the routemap.c code came this way originally and after 15+ years no-one is using this functionality. Nor do I see any `easy` way to do anything useful with this data. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-05-11lib: in routemap.c if using a switch for an enum get rid of enumDonald Sharp1-3/+21
From looking at a current PR: #4297, we see that routemap.c code was not properly updating dependency information for some route_map_event_t enum types. This has lead to dependancy information not being updated properly. While at this time I do not know whether or not we need to update the switch for the missing types, I do know that if we add something in the future we should make the person adding the code consider this. So let's remove all `default:` switch statement handlers from routemap.c when switching on an enum. Future time will need to be spent to figure out what is needed to be done here. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-05-10bgpd: BGP debug for route-map applyAmeya Dharkar1-0/+4
Display a debug message while sending a BGP route if the route is filtered by a route-map. Debug for incoming filtered route is already present. Signed-off-by: Ameya Dharkar <adharkar@vmware.com>
2019-05-10bgpd: IPv6 session flapping with MP_REACH_NLRI and 0.0.0.0 in NEXT_HOP attributenikos3-15/+41
This is causing interop issues with vendors. According to the RFC, receiver should ignore the NEXT_HOP attribute with MP_REACH_NLRI present. Signed-off-by: nikos <ntriantafillis@gmail.com>
2019-05-10doc: add doc for zebra dplane cliMark Stapp1-0/+34
Add some notes about the cli associated with the zebra dataplane. Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-05-10zebra: unset sticky mac upon local deletionChirag Shah1-7/+9
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-10build: fix Lua buildQuentin Young8-13/+682
Each of Lua's major versions are incompatible with each other. Ubuntu, at least, does not provide a single liblua.so or /usr/include/lua; all SOs and headers are versioned, e.g. liblua5.3.so and /usr/include/lua5.3. There's already an m4 macro in the GNU collection to handle this situation, so let's use that. This allows building with Lua enabled to work on platforms other than Fedora. * Move lib/lua.[ch] -> lib/frrlua.[ch] to prevent path conflicts * Fix configure.ac search for proper CPP and linker flags * Add Lua include path to AM_CPPFLAGS * Update vtysh/extract.pl.in Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-05-10bgpd: Move inbound policy check outside bgp_input_modifier()Donatas Abraitis1-14/+16
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-05-10topotests: Add test to check if eBGP required policy worksDonatas Abraitis10-0/+165
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-05-10isisd: Don't set subtlv structure if we didn't unpack any subtlvsChristian Franke2-8/+22
This ensures deserialized and serialized TLV representation is consistent.
2019-05-09.gitignore: ignore .ccls-cacheQuentin Young1-0/+1
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-05-09Pimd : S,G Mroute entries are not expiring even after KAT expiry,rgirada1-2/+10
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-09lib, bgpd: Disallow processing of duplicate config.Naveen Thanikachalam2-1/+25
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-09lib : Child rmap not sending an update to parent rmap,if there is an update ↵vishaldhingra1-0/+2
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-08doc: add doc for bgp maximum-prefix knobQuentin Young1-8/+12
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-05-08topotests: ifindex values are not guaranteed to be the sameDonald Sharp126-2820/+749
Different versions of linux are assigned different interface ifindexes. Mask that cabbage out. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-05-08bgpd: Evpn json cli output missingLakshman Krishnamoorthy1-57/+69
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-08tools: add lints for unsafe functionsQuentin Young1-0/+29
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-05-08configure: Update to newer versionfrr-7.2-devDonald Sharp1-1/+1
We've pulled the next stabilization branch Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-05-08bgpd : lcommlist not shows the standard and expanded conf. correctly.vishaldhingra1-2/+4
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-08doc: Modify documentation to reflect new configure changesDinesh Dutt2-3/+3
This is the document changes to reflect the configure option making `terminal` optional. Signed-off-by: Dinesh Dutt <dd.ps4u@gmail.com>
2019-05-08lib, vtysh: Make archaic "terminal" optional in configure commandDinesh Dutt2-6/+6
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-07lib: remove str_replace functionQuentin Young1-32/+19
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-05-07bgpd: fix rpki module build without ssh supportMarcel Röthke1-0/+2
Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
2019-05-07bgpd: add missing newline to a warning message in the rpki moduleMarcel Röthke1-1/+1
Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
2019-05-07bfd: add bfdd_privs to the bglobal structurePhilippe Guibert3-28/+31
this structure contains the bfdd_privs structure in charge of the privilege settings. The initialisation has moved a bit, in order that the preinit settings are done. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-07doc: change bfd show commands with vrfname keywordPhilippe Guibert1-4/+4
now that bfd show commands have changed, update documentation so as to reflect how to use vrf keyword in the show bfd commands. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-07bfdd: show bfd [vrf NAME] peer command changePhilippe Guibert1-6/+5
the vrf keyword is possible through show bfd command. However, there is a change with previous version, since that show command was accepting vrf keyword, only after peer keyword. Now, the vrf keyword is accepted, but before peer keyword. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-07bfdd: add show bfd [vrf NAME] counters commandPhilippe Guibert1-7/+41
that command permits to filter bfd peer counter contexts per vrf. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-07bfdd: add show bfd [vrf NAME] peers commandPhilippe Guibert1-8/+48
this command permits to filter among the list of bfd peers which one is to be displayed. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-07bfdd: avoid creating duplicate peer contextsPhilippe Guibert1-7/+80
when configuring bfd peers, some parameters may or may not be taken into account to search for a previous context. This has as consequence that the result is different with the order of vty commands: bfd peer 4.5.6.7 vrf AAAA local-address 1.2.3.5 end peer 4.5.6.7 vrf AAAA <--- should not create new session end Similarly, the user thinks it has overwritten some key parameters like local address, whereas it is wrong. here, some informational message should be present. bfd peer 4.5.6.7 vrf AAAA end peer 4.5.6.7 vrf AAAA local-address 1.2.3.5 <--- should inform that the key lookup 1.2.3.5 is wrong end Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-07doc: update bfd documentationPhilippe Guibert1-2/+6
add a bfd vrf example. explain that it is possible to use both interface and vrf keyword. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-07bfd-vrf_topo1: add bfd test on a vrf netnsPhilippe Guibert28-0/+745
some testing is available on testing bfd feature based on a bgp vrf instance. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-07bfdd: do not insert obs entry in the list, once disabledPhilippe Guibert1-1/+0
the bfd entry has not to be inserted in the obs list again. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-07bfdd: check bfd on upon interface presence from separate vrfPhilippe Guibert1-2/+8
if a separate vrf detects a new interface, then some bfd sessions may be run. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-07bfdd: upon vrf enable/disable, update bs and obs listPhilippe Guibert3-2/+54
parse observer list, and update bs context if vrf pointer is not yet populated. this is helpful for validation, but also will permit bfd to send notification to remote daemon. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-07bgp, ospfd, ospf6d, pimd, lib, isisd: add bfd_client_sendmsg vrf_idPhilippe Guibert11-16/+17
vrf_id parameter is added to the api of bfd_client_sendmsg(). this permits being registered to bfd from a separate vrf. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-07bfdd: register to interfaces from other vrfsPhilippe Guibert3-0/+23
registration for new interfaces is done. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-07bfdd, zebra: pass the vrf identifier between zebra and bfddPhilippe Guibert2-20/+35
messages from daemons to bfd daemons go through zebra. zebra reuses the vrf identifier to send messages to bfd. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>