summaryrefslogtreecommitdiff
path: root/ospf6d/subdir.am
AgeCommit message (Collapse)Author
2023-10-10ospf6d: connected prefix toggle for PtP/PtMPDavid Lamparter
To announce connected prefixes, or not to announce connected prefixes, that is the question... Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-10-10ospf6d: allow configuring PtP neighbors & costDavid Lamparter
Add a list of configured neighbors for each interface. Only stores cost (and "existence") for now. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-06-23ospf6d: Add config callbacks to suppress hellos during config load. Add ↵Acee
bgpd/isisd message. Signed-off-by: Acee <aceelindem@gmail.com>
2023-05-08ospfd, ospf6d: introduce the "graceful-restart hello-delay" commandRenato Westphal
This command makes unplanned GR more reliable by manipulating the sending of Grace-LSAs and Hello packets for a certain amount of time, increasing the chance that the neighboring routers are aware of the ongoing graceful restart before resuming normal OSPF operation. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2022-10-26build, vtysh: extract vtysh commands from .xrefDavid Lamparter
Rather than running selected source files through the preprocessor and a bunch of perl regex'ing to get the list of all DEFUNs, use the data collected in frr.xref. This not only eliminates issues we've been having with preprocessor failures due to nonexistent header files, but is also much faster. Where extract.pl would take 5s, this now finishes in 0.2s. And since this is a non-parallelizable build step towards the end of the build (dependent on a lot of other things being done already), the speedup is actually noticeable. Also files containing CLI no longer need to be listed in `vtysh_scan` since the .xref data covers everything. `#ifndef VTYSH_EXTRACT_PL` checks are equally obsolete. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-02-09ospf6d: Enable the feature using configure.acAbhinay Ramesh
Problem Statement: ================= The feature is not enabled, needs to be enabled by doing required initialization. RCA: ==== Changes to support the feature is present, but the feature macro needs to be enabled. Fix: ==== This commit has changes to enable the code. Risk: ===== Medium Need to ensure all existing ospf6 related topotests pass. to ensure packet processing is not impacted. Tests Executed: =============== Have tested the functionality with enabling openssl and also disabling openssl. Signed-off-by: Abhinay Ramesh <rabhinay@vmware.com>
2021-10-05ospf6d: add support for NSSA Type-7 address rangesRenato Westphal
Implement NSSA address ranges as specified by RFC 3101: NSSA border routers may be configured with Type-7 address ranges. Each Type-7 address range is defined as an [address,mask] pair. Many separate Type-7 networks may fall into a single Type-7 address range, just as a subnetted network is composed of many separate subnets. NSSA border routers may aggregate Type-7 routes by advertising a single Type-5 LSA for each Type-7 address range. The Type-5 LSA resulting from a Type-7 address range match will be distributed to all Type-5 capable areas. Syntax: area A.B.C.D nssa range X:X::X:X/M [<not-advertise|cost (0-16777215)>] Example: router ospf6 ospf6 router-id 1.1.1.1 area 1 nssa area 1 nssa range 2001:db8:1000::/64 area 1 nssa range 2001:db8:2000::/64 ! Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-09-16ospf6d: introduce support for Graceful Restart (restarting mode)Renato Westphal
RFC 5187 specifies the Graceful Restart enhancement to the OSPFv3 routing protocol. This commit implements support for the GR restarting mode. Here's a quick summary of how the GR restarting mode works: * GR can be enabled on a per-instance basis using the `graceful-restart [grace-period (1-1800)]` command; * To perform a graceful shutdown, the `graceful-restart prepare ipv6 ospf` EXEC-level command needs to be issued before restarting the ospf6d daemon (there's no specific requirement on how the daemon should be restarted); * `graceful-restart prepare ospf` will initiate the graceful restart for all GR-enabled instances by taking the following actions: o Flooding Grace-LSAs over all interfaces o Freezing the OSPF routes in the RIB o Saving the end of the grace period in non-volatile memory (a JSON file stored in `$frr_statedir`) * Once ospf6d is started again, it will follow the procedures described in RFC 3623 until it detects it's time to exit the graceful restart (either successfully or unsuccessfully). Testing done: * New topotest featuring a multi-area OSPF topology (including stub and NSSA areas); * Successful interop tests against IOS-XR routers acting as helpers. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-09-14Merge pull request #9438 from ranjanyash54/debug_commMark Stapp
ospf6d: Add debug commands for lsa all and route all
2021-09-07ospf6d: add support for NSSA totally stub areasRenato Westphal
Add a knob to turn a NSSA area into a totally stub area. In this configuration a Type-3 default summary route is generated by default. Syntax: `area A.B.C.D nssa no-summary`. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-08-25ospf6d: Add debug commands for lsa all and route allYash Ranjan
Debug commad for all lsa types and route types are not present. Signed-off-by: Yash Ranjan <ranjany@vmware.com>
2021-08-10ospf6d: Helper functionality changesrgirada
Description: 1. changes to process GRACE LSA packet. 2. Validation changes to enter Helper role. 3. Helper functionality during graceful restart. Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2021-08-10ospf6d: Init/De-init gr helper functionalityrgirada
Description: Graceful restart helper functionality initialisation and deinit apis. Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2021-07-30Merge pull request #9028 from mobash-rasool/ospfv3-asbr-summarisationRuss White
Ospfv3 ASBR summarisation feature
2021-07-21build: fix `AM_LDFLAGS` usage (and gcov)David Lamparter
like the other automake variables, setting `xyz_LDFLAGS` causes `AM_LDFLAGS` to be ignored for `xyz`. For some reason I had in my mind that automake doesn't do this for LDFLAGS, but... it does. (Which is consistent with `_CFLAGS` and co.) So, all the libraries and modules have been ignoring `AM_LDFLAGS` (which includes `SAN_FLAGS` too). Set up new `LIB_LDFLAGS` and `MODULE_LDFLAGS` to handle all of this correctly (and move these bits to a central location.) Fixes: #9034 Fixes: 0c4285d77eb ("build: properly split CFLAGS from AC_CFLAGS") Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-07-21ospf6d: ASBR Summarisation feature implementationMobashshera Rasool
Feature Implementation. ======================== This feature will help in advertising the External LSAs with aggregation. The commands allow us to tune the advertisement with different parameters as mentioned in the CLI List below. It can also help in case we do not want to advertise any prefix with the no-advertise option. New CLIs added: =============== summary-address X:X::X:X/M$prefix [tag (1-4294967295)] [{metric (0-16777215) | metric-type (1-2)}] no summary-address X:X::X:X/M$prefix [tag (1-4294967295)] [{metric (0-16777215) | metric-type (1-2)}] summary-address X:X::X:X/M$prefix no-advertise no summary-address X:X::X:X/M$prefix no-advertise aggregation timer (5-1800) no aggregation timer (5-1800) show ipv6 ospf6 summary-address [detail$detail] [json] debug ospf6 lsa aggregation CAT RUN: ======== QE to add test scripts Signed-Off-by: Mobashshera Rasool <mrassol@vmware.com>
2021-06-27ospf6d: "clear ipv6 ospf6 process" commandYash Ranjan
Adding the "clear ipv6 ospf6 command" . It resets the ospfv3 datastructures and clears the database as well as route tables. It resets the neighborship by restarting the interface state machine. If the user wants to change the router-id, this command updates the router-id to the latest static router-id and starts the neighbor formation with the new router-id. Signed-off-by: Yash Ranjan <ranjany@vmware.com>
2021-06-04ospf6d: Support for nssa in ospfv3Kaushik
The following is implemented. 1. Configuring area as NSSA. 2. Generating Type 7 LSA. 3. Conversion of Type 7 to Type 5 ( Default Behavior). 4. NSSA ABR selection. Reviewed-by: Rafael Zalamena <rzalamena@opensourcerouting.org> Co-authored-by: Kaushik <kaushiknath.null@gmail.com> Co-authored-by: Soman K.S <somanks@gmail.com> Signed-off-by: Kaushik <kaushiknath.null@gmail.com>
2021-04-21build: properly split CFLAGS from AC_CFLAGSDavid Lamparter
`CFLAGS` is a "user variable", not intended to be controlled by configure itself. Let's put all the "important" stuff in AC_CFLAGS and only leave debug/optimization controls in CFLAGS. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-04-09*: remove *.conf.sample filesQuentin Young
Most of these are many, many years out of date. All of them vary randomly in quality. They show up by default in packages where they aren't really useful now that we use integrated config. Remove them. The useful ones have been moved to the docs. Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-03-30ospf6d: North-bound implementation for ospf6d rmapsSarita Patra
This commit introduces the implementation for the north-bound callbacks for the ospf6d-specific route-map match and set clauses. Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com> Signed-off-by: Sarita Patra <saritap@vmware.com>
2021-03-29ospf6d: Add CLI and logic for default-information originate commandYash Ranjan
Signed-off-by: Yash Ranjan <ranjany@vmware.com>
2021-03-22ospf6d: kill ospf6_memory.h, use MTYPE_STATICDavid Lamparter
Same as other commits -- convert most DEFINE_MTYPE into the _STATIC variant, and move the remaining non-static ones to appropriate places. Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-17snmp: change -std=gnu99 to -std=gnu11David Lamparter
The point of the `-std=gnu99` was to override a `-std=c99` that may be coming in from net-snmp. However, we want C11, not C99. Signed-off-by: David Lamparter <equinox@diac24.net>
2020-10-02vtysh: dynamically generate the list of daemons for commandsIgor Ryzhov
Some daemons were actually missing from the static definitions: nhrpd, babeld, eigrpd and bfdd. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2020-04-27build: use VPATH for vtysh_scanDavid Lamparter
No need to put $(top_srcdir) everywhere. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-01-15doc: rename man pages to frr-*David Lamparter
The vrrpd one conflicts with the standalone vrrpd package; also we're installing daemons to /usr/lib/frr on some systems so they're not on PATH. Signed-off-by: David Lamparter <equinox@diac24.net>
2019-01-30build: fix a whole bunch of *FLAGSDavid Lamparter
- some target_CFLAGS that needed to include AM_CFLAGS didn't do so - libyang/sysrepo/sqlite3/confd CFLAGS + LIBS weren't used at all - consistently use $(FOO_CFLAGS) instead of @FOO_CFLAGS@ - 2 dependencies were missing for clippy Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-09build: fix not building docs w/o sphinxDavid Lamparter
Can't build manpages without sphinx-build, oops... Signed-off-by: David Lamparter <equinox@diac24.net>
2018-09-08build: move vtysh & manpage listings to subdir.amDavid Lamparter
Since we're now building through one large Makefile, we can easily put things with their daemons and crossreference nicely. Signed-off-by: David Lamparter <equinox@diac24.net>
2018-06-02build: append -std=gnu99 after SNMP_CFLAGSRenato Westphal
Programs that link to libnetsnmp must be compiled using a special set of flags as specified by the "net-snmp-config --base-cflags" command (whose output is stored in the SNMP_CFLAGS variable). The problem is that "net-snmp-config --base-cflags" can output -std=c99 in addition to other compiler flags in some platforms, and this breaks the build since FRR souce code makes use of some GNU compiler extensions (e.g. allow trailing commas in function parameter lists). In order to solve this problem, append -std=gnu99 after SNMP_CFLAGS in all makefiles where this variable is used. This way the -std=c99 flag will be overwritten when it's present. Source files that don't link to libnetsnmp will be compiled using either -std=gnu99 or -std=gnu11 depending on the compiler availability. Fixes #1617. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-08-04build: non-recursive ospf*David Lamparter
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>