mirror_frr/ospfd
Olivier Dugeon 2efd7e2bdc ospfd: Correct Opaque Inter-AS LSA management
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>
2021-03-23 15:39:29 +01:00
..
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
ChangeLog.opaque.txt Initial revision 2003-02-03 16:31:16 +00:00
Makefile build: non-recursive ospf* 2017-08-04 11:09:50 +02:00
ospf_abr.c ospfd: fix NSSA translator 2020-11-18 23:23:14 -08:00
ospf_abr.h ospfd: fix NSSA translator 2020-11-18 23:23:14 -08:00
ospf_api.c ospfd: Limit possible message read to our buffer size 2020-04-22 07:31:07 -04:00
ospf_api.h ospfd: Remove ORIGINAL_CODING check 2019-11-19 07:47:19 -05:00
ospf_apiserver.c * : update signature of thread_cancel api 2020-10-23 08:59:34 -04:00
ospf_apiserver.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospf_asbr.c *: remove tabs & newlines from log messages 2021-02-14 15:36:51 +01:00
ospf_asbr.h ospfd: External LSA summarisation config commands. 2020-11-01 22:02:37 -08:00
ospf_ase.c ospfd: Remove #if 0 code 2021-01-28 13:21:12 -05:00
ospf_ase.h *: reindent 2017-07-17 14:04:07 +02:00
ospf_bfd.c *: Fix usage of bfd_adj_event 2021-02-07 14:59:53 -05:00
ospf_bfd.h bgpd/ospfd: make bgp and ospf json response a bit more consistent 2018-08-30 12:40:18 +00:00
ospf_dump_api.c ospfd: replace inet_ntoa 2020-10-22 13:37:25 -04:00
ospf_dump_api.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospf_dump.c ospfd: don't rely on instance existence in vty 2021-02-24 15:31:20 +03:00
ospf_dump.h ospfd: Add 'debug ospf ti-lfa' command 2021-01-19 15:32:13 +00:00
ospf_errors.c ospfd: Add Segment Routing Local Block 2020-08-20 14:37:40 +02:00
ospf_errors.h ospfd: Add Segment Routing Local Block 2020-08-20 14:37:40 +02:00
ospf_ext.c ospfd: Correct Segment Routing prefix bugs 2021-03-09 11:14:32 +01:00
ospf_ext.h ospfd: Add Segment Routing Local Block 2020-08-20 14:37:40 +02:00
ospf_flood.c ospfd: Convert to using proper string formatting 2021-03-09 20:00:45 -05:00
ospf_flood.h ospfd: OSPFv2 VRF Support 2017-10-03 09:15:19 -07:00
ospf_gr_helper.c * : clean up format specifiers for gcc-10 2020-11-04 16:56:17 -05:00
ospf_gr_helper.h ospfd: make reason string production safer 2020-10-14 12:51:52 -04:00
ospf_ia.c ospfd: replace inet_ntoa 2020-10-22 13:37:25 -04:00
ospf_ia.h *: reindent 2017-07-17 14:04:07 +02:00
ospf_interface.c *: require semicolon after DEFINE_QOBJ & co. 2021-03-17 06:18:37 +01:00
ospf_interface.h *: require semicolon after DEFINE_QOBJ & co. 2021-03-17 06:18:37 +01:00
ospf_ism.c *: require semicolon after DEFINE_HOOK & co. 2021-03-17 06:18:17 +01:00
ospf_ism.h *: require semicolon after DEFINE_HOOK & co. 2021-03-17 06:18:17 +01:00
ospf_ldp_sync.c ospfd: Prevent sending of uninited data to zebra 2021-01-30 14:13:34 -05:00
ospf_ldp_sync.h ldpd, isisd, ospfd: Remove periodic ldp-sync hello message 2020-12-09 14:11:38 -05:00
ospf_lsa.c *: fix format string SNAFUs 2021-02-16 00:47:51 +01:00
ospf_lsa.h ospfd: TI-LFA basic infrastructure and algorithms 2021-01-19 15:32:13 +00:00
ospf_lsdb.c ospfd: replace pqueue_* with DECLARE_SKIPLIST 2019-04-27 19:33:45 +02:00
ospf_lsdb.h ospfd: replace pqueue_* with DECLARE_SKIPLIST 2019-04-27 19:33:45 +02:00
ospf_main.c *: require semicolon after FRR_DAEMON_INFO & co. 2021-03-17 06:18:39 +01:00
ospf_memory.c *: require semicolon after DEFINE_MTYPE & co 2021-03-17 06:18:17 +01:00
ospf_memory.h *: require semicolon after DEFINE_MTYPE & co 2021-03-17 06:18:17 +01:00
ospf_neighbor.c ospfd: replace inet_ntoa 2020-10-22 13:37:25 -04:00
ospf_neighbor.h ospfd: ospf GR helper data structure definitions. 2020-09-21 23:59:59 -07:00
ospf_network.c ospfd: replace inet_ntoa 2020-10-22 13:37:25 -04:00
ospf_network.h ospfd: basic support for VRF NETNS backend 2018-02-27 11:11:24 +01:00
ospf_nsm.c *: require semicolon after DEFINE_HOOK & co. 2021-03-17 06:18:17 +01:00
ospf_nsm.h *: require semicolon after DEFINE_HOOK & co. 2021-03-17 06:18:17 +01:00
ospf_opaque.c *: require semicolon after DEFINE_MTYPE & co 2021-03-17 06:18:17 +01:00
ospf_opaque.h Merge pull request #7448 from mjstapp/fix_gcc10_formats 2020-11-10 11:23:02 -05:00
ospf_packet.c ospfd: Convert to using proper string formatting 2021-03-09 20:00:45 -05:00
ospf_packet.h ospfd: fix typos 2020-10-07 01:53:13 -07:00
ospf_ri.c *: remove tabs & newlines from log messages 2021-02-14 15:36:51 +01:00
ospf_ri.h ospfd: Add Segment Routing Local Block 2020-08-20 14:37:40 +02:00
ospf_route.c ospfd: enhance TI-LFA memory management 2021-01-19 15:32:13 +00:00
ospf_route.h tests: Integrate unit tests for TI-LFA 2021-01-19 15:32:13 +00:00
ospf_routemap.c ospfd: Prevent crash by accessing memory not owned. 2020-11-25 09:49:28 -05:00
ospf_snmp.c *: require semicolon after FRR_DAEMON_INFO & co. 2021-03-17 06:18:39 +01:00
ospf_spf.c *: require semicolon after DEFINE_<typesafe...> 2021-03-17 06:18:39 +01:00
ospf_spf.h *: require semicolon after DEFINE_<typesafe...> 2021-03-17 06:18:39 +01:00
ospf_sr.c ospfd: Correct Segment Routing prefix bugs 2021-03-09 11:14:32 +01:00
ospf_sr.h ospfd: Debug race condition in Segment Routing 2021-02-11 14:52:40 +01:00
ospf_te.c ospfd: Correct Opaque Inter-AS LSA management 2021-03-23 15:39:29 +01:00
ospf_te.h ospfd: Correct Opaque Inter-AS LSA management 2021-03-23 15:39:29 +01:00
ospf_ti_lfa.c *: require semicolon after DEFINE_<typesafe...> 2021-03-17 06:18:39 +01:00
ospf_ti_lfa.h ospfd: Add support for TI-LFA node protection 2021-01-19 15:32:13 +00:00
ospf_vty.c *: require semicolon after FRR_CFG_DEFAULT_* 2021-03-17 06:18:39 +01:00
ospf_vty.h ospfd: TI-LFA basic infrastructure and algorithms 2021-01-19 15:32:13 +00:00
ospf_zebra.c *: require semicolon after DEFINE_MTYPE & co 2021-03-17 06:18:17 +01:00
ospf_zebra.h ospfd: Add Label Manager for Segment Routing 2020-08-20 14:33:00 +02:00
OSPF-ALIGNMENT.txt *: Remove cvs control points 2017-12-05 17:28:12 -05:00
ospfd.c *: require semicolon after DEFINE_<typesafe...> 2021-03-17 06:18:39 +01:00
ospfd.conf.sample Initial revision 2002-12-13 20:15:29 +00:00
ospfd.h *: require semicolon after DEFINE_<typesafe...> 2021-03-17 06:18:39 +01:00
subdir.am snmp: change -std=gnu99 to -std=gnu11 2021-03-17 06:18:17 +01:00