Skip to content
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: added prefix propogation/leaking #15863

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

squirrelking57
Copy link

added:

  1. default prefix propogation from level-1 to level-2 db on level_1_2 edge according to RFC 1195
  2. cli command "redistribute ipv4/ipv6 isis level-m into level-n route-map map_name"
  3. maneged leaking from level-2 into level-1 accoding to RFC 5302
  4. Re-advertisement Flag in SR subtlv in redistributed prefix accoding to RFC 8667

added:
1) default prefix propogation from level-1 to level-2 db on level_1_2 edge according to RFC 1195
2) cli command "redistribute ipv4/ipv6 isis level-m into level-n route-map map_name"
3) maneged leaking from level-2 into level-1 accoding to RFC 5302
4) Re-advertisement Flag in SR subtlv in redistributed prefix accoding to RFC 8667

Signed-off-by: squirrelking57 <[email protected]>
Copy link
Contributor

@idryzhov idryzhov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All my comments from previous review regarding the YANG model changes remain valid.

@@ -2078,6 +2125,45 @@ module frr-isisd {
}
}

container route_leaking {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Repeating my previous review - this is not needed. We added the level-from leaf to the redistribute container, specifically to cover all of this. Why do you think this separate container is needed?

Copy link
Contributor

@Sashhkaa Sashhkaa Sep 24, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need such a container because in callbacks, for example, we parse the young model, and if we don't make a separate container for local redistribution, then we will deal with the same callback that is already provided in ISIS:
return nb_cli_apply_changes(vty, "./route_leaking/%s[protocol='%s'][level='%s']", ip, proto, level_from);
will be the same like
return nb_cli_apply_changes( vty, "./redistribute/%s[protocol='%s'][level='%s']", ip, proto, level);

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand the example you provided, but that's exactly the point - why do we need any additional callbacks for that?

@@ -1495,6 +1525,15 @@ module frr-isisd {
"IS-IS level into which the routes should be redistributed.";
}

leaf level_from {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The common practice in YANG models is to use dashes (-), not underlines (_). Please, change this to level-from.

type level;
must "(. != \"level-1-2\") and ((../../../is-type = \"level-1-2\") or (. = ../../../is-type))";
description
"IS-IS level into which the routes should be redistributed.";
}

leaf level_from {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

level-from.

@@ -312,6 +322,27 @@ module frr-isisd {
uses redistribute-attributes;
}

grouping leaking-attributes {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regardless of the necessity of route_leaking container, this is not needed because it's a complete copy of grouping redistribute-attributes.

@@ -104,6 +104,16 @@ module frr-isisd {
description
"This enum indicates capability for both levels.";
}
enum "level2_to_level1" {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As in my previous review - there are no such levels in IS-IS and this change is wrong and unnecessary. That's exactly why we have two leafs - level and level-from.

@louis-6wind
Copy link
Contributor

@squirrelking57 any news on this pull-request ?

@Sashhkaa
Copy link
Contributor

Sorry for the long reply, I plan to fix all the requested edits in the near future, and I also found a problem with the metric calculation, which I will also fix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants