-
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
ospfv3 is showing enabled on loopback interface although it is not #9292
Conversation
Outdated results 💚Basic BGPD CI results: SUCCESS, 0 tests failed
For details, please contact louberger |
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.
This change makes json and vty code inconsistent.
Currently, both code flows consider the existence of ifp->info
as an indication that OSPF6 is enabled on an interface. And there's a separate check for oi->area
that sets the attachedToArea
parameter.
I agree that it's a little bit misleading, but at least now ospf6Enabled
and attachedToArea
parameters represent different things, and with this change, they become the same thing.
In my opinion, this ospf6Enabled
really means nothing to the user, because ifp->info
is set when there's at least one IPv6 address on an interface and it has nothing to do with OSPF6. So I think there are two possible options here:
- Completely remove
ospf6Enabled
parameter as it doesn't really represent anything useful. - Leave it as it is for people who really want to know whether
ifp->info
is not NULL.
Continuous Integration Result: SUCCESSFULContinuous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20792/ This is a comment from an automated CI system. |
as much as I hate to say it we cannot remove ospf6Enabled unless we go through a deprecation cycle( at the very least ) |
Then I think we should just keep things as they are. I don't see any point in making |
Here the problem with json output is that is shows ospf6Enabled as true even though it is not enabled. To make the json and CLI output exactly the same, we can remove the below case so it shows only as false similar to CLI output but I remember someone asked to always keep the json parameter as true/false should not remove it, therefore I did it this way. |
I have not enabled OSPFv3 on loopback interface but it shows like below:
|
Mobash, I completely understand what you are doing here. I explained my thoughts in my review comment, but let's do it again: JSON and VTY code flows are already the same.
When There is already a separate parameter that checks |
Yes Igor, I do understand your thoughts here as well. I want to point the only difference between CLI and Json which is as follows:
JSON Output:
When ifp->info is not NULL CLI does not says that OSPF is enabled, it just outputs all the information along with it it says "Not attached to area" but the json indicates that OSPFv3 is enabled on the interface by saying true, that is why I want to fix it. |
Yes and JSON sets attachedToArea to false to indicate that interface is not attached to area. So there is no difference here.
Yes, and the correct fix would be to remove this ospf6Enabled field to make the JSON code the same as CLI code. What you propose is to make JSON and CLI code different, that's why I don't like this approach. I'm not sure what exactly we have to do as a deprecation cycle. @donaldsharp could you clarify? |
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.
In this case the correct thing to do is to mark the parameter deprecated, set the appropriate CPP_NOTICE
date, make a note of it in the release notes, and leave the parameter as is until the deprecation period finishes and we can remove it.
@idryzhov I take it you're fine with this plan. I agree with you that making ospf6Enabled
reflect something already expressed elsewhere is not the correct approach. As is, ospf6Enabled
communicates effectively no information; changing it to another value is not helping anyone. It should just be removed.
And I'm sorry, but as a matter of practicality, I'm going to have this one closed in a couple months if it doesn't go anywhere. We can't have these PRs laying around dead in the water. @frrbot autoclose in 2 months |
Thanks @qlyoung for your opinion. I agree with this. We can remove it after marking it as deprecate. Let's wait for @idryzhov confirmation and then we can proceed with the removal. |
This issue will no longer be automatically closed. |
Sorry for the long response, yes, I agree that |
Thanks @idryzhov . How to mark this should be removed after a deprecation cycle? What is the process? |
Just add something like
And we probably also need to mention the future change in the release notes of the next release. |
Since ospf6Enabled and attachedToArea are denoting the same thing. It is decided to remove ospf6Enabled from json output to make CLI and json output similar. Fixes: FRRouting#9286 Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
7ce2243
to
40a0880
Compare
I have added a CPP_NOTICE. |
Continuous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-2585/ This is a comment from an automated CI system. Warnings Generated during build:Checkout code: Successful with additional warnings
|
ospfv3 is showing enabled on loopback interface although
it is not configured in "show ipv6 ospf6 interface json"
Fix: Make the json output similar to the CLI output.
Fixes: #9286
Signed-off-by: Mobashshera Rasool mrasool@vmware.com