-
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
Eigrp #11301 - Configuration failed error type: validation #14765
base: master
Are you sure you want to change the base?
Eigrp #11301 - Configuration failed error type: validation #14765
Conversation
b15c391
to
7010f1f
Compare
Not sure if I need to fix the CI warnings, it is not dangerous to ignore identifier names for function declarations in the header. Unless maintainers would like me to handle this. |
The rule is that you don't have to fix something you don't touch but if you add new code it must conform to our standard. The tool is telling you about the problem |
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.
Documentation and the tests are missing yet.
@@ -91,7 +85,7 @@ struct eigrp_interface *eigrp_if_new(struct eigrp *eigrp, struct interface *ifp, | |||
ei->curr_bandwidth = ifp->bandwidth; | |||
ei->curr_mtu = ifp->mtu; | |||
|
|||
return ei; | |||
return 0; |
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.
If this is just returning, we might then use a void() at all?
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.
It is a hook definition; the declaration is expected to return int. The same goes for interface deletion.
eigrpd/eigrp_interface.c
Outdated
if (str && !strcmp(str, ifname)) | ||
return i; | ||
} | ||
return -1; |
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.
I see this function could be converted to boolean, right?
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.
Nope, it returns the interface index within a vector or -1 if an interface is missing.
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.
there is a definition for an invalid interface ... I'll find it and put it here, but that's what we should use rather than -1
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.
IFINDEX_INTERNAL -> 0 is the only legal value to use for a ifindex if we do not know the ifindex. Everything else can be a legal value and as such we should not be using it
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.
looks good ... waiting on @ton31337 's comments to be resolved
7010f1f
to
9c4e157
Compare
Regarding missing documentation - it is already present.
I have fixed the CI warnings and will check if somebody from my team can assist with the test case. |
not certain we need a topo test here? |
@volodymyrhuti if we can get the invalid interface bits fixed, we can merge this, I think ... |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
1 similar comment
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Commit 0eb4168 ("eigrp: T2472: improve code for later tests") added a basic smoketest for EIGRP, which is also run by the CI hence not having a +x bit at all. This just deletes the basic smoketest testing for ASN and EIGRP router-id. We can revert it once it's fixed in FRR upstream. FRRouting/frr#14765
Instatiate interface structure once demon is started. Otherwise it is not possible to set parameters such as bandwidth untill a `network` configuration was applied. Fixes: FRRouting#11301 Signed-off-by: Volodymyr Huti <[email protected]>
Maintain a vector of mappings [if_name -> if_passive]. Otherwise, if topo is not already convereged, configuration does not apply, since iface is missing from the iface list. Fixes: FRRouting#11301 Signed-off-by: Volodymyr Huti <[email protected]>
9c4e157
to
d92757c
Compare
Is anyone still working on this? |
@frrbot autoclose in 1 month |
@riw777 sorry for not following up on this one. I believe it is still relevant and applicable |
This issue will no longer be automatically closed. |
For more details, please look at: #11301 (comment)
Additional context: https://vyos.dev/T5737