]> git.puffer.fish Git - matthieu/frr.git/commit
isisd: When the metric-type is configured as "wide", the IS-IS generates incorrect...
authorzhou-run <166502045+zhou-run@users.noreply.github.com>
Tue, 21 May 2024 09:19:44 +0000 (17:19 +0800)
committerbaozhen (RD) <bao.zhen@h3c.com>
Tue, 28 May 2024 09:21:19 +0000 (17:21 +0800)
commit39e27b840e5ddc2087c0b20cfcf379745b3baa79
treec89a4785701bb5580b8586117eacd978aaffceb2
parentc002c5c4c9ffdd62eb8219ba189e1bf97db79d1d
isisd: When the metric-type is configured as "wide", the IS-IS generates incorrect metric values for IPv4 directly connected routes.

The IPv4 directly connected route prefix exists in both the root LSP and the root's neighbor LSP:

1. When generating vertices for directly connected route prefixes with a metric of 0 based on the root LSP, the isis_spf_preload_tent_ip_reach_cb function only generates vertices of type VTYPE_IPREACH_INTERNAL without distinguishing between area->oldmetric and area->newmetric.
2. When generating vertices for the directly connected route prefix based on the neighbor LSP, the isis_spf_process_lsp function will generate vertices of type VTYPE_IPREACH_INTERNAL and VTYPE_IPREACH_TE based on area->oldmetric and area->newmetric, where the vertex metric is the sum of the metric from the root IS to the neighbor IS and from the neighbor IS to the root IS, respectively.

If area->newmetric=1, the same directly connected route prefix will have both VTYPE_IPREACH_INTERNAL vertices with a metric of 0 and VTYPE_IPREACH_TE vertices with a non-zero metric. During route generation, the isis_spf_loop function will prioritize selecting VTYPE_IPREACH_TE vertices, leading to incorrect metrics for the directly connected routes.

Signed-off-by: zhou-run <166502045+zhou-run@users.noreply.github.com>
fix frrbot styling issues found.

1)fix frrbot styling issues found.
2)Roll back the modifications to TE.

Signed-off-by: zhou-run <166502045+zhou-run@users.noreply.github.com>
Maintain code factorization and avoid duplicating code.

Maintain code factorization and avoid duplicating code.

Signed-off-by: zhou-run <166502045+zhou-run@users.noreply.github.com>
isisd: fix frrbot styling issues found

fix frrbot styling issues found

Signed-off-by: zhou-run <166502045+zhou-run@users.noreply.github.com>
isisd: fix frrbot styling issues found

fix frrbot styling issues found

Signed-off-by: zhou-run <166502045+zhou-run@users.noreply.github.com>
isisd: Resolve compilation issues.

Resolve compilation issues.

Signed-off-by: zhou-run <166502045+zhou-run@users.noreply.github.com>
isisd: Resolve compilation issues.

Resolve compilation issues.

Signed-off-by: zhou-run <166502045+zhou-run@users.noreply.github.com>
isisd: fix frrbot styling issues found

fix frrbot styling issues found

Signed-off-by: zhou-run <166502045+zhou-run@users.noreply.github.com>
isisd: fix frrbot styling issues found

fix frrbot styling issues found

Signed-off-by: zhou-run <166502045+zhou-run@users.noreply.github.com>
isisd: Resolve compilation issues.

Resolve compilation issues.

Signed-off-by: zhou-run <166502045+zhou-run@users.noreply.github.com>
isisd/isis_spf.c
tests/isisd/test_isis_spf.refout