summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* lib,zebra,bgpd,ospfd,ospf6d: Route-map yang defnsSarita Patra2021-03-308-336/+1702
| | | | | | | | | | | | This commit includes the following: 1) Modifications to the frr-route-map.yang to enable addition of bgpd, ospfd, ospf6d and zebra specific route map match/set clauses. 2) Yang definitions for bgpd match/set clauses. 3) Yang definitions for ospfd and ospf6d match/set clauses. 4) Yang definitions for zebra match/set clauses. Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com> Signed-off-by: Sarita Patra <saritap@vmware.com>
* Merge pull request #8058 from rgirada/ospf-ecmpMark Stapp2021-03-307-2/+100
|\ | | | | ospfd: Max multipath config support
| * ospfd: Max multipath config supportrgirada2021-03-307-2/+100
| | | | | | | | | | | | | | | | | | | | | | Description: OSPF does not have an option to control the maximum multiple equal cost paths to reach a destination/route(ECMP). Currently, it is using the system specific max multiple paths. But Somtimes, It requires to control the multiple paths from ospf. This cli helps to configure the max number multiple paths in ospf. Signed-off-by: Rajesh Girada <rgirada@vmware.com>
* | Merge pull request #8372 from FRRouting/revert-8216-add_rd_allRuss White2021-03-304-342/+94
|\ \ | | | | | | Revert "bgpd: Add 'rd all' keyword to EVPN/L3VPN show cmds"
| * | Revert "bgpd: Add 'rd all' keyword to EVPN/L3VPN show cmds"Lou Berger2021-03-304-342/+94
|/ /
* | Merge pull request #8216 from taspelund/add_rd_allRuss White2021-03-304-94/+342
|\ \ | | | | | | bgpd: Add 'rd all' keyword to EVPN/L3VPN show cmds
| * | doc: Add Displaying Routes by RD sectionTrey Aspelund2021-03-191-5/+32
| | | | | | | | | | | | | | | | | | | | | | | | Add docs for commands to display BGP table per-RD. Also update commands to mention flowspec, routes, advertised-routes, and received-routes. Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
| * | bgpd: Add 'rd all' keyword to EVPN/L3VPN show cmdsTrey Aspelund2021-03-193-89/+310
| | | | | | | | | | | | | | | | | | | | | | | | Adds support for 'rd all' matching for EVPN and L3VPN show commands. Introduces evpn_show_route_rd_all_macip(). Cleanup some show commands to use SHOW_DISPLAY string constants. Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
* | | Merge pull request #8267 from idryzhov/bgp-cli-fixesRuss White2021-03-302-91/+40
|\ \ \ | | | | | | | | bgp cli fixes
| * | | bgpd: don't use operational state in "router bgp" commandIgor Ryzhov2021-03-231-25/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using bgp_get_default which refers to operational state, we can check existence of the default node using only candidate config. The same thing is done in "no router bgp" command. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
| * | | bgpd: remove duplicated checks from CLIIgor Ryzhov2021-03-232-66/+24
| | | | | | | | | | | | | | | | | | | | | | | | Those checks are already done in NB layer. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
* | | | Merge pull request #8311 from idryzhov/nb-sortingRuss White2021-03-308-53/+109
|\ \ \ \ | | | | | | | | | | Sort route-maps/access-lists/prefix-lists by sequence number in running-config
| * | | | lib: sort prefix-list commands by sequence-number in running-configIgor Ryzhov2021-03-233-0/+10
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
| * | | | lib: sort access-list commands by sequence-number in running-configIgor Ryzhov2021-03-233-0/+10
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
| * | | | lib: sort route-map commands by sequence number in running-configIgor Ryzhov2021-03-233-0/+11
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
| * | | | lib: add ability to sort CLI commands printed by NB layerIgor Ryzhov2021-03-232-1/+63
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
| * | | | lib: simplify nb_cli_show_dnode_cmdsIgor Ryzhov2021-03-231-56/+19
| |/ / / | | | | | | | | | | | | Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
* | | | Merge pull request #8057 from ranjanyash54/default-routeRuss White2021-03-3022-16/+631
|\ \ \ \ | | | | | | | | | | ospf6d: Default Route functionality
| * | | | topotests: add tests for OSPFv3 default routeRafael Zalamena2021-03-299-0/+305
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Three new tests: - OSPFv3 convergence using 'ipv6 ospf6 neighbor json' - Default route functionality: * Check that the LSA is present * Check that the route was installed Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
| * | | | ospf6d: Minor changes for stub areaYash Ranjan2021-03-291-0/+14
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Yash Ranjan <ranjany@vmware.com>
| * | | | doc: Add documentation for default-information originate.Yash Ranjan2021-03-291-0/+6
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Yash Ranjan <ranjany@vmware.com>
| * | | | ospf6d: Add logic to set metric if route-map not presentYash Ranjan2021-03-294-2/+51
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Yash Ranjan <ranjany@vmware.com>
| * | | | ospf6d: Add logic to change the status of router to ASBRYash Ranjan2021-03-295-11/+41
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Yash Ranjan <ranjany@vmware.com>
| * | | | ospf6d: Add CLI and logic for default-information originate commandYash Ranjan2021-03-297-3/+214
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Yash Ranjan <ranjany@vmware.com>
* | | | | Merge pull request #8137 from Orange-OpenSource/ospf_lsRuss White2021-03-3031-450/+8246
|\ \ \ \ \ | | | | | | | | | | | | ospfd: Add Link State support
| * | | | | sharpd: Add Traffic Engineering Database (TED)Olivier Dugeon2021-03-236-0/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new feature and commands to sharpd in order to collect Traffic Engineering Database information from an IGP (OSPF or IS-IS) though the ZAPI Opaque Message and the support of the Link State Library. This feature serves as an example of how to code a Traffic Engineering Database consumer and tests the mechanism. Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
| * | | | | topotest: Add new OSPF TE topotestOlivier Dugeon2021-03-2317-0/+4143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new test launches a small network composed by 4 OSPF routers with Traffic Engineering and Segment Routing configuration. To assess the Link State Traffic Engineering feature, the TED of each router is compared against the reference TED which corresponds to the network topology. Then a series of 6 steps, where Link, TE & SR configurations are modified up to r4 shutwdown, are used to verify that the TED is correctly updated on the 4 routers. Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
| * | | | | ospfd: Add Link-State supportOlivier Dugeon2021-03-234-28/+1794
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows to store Link State Information received through the various LSAs into a dedicated Traffic Engineering Database (TED). This feature is automatically activated once mpls-te is enabled. A new CLI command `mpls-te export` permits to export the TED to other daemons through the new ZAPI Opaque Link State messages. In complement, a new CLI command `show ip ospf mpls-te database ...` output the contains of the TED to the console. Major modifications take place in ospf_te.[c, h]. File ospf_zebra.c has been modified to handle TED synchronisation request. Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
| * | | | | ospfd: Correct Opaque Inter-AS LSA managementOlivier Dugeon2021-03-232-108/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch corrects two problems that affect Inter-AS LSA: 1/ Inter-LSA are never flood due to an incorrect setting of specific flag. 2/ When looking to the detail of the OSPF LSA with the command `show ip ospf database opaque-xxx`, it appears that only the Inter-AS advertising router is abble to show the detail of the Inter-AS LSA. Foreign routers are only abble to show the header of this Inster-AS LSA. The problem comes from the registration of Inter-AS management functions which is done only on the advetising router. So, the function `ospf_mpls_te_show_info()` is never call on neighbor routers that have not resgistered Inter-AS management callback functions. First, this patch modify functions `set_linkparams_inter_as()` and `unset_linkparams_inter_as()` to respectively set and unset flags that control the Inter-AS LSA flooding. Flag & Type from `struct mpls_te_link` have been redefined: Flag is used to determine if flooding is AS or not and Type is only used to determine the type of the LSA. Second, this patch register Inter-AS management functions for both AS and Area flooding with a different function for LSA origination as parameter is passed as void and it is mandatory to determine the flooding context: `struct *ospf` for AS flooding and `struct *ospf_area` for Area flooding. Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
| * | | | | opsfd: Correct MPLS-TE bug with LSA FlushOlivier Dugeon2021-03-231-13/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an interface goes down, if it is MPLS-TE enabled, the corresponding TE Opaque LSA is not flushed and continue to be advertised. The problem is due to bugs in ISM and NSM handler functions of ospf_te.c file: - ospf_mpls_te_ism_change(): - flag associated with Link Parameters is reset - ISM_Down state is not correctly handle - ospf_mpls_te_nsm_change(): - flag associated with Link Parameters is reset - NSM_Down and NSM_Delete states are not handle This patch correct this problem. Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
| * | | | | lib: Update Link State DatabaseOlivier Dugeon2021-03-234-192/+1878
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new status for Vertex, Edge and Subnet to manage their respective states in the data base. Add new functions: - to register/unregister server and client - to show content of the Database (VTY and Json output) - to update and compare subnets - to clean vertex and ted from ORPHAN elements - to convert message or stream into a Link State Element and update Link State Database accordingly to message event Change Edge and Vertex key computation by using the host order systematically. This impact mostly key based on IPv4 addresses where `ntohl()` function must be used when searching a Vertex or Edge by key. Update the documentation accordingly Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
| * | | | | ospfd: Improve MPLS-TE debugOlivier Dugeon2021-03-232-124/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add Macro to ospf_te.h to ease debug message in ospf_te.c Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
* | | | | | Merge pull request #8056 from jmmikkel/peertypeRuss White2021-03-3034-23/+1292
|\ \ \ \ \ \ | | | | | | | | | | | | | | bgpd: Add "bgp bestpath peer-type multipath-relax"
| * | | | | | bgpd: Allow next hop recursion in zebra if any multipath is not eBGPJoanne Mikkelson2021-03-232-1/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When "bgp bestpath peer-type multipath-relax" is enabled, multipaths with both eBGP and iBGP learned routes may exist. It is not desirable for the iBGP next hops to be discarded from the FIB because they are not directly connected. When publishing a nexthop group to zebra, the ZEBRA_FLAG_ALLOW_RECURSION flag is normally not set when the best path is eBGP; when "bgp bestpath aspath multipath-relax" is configured, the flag will now be set if any paths are from iBGP peers. This leaves all-eBGP multipaths still requiring nexthops over connected routes. Signed-off-by: Joanne Mikkelson <jmmikkel@arista.com>
| * | | | | | bgpd: Add "bgp bestpath peer-type multipath-relax"Joanne Mikkelson2021-03-2333-22/+1150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new BGP configuration is akin to "bgp bestpath aspath multipath-relax". When applied, paths learned from different peer types will be eligible to be considered for multipath (ECMP). Paths from all of eBGP, iBGP, and confederation peers may be included in multipaths if they are otherwise equal cost. This change preserves the existing bestpath behavior of step 10's result being returned, not the result from steps 8 and 9, in the case where both 8+9 and 10 determine a winner. Signed-off-by: Joanne Mikkelson <jmmikkel@arista.com>
* | | | | | | Merge pull request #8368 from volta-networks/fix_isis_ospfv3_coverityRuss White2021-03-301-0/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | ospf6d: fix coverity warning
| * | | | | | | ospf6d: fix coverity warninglynne2021-03-291-0/+1
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | Signed-off-by: Lynne Morrison <lynne@voltanet.io>
* | | | | | | Merge pull request #8369 from idryzhov/filter-fixesRuss White2021-03-303-42/+153
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | access-list and prefix-list fixes
| * | | | | | | lib: fix checking for duplicated prefix-list entriesIgor Ryzhov2021-03-293-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Restore the behavior that was before the NB conversion. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
| * | | | | | | lib: restore checks for duplicated prefix-list entriesIgor Ryzhov2021-03-291-0/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The checks were incorrectly removed in commit 4d2f546f under the assumption that it is needed only in CLI. Actually the checks are needed for the case when the sequence number is explicitly set by a user. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
| * | | | | | | lib: finish consolidation of prefix-list nb callbacksIgor Ryzhov2021-03-291-43/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was an attempt to consolidate the code in commit fae60215, but the work was not actually finished and some necessary checks were missed. Let's finish it. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
| * | | | | | | lib: fix checking for duplicated access-list entriesIgor Ryzhov2021-03-293-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Restore the behavior that was before the NB conversion. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
* | | | | | | | Merge pull request #8362 from idryzhov/fix-ospf-cli-countMark Stapp2021-03-305-70/+45
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | | ospfd: fix counting of "ip ospf area" commands
| * | | | | | | ospfd: fix counting of "ip ospf area" commandsIgor Ryzhov2021-03-305-70/+45
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of trying to maintain if_ospf_cli_count, let's directly count the number of configured interfaces when it is needed. Current approach sometimes leads to an incorrect counter. Fixes #8321. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
* | | | | | | Merge pull request #8351 from ↵Martin Winter2021-03-301-1/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | volta-networks/fix_ospf6_abr_examin_summary_check_cost_change ospf6d: fix ospf6_abr_examin_summary to check for a path cost change
| * | | | | | | ospf6d: fix ospf6_abr_examin_summary to check for a path cost changeKaren Schoener2021-03-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a regression in test case: anvl-ospfv3-16.14. Signed-off-by: Karen Schoener <karen@voltanet.io>
* | | | | | | | Merge pull request #8346 from mjstapp/fix_cov_saDavid Lamparter2021-03-292-2/+6
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | |
| * | | | | | | ospf6d: fix unguarded debugMark Stapp2021-03-261-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Put a debug under a conditional. Signed-off-by: Mark Stapp <mjs@voltanet.io>
| * | | | | | | isisd: fix coverity SA warningMark Stapp2021-03-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add assert to clear SA warning. Signed-off-by: Mark Stapp <mjs@voltanet.io>
* | | | | | | | Merge pull request #8285 from donaldsharp/rpki_findDonatas Abraitis2021-03-287-68/+167
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | Rpki find