summaryrefslogtreecommitdiff
path: root/packages/frr
diff options
context:
space:
mode:
authorZhiyuan Wan <h@iloli.bid>2023-04-27 18:48:46 +0800
committerZhiyuan Wan <h@iloli.bid>2023-04-27 18:48:46 +0800
commit4d73902eb9c6f048aabb5b90f2ddabbd375851a9 (patch)
treef462b381b65e94048fc5588c531adcc97ea74769 /packages/frr
parente1188a1f938fd6fa34012a4859f443776d3f89c4 (diff)
downloadvyos-build-4d73902eb9c6f048aabb5b90f2ddabbd375851a9.tar.gz
vyos-build-4d73902eb9c6f048aabb5b90f2ddabbd375851a9.zip
frr: T5123: Backport detailed ospf route table patch from frr 9.0 to frr 8.5
Diffstat (limited to 'packages/frr')
-rw-r--r--packages/frr/patches/0001-ospfd-Support-show-advertise-router-in-show-ip-ospf-.patch42
-rw-r--r--packages/frr/patches/0002-ospfd-Fix-wrong-advertise-router-calculation-in-tran.patch6
-rw-r--r--packages/frr/patches/0003-ospfd-Support-show-intra-area-network-type-in-show-i.patch20
3 files changed, 34 insertions, 34 deletions
diff --git a/packages/frr/patches/0001-ospfd-Support-show-advertise-router-in-show-ip-ospf-.patch b/packages/frr/patches/0001-ospfd-Support-show-advertise-router-in-show-ip-ospf-.patch
index d759c8e6..027309c9 100644
--- a/packages/frr/patches/0001-ospfd-Support-show-advertise-router-in-show-ip-ospf-.patch
+++ b/packages/frr/patches/0001-ospfd-Support-show-advertise-router-in-show-ip-ospf-.patch
@@ -1,4 +1,4 @@
-From fa263896c413f0a31425743a38d426dc3cfd659f Mon Sep 17 00:00:00 2001
+From 8113b8d3ba0646715a3b922a2a2afc5bc25375d7 Mon Sep 17 00:00:00 2001
From: Zhiyuan Wan <h@iloli.bid>
Date: Wed, 29 Mar 2023 23:05:20 +0800
Subject: [PATCH 1/3] ospfd: Support show advertise router in 'show ip ospf
@@ -14,12 +14,12 @@ Signed-off-by: Zhiyuan Wan <h@iloli.bid>
2 files changed, 48 insertions(+), 15 deletions(-)
diff --git a/doc/user/ospfd.rst b/doc/user/ospfd.rst
-index 30d55f34a..69db359bd 100644
+index b69230b99..419928d9f 100644
--- a/doc/user/ospfd.rst
+++ b/doc/user/ospfd.rst
-@@ -824,10 +824,11 @@ Showing Information
+@@ -826,10 +826,11 @@ Showing Information
- Show detailed information about the OSPF link-state database.
+ Show the OSPF database summary.
-.. clicmd:: show ip ospf route [json]
+.. clicmd:: show ip ospf route [detail] [json]
@@ -31,7 +31,7 @@ index 30d55f34a..69db359bd 100644
.. clicmd:: show ip ospf [vrf <NAME|all>] border-routers [json]
-@@ -838,7 +839,7 @@ Showing Information
+@@ -840,7 +841,7 @@ Showing Information
.. clicmd:: show ip ospf graceful-restart helper [detail] [json]
@@ -41,10 +41,10 @@ index 30d55f34a..69db359bd 100644
.. _opaque-lsa:
diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c
-index 8c0afd852..3de36d49c 100644
+index 469e9955e..40b38e18b 100644
--- a/ospfd/ospf_vty.c
+++ b/ospfd/ospf_vty.c
-@@ -10401,7 +10401,7 @@ static void config_write_stub_router(struct vty *vty, struct ospf *ospf)
+@@ -10553,7 +10553,7 @@ static void config_write_stub_router(struct vty *vty, struct ospf *ospf)
static void show_ip_ospf_route_network(struct vty *vty, struct ospf *ospf,
struct route_table *rt,
@@ -53,7 +53,7 @@ index 8c0afd852..3de36d49c 100644
{
struct route_node *rn;
struct ospf_route * or ;
-@@ -10526,6 +10526,10 @@ static void show_ip_ospf_route_network(struct vty *vty, struct ospf *ospf,
+@@ -10678,6 +10678,10 @@ static void show_ip_ospf_route_network(struct vty *vty, struct ospf *ospf,
ifindex2ifname(
path->ifindex,
ospf->vrf_id));
@@ -64,7 +64,7 @@ index 8c0afd852..3de36d49c 100644
} else {
vty_out(vty,
"%24s via %pI4, %s\n",
-@@ -10535,6 +10539,11 @@ static void show_ip_ospf_route_network(struct vty *vty, struct ospf *ospf,
+@@ -10687,6 +10691,11 @@ static void show_ip_ospf_route_network(struct vty *vty, struct ospf *ospf,
path->ifindex,
ospf->vrf_id));
}
@@ -76,7 +76,7 @@ index 8c0afd852..3de36d49c 100644
}
}
}
-@@ -10689,7 +10698,7 @@ static void show_ip_ospf_route_router(struct vty *vty, struct ospf *ospf,
+@@ -10841,7 +10850,7 @@ static void show_ip_ospf_route_router(struct vty *vty, struct ospf *ospf,
static void show_ip_ospf_route_external(struct vty *vty, struct ospf *ospf,
struct route_table *rt,
@@ -85,7 +85,7 @@ index 8c0afd852..3de36d49c 100644
{
struct route_node *rn;
struct ospf_route *er;
-@@ -10793,6 +10802,10 @@ static void show_ip_ospf_route_external(struct vty *vty, struct ospf *ospf,
+@@ -10945,6 +10954,10 @@ static void show_ip_ospf_route_external(struct vty *vty, struct ospf *ospf,
ifindex2ifname(
path->ifindex,
ospf->vrf_id));
@@ -96,7 +96,7 @@ index 8c0afd852..3de36d49c 100644
} else {
vty_out(vty,
"%24s via %pI4, %s\n",
-@@ -10802,6 +10815,10 @@ static void show_ip_ospf_route_external(struct vty *vty, struct ospf *ospf,
+@@ -10954,6 +10967,10 @@ static void show_ip_ospf_route_external(struct vty *vty, struct ospf *ospf,
path->ifindex,
ospf->vrf_id));
}
@@ -107,7 +107,7 @@ index 8c0afd852..3de36d49c 100644
}
}
}
-@@ -11088,7 +11105,8 @@ DEFUN (show_ip_ospf_instance_border_routers,
+@@ -11240,7 +11257,8 @@ DEFUN (show_ip_ospf_instance_border_routers,
}
static int show_ip_ospf_route_common(struct vty *vty, struct ospf *ospf,
@@ -117,7 +117,7 @@ index 8c0afd852..3de36d49c 100644
{
json_object *json_vrf = NULL;
-@@ -11116,7 +11134,8 @@ static int show_ip_ospf_route_common(struct vty *vty, struct ospf *ospf,
+@@ -11268,7 +11286,8 @@ static int show_ip_ospf_route_common(struct vty *vty, struct ospf *ospf,
}
/* Show Network routes. */
@@ -127,7 +127,7 @@ index 8c0afd852..3de36d49c 100644
/* Show Router routes. */
show_ip_ospf_route_router(vty, ospf, ospf->new_rtrs, json_vrf);
-@@ -11127,7 +11146,7 @@ static int show_ip_ospf_route_common(struct vty *vty, struct ospf *ospf,
+@@ -11279,7 +11298,7 @@ static int show_ip_ospf_route_common(struct vty *vty, struct ospf *ospf,
/* Show AS External routes. */
show_ip_ospf_route_external(vty, ospf, ospf->old_external_route,
@@ -136,7 +136,7 @@ index 8c0afd852..3de36d49c 100644
if (json) {
if (use_vrf) {
-@@ -11145,13 +11164,14 @@ static int show_ip_ospf_route_common(struct vty *vty, struct ospf *ospf,
+@@ -11297,13 +11316,14 @@ static int show_ip_ospf_route_common(struct vty *vty, struct ospf *ospf,
DEFUN (show_ip_ospf_route,
show_ip_ospf_route_cmd,
@@ -152,7 +152,7 @@ index 8c0afd852..3de36d49c 100644
JSON_STR)
{
struct ospf *ospf = NULL;
-@@ -11160,14 +11180,19 @@ DEFUN (show_ip_ospf_route,
+@@ -11312,14 +11332,19 @@ DEFUN (show_ip_ospf_route,
bool all_vrf = false;
int ret = CMD_SUCCESS;
int inst = 0;
@@ -172,7 +172,7 @@ index 8c0afd852..3de36d49c 100644
OSPF_FIND_VRF_ARGS(argv, argc, idx_vrf, vrf_name, all_vrf);
/* vrf input is provided could be all or specific vrf*/
-@@ -11181,8 +11206,8 @@ DEFUN (show_ip_ospf_route,
+@@ -11333,8 +11358,8 @@ DEFUN (show_ip_ospf_route,
if (!ospf->oi_running)
continue;
ospf_output = true;
@@ -183,7 +183,7 @@ index 8c0afd852..3de36d49c 100644
}
if (uj) {
-@@ -11219,7 +11244,8 @@ DEFUN (show_ip_ospf_route,
+@@ -11371,7 +11396,8 @@ DEFUN (show_ip_ospf_route,
}
if (ospf) {
@@ -193,7 +193,7 @@ index 8c0afd852..3de36d49c 100644
/* Keep Non-pretty format */
if (uj)
vty_out(vty, "%s\n",
-@@ -11235,16 +11261,22 @@ DEFUN (show_ip_ospf_route,
+@@ -11387,16 +11413,22 @@ DEFUN (show_ip_ospf_route,
DEFUN (show_ip_ospf_instance_route,
show_ip_ospf_instance_route_cmd,
@@ -218,7 +218,7 @@ index 8c0afd852..3de36d49c 100644
instance = strtoul(argv[idx_number]->arg, NULL, 10);
if (instance != ospf_instance)
-@@ -11254,7 +11286,7 @@ DEFUN (show_ip_ospf_instance_route,
+@@ -11406,7 +11438,7 @@ DEFUN (show_ip_ospf_instance_route,
if (!ospf || !ospf->oi_running)
return CMD_SUCCESS;
diff --git a/packages/frr/patches/0002-ospfd-Fix-wrong-advertise-router-calculation-in-tran.patch b/packages/frr/patches/0002-ospfd-Fix-wrong-advertise-router-calculation-in-tran.patch
index 941bbb94..b78fdf04 100644
--- a/packages/frr/patches/0002-ospfd-Fix-wrong-advertise-router-calculation-in-tran.patch
+++ b/packages/frr/patches/0002-ospfd-Fix-wrong-advertise-router-calculation-in-tran.patch
@@ -1,4 +1,4 @@
-From 2c6087bec2e4e9360f6c9e1b3df88021f839f35e Mon Sep 17 00:00:00 2001
+From 29f1a00109eba4a5f23662b377d372f92735b2b6 Mon Sep 17 00:00:00 2001
From: Zhiyuan Wan <h@iloli.bid>
Date: Mon, 3 Apr 2023 14:35:14 +0800
Subject: [PATCH 2/3] ospfd: Fix wrong advertise router calculation in transit
@@ -13,10 +13,10 @@ Signed-off-by: Zhiyuan Wan <h@iloli.bid>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ospfd/ospf_route.c b/ospfd/ospf_route.c
-index 5f18bff1c..744d47dc2 100644
+index fea9f79bf..c98790b5e 100644
--- a/ospfd/ospf_route.c
+++ b/ospfd/ospf_route.c
-@@ -849,7 +849,7 @@ void ospf_route_copy_nexthops_from_vertex(struct ospf_area *area,
+@@ -864,7 +864,7 @@ void ospf_route_copy_nexthops_from_vertex(struct ospf_area *area,
|| area->spf_dry_run) {
path = ospf_path_new();
path->nexthop = nexthop->router;
diff --git a/packages/frr/patches/0003-ospfd-Support-show-intra-area-network-type-in-show-i.patch b/packages/frr/patches/0003-ospfd-Support-show-intra-area-network-type-in-show-i.patch
index 3724f4b3..cfe5c15c 100644
--- a/packages/frr/patches/0003-ospfd-Support-show-intra-area-network-type-in-show-i.patch
+++ b/packages/frr/patches/0003-ospfd-Support-show-intra-area-network-type-in-show-i.patch
@@ -1,4 +1,4 @@
-From bfb64fc1ba595e6f45df776d61f302ca080928ca Mon Sep 17 00:00:00 2001
+From fae730bd95bcd508e087dd11991d8c6c201d581c Mon Sep 17 00:00:00 2001
From: Zhiyuan Wan <h@iloli.bid>
Date: Mon, 3 Apr 2023 16:21:15 +0800
Subject: [PATCH 3/3] ospfd: Support show intra-area network type in 'show ip
@@ -20,10 +20,10 @@ Signed-off-by: Zhiyuan Wan <h@iloli.bid>
3 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/ospfd/ospf_route.c b/ospfd/ospf_route.c
-index 744d47dc2..073daca78 100644
+index c98790b5e..cc7f0c525 100644
--- a/ospfd/ospf_route.c
+++ b/ospfd/ospf_route.c
-@@ -48,6 +48,7 @@ struct ospf_route *ospf_route_new(void)
+@@ -63,6 +63,7 @@ struct ospf_route *ospf_route_new(void)
new->paths = list_new();
new->paths->del = (void (*)(void *))ospf_path_free;
@@ -31,7 +31,7 @@ index 744d47dc2..073daca78 100644
return new;
}
-@@ -500,6 +501,7 @@ void ospf_intra_add_transit(struct route_table *rt, struct vertex *v,
+@@ -515,6 +516,7 @@ void ospf_intra_add_transit(struct route_table *rt, struct vertex *v,
or->cost = v->distance;
or->type = OSPF_DESTINATION_NETWORK;
or->u.std.origin = (struct lsa_header *)lsa;
@@ -40,10 +40,10 @@ index 744d47dc2..073daca78 100644
ospf_route_copy_nexthops_from_vertex(area, or, v);
diff --git a/ospfd/ospf_route.h b/ospfd/ospf_route.h
-index 2582067ae..d90e26222 100644
+index fa9478fce..c75d694d3 100644
--- a/ospfd/ospf_route.h
+++ b/ospfd/ospf_route.h
-@@ -69,6 +69,8 @@ struct route_standard {
+@@ -84,6 +84,8 @@ struct route_standard {
/* */
uint8_t flags; /* From router-LSA */
@@ -53,10 +53,10 @@ index 2582067ae..d90e26222 100644
struct route_external {
diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c
-index 3de36d49c..92dfef763 100644
+index 40b38e18b..30048cb8d 100644
--- a/ospfd/ospf_vty.c
+++ b/ospfd/ospf_vty.c
-@@ -10460,16 +10460,17 @@ static void show_ip_ospf_route_network(struct vty *vty, struct ospf *ospf,
+@@ -10612,16 +10612,17 @@ static void show_ip_ospf_route_network(struct vty *vty, struct ospf *ospf,
case OSPF_PATH_INTRA_AREA:
if (json) {
json_object_string_add(json_route, "routeType",
@@ -78,7 +78,7 @@ index 3de36d49c..92dfef763 100644
}
break;
default:
-@@ -10528,7 +10529,8 @@ static void show_ip_ospf_route_network(struct vty *vty, struct ospf *ospf,
+@@ -10680,7 +10681,8 @@ static void show_ip_ospf_route_network(struct vty *vty, struct ospf *ospf,
ospf->vrf_id));
json_object_string_addf(
json_nexthop,
@@ -88,7 +88,7 @@ index 3de36d49c..92dfef763 100644
&path->adv_router);
} else {
vty_out(vty,
-@@ -10803,7 +10805,8 @@ static void show_ip_ospf_route_external(struct vty *vty, struct ospf *ospf,
+@@ -10955,7 +10957,8 @@ static void show_ip_ospf_route_external(struct vty *vty, struct ospf *ospf,
path->ifindex,
ospf->vrf_id));
json_object_string_addf(