summaryrefslogtreecommitdiff
path: root/packages/frr/patches/0002-ospfd-Fix-wrong-advertise-router-calculation-in-tran.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frr/patches/0002-ospfd-Fix-wrong-advertise-router-calculation-in-tran.patch')
-rw-r--r--packages/frr/patches/0002-ospfd-Fix-wrong-advertise-router-calculation-in-tran.patch30
1 files changed, 30 insertions, 0 deletions
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
new file mode 100644
index 00000000..941bbb94
--- /dev/null
+++ b/packages/frr/patches/0002-ospfd-Fix-wrong-advertise-router-calculation-in-tran.patch
@@ -0,0 +1,30 @@
+From 2c6087bec2e4e9360f6c9e1b3df88021f839f35e 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
+ network
+
+The ospfd mistakenly copy advertise router from vertex->id, which may
+not be correct in an OSPF transit network.
+
+Signed-off-by: Zhiyuan Wan <h@iloli.bid>
+---
+ ospfd/ospf_route.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ospfd/ospf_route.c b/ospfd/ospf_route.c
+index 5f18bff1c..744d47dc2 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,
+ || area->spf_dry_run) {
+ path = ospf_path_new();
+ path->nexthop = nexthop->router;
+- path->adv_router = v->id;
++ path->adv_router = v->lsa->adv_router;
+
+ if (oi) {
+ path->ifindex = oi->ifp->ifindex;
+--
+2.30.2
+