summaryrefslogtreecommitdiff
path: root/yang
AgeCommit message (Collapse)Author
2021-06-09yang: rework PIM MSDP mesh groupRafael Zalamena
Allow PIM MSDP configuration to support multiple MSDP mesh groups per PIM instance. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2021-06-07bgpd: Add "set evpn gateway-ip" clause for route-mapAmeya Dharkar
- Add following set clause for route-maps "set evpn gateway-ip <ipv4|ipv6 >A.B.C.D|X:X::X:X" - When this route-map is applied as outboubd policy in BGP, it will set the gateway-ip in BGP attribute For EVPN type-5 routes. Example configuration: route-map RMAP-EVPN_GWIP permit 5 set evpn gateway-ip ipv4 50.0.2.12 set evpn gateway-ip ipv6 50:0:2::12 router bgp 101 bgp router-id 10.100.0.1 neighbor 10.0.1.2 remote-as 102 ! address-family l2vpn evpn neighbor 10.0.1.2 activate neighbor 10.0.1.2 route-map RMAP-EVPN_GWIP out advertise-all-vni exit-address-family Signed-off-by: Ameya Dharkar <adharkar@vmware.com>
2021-06-01bfdd: forbid setting interface for multihop sessionsIgor Ryzhov
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-23bgpd: fix default for extended-nexthop-capabilityChristian Hopps
The default for extended-nexthop-capability is true for unnumbered (interface) neighbors, false for other types. Break the inner grouping out of the outer neighbor-parameters grouping so that we can refine the default in that uses case. Signed-off-by: Christian Hopps <chopps@gmail.com>
2021-05-21yang: fix BGP multicast prefix typeRafael Zalamena
Fix many of the commands in the `address-family ipv4 multicast` to use the proper type to avoid wrong YANG model validation failures. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2021-05-21yang: move multicast prefix type definitionRafael Zalamena
Move the multicast prefix type to a common YANG model so other models can use it. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2021-05-14bgpd, yang: fix replace-as yang leafIgor Ryzhov
The leaf is called "no-replace-as" in the model but is used reversed in all the code. Let's rename it to comply with the actual behavior. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-13lib: adapt to version 2 of libyangChristian Hopps
Compile with v2.0.0 tag of `libyang2` branch of: https://github.com/CESNET/libyang staticd init load time of 10k routes now 6s vs ly1 time of 150s Signed-off-by: Christian Hopps <chopps@labn.net>
2021-05-10pathd. TED support . Validation of candidate path - [part 2/4]Javier Garcia
- Explicit segment list nai will be resolved to corresponded sid. - Dynamic segment list (from pce) will be validated. - If segment list could not be resolved or validated won't be used. - Now this new config is supported segment-list sl-1 index 10 nai prefix 10.1.2.1/32 iface 1 index 30 nai adjacency 10.2.5.2 10.2.5.5 index 40 nai prefix 10.10.10.5/32 algorithm 0 Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
2021-05-03isisd: link protection optional fallback in ti-lfaFredi Raspall
The current implementation of TI-LFA computes link-protecting repair paths (even when node protection is enabled) to have repair paths to all destinations when no node-protecting repair has been found. This may be desired or not. E.g. the link-protecting paths may use the protected node and be, therefore, useless if the node fails. Also, computing link-protecting repairs incurs extra calculations. With this patch, when node protection is enabled, link protecting repair paths are only computed if "link-fallback" is specified in the configuration, on a per interface and IS-IS level. Signed-off-by: Fredi Raspall <fredi@voltanet.io>
2021-04-29isisd, yang: remove vrf leaf from isis interface nodeIgor Ryzhov
This is very confusing and incorrect. We can and should use vrf leaf of the interface itself instead. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-04-29isisd: fix ldp-sync configurationIgor Ryzhov
YANG model and CLI commands allow user to configure LDP-sync per area. But the actual implementation is incorrect - all commands are changing the config for the whole VRF instead of a single area. This commit fixes this issue by actually implementing per area configuration. Fixes #8578. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-04-23yang: add PIM BFD profile supportRafael Zalamena
Allow users to configure BFD profile for the peers in a interface. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2021-04-13Merge pull request #8389 from idryzhov/route-map-optimization-nbRenato Westphal
lib: convert route-map optimization to NB
2021-04-06lib: convert route-map optimization to NBIgor Ryzhov
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-04-05Merge pull request #8348 from chiragshah6/mdevIgor Ryzhov
yang, bgpd: add northbound transactional callbacks for neighbor route-map for af l2vpn-evpn
2021-04-02bgpd: increase the maximum number of neighborsPhilippe Guibert
increase the maximum number of neighbors in a bgp group. Set the maximum value to 50000 instead of 5000. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2021-03-30lib,zebra,bgpd,ospfd,ospf6d: Route-map yang defnsSarita Patra
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>
2021-03-25yang: add policy support for l2vpn-evpn nbr treeChirag Shah
Add bgp routing policy support for unnumbered and peer-group. For numbered peer the policy support is already present. +--rw bgp! +--rw neighbors | +--rw unnumbered-neighbor* [interface] | +--rw afi-safis | +--rw afi-safi* [afi-safi-name] +--rw l2vpn-evpn | | | +--rw filter-config | | | +--rw rmap-import? frr-route-map:route-map-ref | | | +--rw rmap-export? frr-route-map:route-map-ref | | | +--rw plist-import? frr-bgp-types:plist-ref | | | +--rw plist-export? frr-bgp-types:plist-ref | | | +--rw access-list-import? frr-bgp-types:access-list-ref | | | +--rw access-list-export? frr-bgp-types:access-list-ref | | | +--rw as-path-filter-list-import? frr-bgp-types:as-path-filter-ref | | | +--rw as-path-filter-list-export? frr-bgp-types:as-path-filter-ref | | | +--rw unsuppress-map-import? frr-route-map:route-map-ref | | | +--rw unsuppress-map-export? frr-route-map:route-map-ref ... +--rw peer-groups +--rw peer-group* [peer-group-name] | +--rw afi-safis | +--rw afi-safi* [afi-safi-name] +--rw l2vpn-evpn | | | +--rw filter-config | | | +--rw rmap-import? frr-route-map:route-map-ref | | | +--rw rmap-export? frr-route-map:route-map-ref | | | +--rw plist-import? frr-bgp-types:plist-ref | | | +--rw plist-export? frr-bgp-types:plist-ref | | | +--rw access-list-import? frr-bgp-types:access-list-ref | | | +--rw access-list-export? frr-bgp-types:access-list-ref | | | +--rw as-path-filter-list-import? frr-bgp-types:as-path-filter-ref | | | +--rw as-path-filter-list-export? frr-bgp-types:as-path-filter-ref | | | +--rw unsuppress-map-import? frr-route-map:route-map-ref | | | +--rw unsuppress-map-export? frr-route-map:route-map-ref ... Signed-off-by: Chirag Shah <chirag@nvidia.com>
2021-03-25Merge pull request #8332 from donaldsharp/yang_cleanDavid Lamparter
yang: Allow `make clean` to actually clean up dependant files
2021-03-25Merge pull request #8333 from mobash-rasool/pim-fixes-2Donald Sharp
pimd: Fix hold time related issues
2021-03-25pimd: Validation that hello should be less than hold time config.Mobashshera Rasool
Also included display of hold time in CLI 'show ip pim int <intf>' cmd and json commands. Issue: PIM neighbor not coming up if hold time is less than hello timer since hello is sent every 4 sec and hold is 1 sec, because of this nbr is flapping Fix: Do not allow configuration of hold timer less than hello timer Also reset the value of hold timer to 3.5 times to hello whenever only hello is modified so that the relationship holds good. Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2021-03-24yang: Allow `make clean` to actually clean up dependant filesDonald Sharp
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-24Merge pull request #8250 from idryzhov/fix-nb-running-get-entryRenato Westphal
Fix aborts when using nb_running_get_entry during validation stage
2021-03-17Merge pull request #8008 from chiragshah6/yang_nb5Santosh P K
[lib, yang] : multiple fixes in prefix-list northbound conversion
2021-03-16bfdd: separate echo rx/tx timersIgor Ryzhov
Currently there is a single interval for both RX and TX echo functions. This commit introduces separate RX and TX timers for echo packets. The main advantage is to be able to set the receive interval to zero when we don't want to receive echo packets from the remote system. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-03-16zebra: make ribs config falseIgor Ryzhov
Zebra routing tables are not controlled by the user and can not be created/deleted manually. Current NB create/destroy callbacks are incorrectly implemented because instead of creating/deleting the RIB they are only checking for it's existence. YANG model should reflect the real situation. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-03-15bfdd: make sessions administratively up by defaultIgor Ryzhov
Current behavior is inconsistent. When the session is created by another daemon, it is up by default. When we later configure peer in bfdd, the session is still up, but the NB layer thinks that it is down. More than that, even when the session is created in bfdd using peer command, it is created in DOWN state, not ADM_DOWN. And it actually starts sending and receiving packets. The sessions is marked with SHUTDOWN flag only when we try to reconfigure some parameter. This behavior is also very unexpected. Fixes #7780. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-03-10isisd, yang, doc: combine config cmd for SRGB+SRLBEmanuele Di Pascale
when changing both ranges at the same time the order of the commands matters, as we need to make sure that the intermediate state is valid. This represents a problem when pushing configuration via frr-reload. To fix this, the global-block command was extended to optionally allow setting the local-block range as well. The local-block command is deprecated with a 1-year notice. Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2021-03-01yang: remove when statement from prefix-listChirag Shah
Remove when statements from prefix-list yang OM, and do the same check in frr validation phase. This helps a bit in perfomance of prefix-lists scale config. Ticket:CM-32035 Reviewed By:CCR-11096 Testing Done: Signed-off-by: Chirag Shah <chirag@nvidia.com>
2021-01-20isisd: Fix Attach-bit processinglynne
The purpose of the Attach-bit is to accomplish inter-area routing. In other venders, the Attached-bit is automatically set when a router is configured as a L1|L2 router and has two adjacencies. When a L1 router receives a LSP with the Attached-bit set it is supposed to create a default route pointing toward the neighbor to provide a default path out of the L1 area. ISIS implementation has been fixed to support the above definition: Setting the Attach-bit is now the default behavior and we allow the user to turn it off. We will only set the Default Attach-bit when creating a L1 LSP, if we are a L1|L2 router and have a L2 adjacency up. When a L1 router receives a LSP with the Attach-bit set, we will create a default route pointing to the L1|L2 router as the nexthop. The default route will be removed if the LSP is received with the Attach-bit cleared. Signed-off-by: Lynne Morrison <lynne@voltanet.io>
2021-01-19Merge pull request #7781 from chiragshah6/evpn_devRuss White
[yang,bgpd] convert neighbor prefix-list and route-map to transactional clis
2021-01-19Merge pull request #7863 from chiragshah6/mdevRuss White
[yang,staticd]: remove when condition from static nexthop om
2021-01-15Merge pull request #7844 from vishaldhingra/staticMark Stapp
staticd: correct table-id handling for static routes.
2021-01-13yang: remove when condition from static nexthop omChirag Shah
Remove when conditions from the yang OM as it degrades the performance in libyang. Instead do the same when conditional check in frr northbound validate phase. Reject the config if condiion do not meet. Ticket:CM-32530 Testing Done: Co-developed-by: VishalDhingra <vdhingra@vmware.com> Signed-off-by: Chirag Shah <chirag@nvidia.com>
2021-01-09staticd: make table-id as the key for path-listvdhingra
modified the yang model for path-list. table-id should be a key, as one route can have multiple table-ids. Signed-off-by: vishaldhingra <vdhingra@vmware.com>
2021-01-09yang: nbr plist nb conversion for more afi-safisChirag Shah
Signed-off-by: Chirag Shah <chirag@nvidia.com>
2021-01-08yang, isisd: add RLFA nodes, skeleton callbacks and CLI commandsRenato Westphal
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-01-05Merge pull request #7807 from logbob0401/vrrpd_yang_bug_fixRuss White
Fix augment path problem in frr-vrrpd.yang to comply with rfc 7950
2021-01-05Merge pull request #7507 from ↵Russ White
ton31337/fix/bgpd_do_not_send_update_if_path_really_did_not_change bgpd: Do not send BGP UPDATE if the route actually not changed
2021-01-02vrrpd.yang bug fix: modify augment path to comply with rfc 7950Bo Zhang
Signed-off-by: Bo Zhang <logbob0401@gmail.com>
2020-12-18pathd: New SR-TE policy management daemonSebastien Merle
This new daemon manages Segment-Routing Traffic-Engineering (SR-TE) Policies and installs them into zebra. It provides the usual yang support and vtysh commands to define or change SR-TE Policies. In a nutshell SR-TE Policies provide the possibility to steer traffic through a (possibly dynamic) list of Segment Routing segments to the endpoint of the policy. This list of segments is part of a Candidate Path which again belongs to the SR-TE Policy. SR-TE Policies are uniquely identified by their color and endpoint. The color can be used to e.g. match BGP communities on incoming traffic. There can be multiple Candidate Paths for a single policy, the active Candidate Path is chosen according to certain conditions of which the most important is its preference. Candidate Paths can be explicit (fixed list of segments) or dynamic (list of segment comes from e.g. PCEP, see below). Configuration example: segment-routing traffic-eng segment-list SL index 10 mpls label 1111 index 20 mpls label 2222 ! policy color 4 endpoint 10.10.10.4 name POL4 binding-sid 104 candidate-path preference 100 name exp explicit segment-list SL candidate-path preference 200 name dyn dynamic ! ! ! There is an important connection between dynamic Candidate Paths and the overall topic of Path Computation. Later on for pathd a dynamic module will be introduced that is capable of communicating via the PCEP protocol with a PCE (Path Computation Element) which again is capable of calculating paths according to its local TED (Traffic Engineering Database). This dynamic module will be able to inject the mentioned dynamic Candidate Paths into pathd based on calculated paths from a PCE. https://tools.ietf.org/html/draft-ietf-spring-segment-routing-policy-06 Co-authored-by: Sebastien Merle <sebastien@netdef.org> Co-authored-by: Renato Westphal <renato@opensourcerouting.org> Co-authored-by: GalaxyGorilla <sascha@netdef.org> Co-authored-by: Emanuele Di Pascale <emanuele@voltanet.io> Signed-off-by: Sebastien Merle <sebastien@netdef.org>
2020-12-11bgpd: Do not send BGP UPDATE if the route actually not changedDonatas Abraitis
Reference: https://www.cmand.org/communityexploration --y2-- / | \ c1 ---- x1 ---- y1 | z1 \ | / --y3-- 1. z1 announces 192.168.255.254/32 to y2, y3. 2. y2 and y3 tags this prefix at ingress with appropriate communities 65004:2 (y2) and 65004:3 (y3). 3. x1 filters all communities at the egress to c1. 4. Shutdown the link between y1 and y2. 5. y1 will generate a BGP UPDATE message regarding the next-hop change. 6. x1 will generate a BGP UPDATE message regarding community change. To avoid sending duplicate BGP UPDATE messages we should make sure we send only actual route updates. In this example, x1 will skip BGP UPDATE to c1 because the actual route is the same (filtered communities - nothing changes). Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-12-02Merge pull request #7590 from opensourcerouting/isisd-lfaDonald Sharp
isisd: add support for classic LFA
2020-11-27yang: fix cisco access list source valueIgor Ryzhov
Source value must be a choice between host, network and any, not a set of all three. Fixes #7599. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2020-11-24yang, isisd: add LFA nodes, NB skeleton callbacks and CLI commandsRenato Westphal
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2020-11-19Merge pull request #6145 from patrasar/pim_nb_code_upstreamDonald Sharp
pimd: northbound backend code
2020-11-17*: Replace typo (supress => suppress)Donatas Abraitis
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-10-27bgpd: shorten names for default originate nb callbacksChirag Shah
Signed-off-by: Chirag Shah <chirag@nvidia.com>
2020-10-27*: shorten name of prefix-limit optionsChirag Shah
shorten prefix-limit's option name in yang model. change restart timer to uint16. Stubbed northbound callbacks with above changes. Signed-off-by: Chirag Shah <chirag@nvidia.com>