FRRouting / frr

The FRRouting Protocol Suite
https://frrouting.org/
Other
3.19k stars 1.23k forks source link

ospf ti-lfa cannot get the label[1] by function:ospf_sr_get_adj_sid_by_id #15012

Open huangyl-git opened 8 months ago

huangyl-git commented 8 months ago

Describe the bug

scenario: image

debug data: r1# sh ip ospf database segment-routing adv-router 10.1.1.4

            OSPF Segment Routing database for ID 10.1.1.1

SR-Node: 10.1.1.4 SRGB: [16400/23999] SRLB: [15400/15999] Algo.(s): SPF MSD: 8

Prefix or Link       Node or Adj. SID       Label Operation  Interface          Nexthop

   10.1.1.4/32        SR Pfx (idx 40)            Pop(16140)      eth14     192.168.14.4

192.168.14.4/32 SR Adj. (lbl 15401) no-op. - 192.168.14.1 192.168.14.4/32 SR Adj. (lbl 15400) no-op. - 192.168.14.1 192.168.45.4/32 SR Adj. (lbl 15403) no-op. - 192.168.45.5 192.168.45.4/32 SR Adj. (lbl 15402) no-op. - 192.168.45.5

Trace and debug the following code:

image

(gdb) p/x *srl $50 = { adv_router = { s_addr = 0x401010a }, instance = 0x8000002,

remote_id = { s_addr = 0x0

}, itf_addr = { s_addr = 0x42da8c0 }, flags = {0x60, 0xe0}, sid = {0x3c2b, 0x3c2a}, type = 0x2, nhlfe = {{ nexthop = { s_addr = 0x52da8c0 }, ifindex = 0x0, label_in = 0x0, label_out = 0x0 }, { nexthop = { s_addr = 0x52da8c0 }, ifindex = 0x0, label_in = 0x0, label_out = 0x0 }}, srn = 0xaaaae3a9fa80 }

see it, the remote_id is 0. so why? ----- Whether the remote id does not flooding?? and Otherwise we have a P and also a Q node (which are adjacent), Whether adj sid should be obtained by determining whether the next hop is the same, Instead of the remote_id.s_addr.

huangyl-git commented 8 months ago

The adj_sid from r4 to r5 can't obtained in r1 because the remote id of r4‘srl is not stored on r1,how to get it ?

github-actions[bot] commented 2 months ago

This issue is stale because it has been open 180 days with no activity. Comment or remove the autoclose label in order to avoid having this issue closed.