-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
isisd: fix building flex-algo asla at init #16467
Conversation
ci:rerun |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a small question. Otherwise, the PR looks good to me.
isisd/isis_nb_config.c
Outdated
if (update_te) { | ||
for (ALL_LIST_ELEMENTS_RO(area->circuit_list, node, | ||
circuit)) | ||
isis_link_params_update(circuit, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do you not call isis_link_params_update_asla()
directly? only flex_algo parameters have been updated and need attention to eventually regenerate the LSP.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right. Changed
I have added the last flex-algo unconfiguration case and some cleanup
34d2b8e
to
40a136b
Compare
Remove duplicated flex_algos_free prototype Signed-off-by: Louis Scalbert <[email protected]>
Move flex_algo_delete() content into isis_instance_flex_algo_destroy() because it is called only once. Rename _flex_algo_delete to flex_algo_free() Cosmetic change. Signed-off-by: Louis Scalbert <[email protected]>
When an color affinity is set on an interface before configuring the flex-algorithm, the ASLA (Application Specific Link-Attribute) sub-TLV is not build. Flex-algo fails to build the paths when a affinity constraint is required because of the lacking of information contained in ASLA. There are no problems when the configuration order is reversed. For example: > affinity-map red bit-position 1 > > interface eth2 > link-params > affinity red > > router isis 1 > mpls-te on > flex-algo 129 > dataplane sr-mpls > advertise-definition > affinity include-any green In isis_link_params_update_asla(), the ASLA sub-TLV is not build when the list of flex-algos is empty. Update ASLA when the first flex-algorithm is configured. Fixes: 893882e ("isisd: add isis flex-algo configuration backend") Signed-off-by: Louis Scalbert <[email protected]>
Free ASLA when the last flex-algo is unconfigured. Signed-off-by: Louis Scalbert <[email protected]>
40a136b
to
e3634cb
Compare
When an color affinity is set on an interface before configuring the flex-algorithm, the ASLA (Application Specific Link-Attribute) sub-TLV is not build. Flex-algo fails to build the paths when a affinity constraint is required because of the lacking of information contained in ASLA. There are no problems when the configuration order is reversed. For example:
In isis_link_params_update_asla(), the ASLA sub-TLV is not build when the list of flex-algos is empty.
Update ASLA when the first flex-algorithm is configured.
Fixes: 893882e ("isisd: add isis flex-algo configuration backend")