-
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
zebra: retrieve user configured interface before creating interface #9100
base: master
Are you sure you want to change the base?
zebra: retrieve user configured interface before creating interface #9100
Conversation
Outdated results 💚Basic BGPD CI results: SUCCESS, 0 tests failed
For details, please contact louberger |
|
Continuous Integration Result: FAILEDContinuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopotests Ubuntu 18.04 arm8 part 8: Failed (click for details)Topotests Ubuntu 18.04 arm8 part 8: No useful log foundTopotests Ubuntu 18.04 i386 part 1: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO1U18I386-20406/test Topology Tests failed for Topotests Ubuntu 18.04 i386 part 1:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20406/artifact/TOPO1U18I386/ErrorLog/log_topotests.txt Successful on other platforms/tests
|
ci:rerun |
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-20414/ This is a comment from an automated CI system. |
79d6093
to
5af4f54
Compare
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.
Thanks for your contribution to FRR!
Click for style suggestions
To apply these suggestions:
curl -s https://gist.githubusercontent.com/polychaeta/054f855cb876c2b433a9f3191582b795/raw/99944fc1f654450dbc38de952a6b6c70bb0427f8/cr_9100_1627401789.diff | git apply
diff --git a/lib/if.h b/lib/if.h
index 88bc23626..1bd5e1e88 100644
--- a/lib/if.h
+++ b/lib/if.h
@@ -538,12 +538,12 @@ extern struct interface *if_lookup_by_name_vrf(const char *ifname,
struct vrf *vrf);
extern struct interface *if_get_by_name(const char *ifname, vrf_id_t vrf_id);
extern struct interface *if_get_by_ifindex(ifindex_t ifindex, vrf_id_t vrf_id);
-extern struct interface *if_get_by_name_vrf(const char *name,
- struct vrf *vrf);
+extern struct interface *if_get_by_name_vrf(const char *name, struct vrf *vrf);
/* Sets the index and adds to index list */
extern int if_set_index(struct interface *ifp, ifindex_t ifindex);
/* Sets the name and adds to name list */
-extern void if_set_name(struct interface *ifp, const char *name, struct vrf *vrf);
+extern void if_set_name(struct interface *ifp, const char *name,
+ struct vrf *vrf);
/* Delete the interface, but do not free the structure, and leave it in the
interface list. It is often advisable to leave the pseudo interface
If you are a new contributor to FRR, please see our contributing guidelines.
After making changes, you do not need to create a new PR. You should perform an amend or interactive rebase followed by a force push.
Outdated results 💚Basic BGPD CI results: SUCCESS, 0 tests failed
For details, please contact louberger |
each daemon can create its interface, even if it is not notified of the availability of such interface. This mechanism permits using interface contexts to store information, until the information becomes valid thanks to zebra hooks. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
in the case the vrf name is known, but not the vrf identifier, the respective daemon may be able to create a vrf entity. This entity will be updated later ( this is an other subject). However, in this state, this should be possible for the daemon to create and appen interfaces in that vrf. For that, new APIs are defined: - if_lookup_by_name_vrf - if_get_by_name_vrf those interfaces use vrf pointer instead of vrf_id. Those APIs do the same as their respective function without _vrf suffix Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
There are cases where an interface is created and indexed by name, by using configuration commands, whereas kernel interface representation is not yet done. Then, once kernel interface available, netlink interface triggers the creation of a new interface context indexed by ifi_index. This is a problem since we have 2 interface contexts for the same interface. This commit will check for already configured interfaces, before creating a new one. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
5af4f54
to
3992685
Compare
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
Continuous Integration Result: FAILEDContinuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopotests Ubuntu 18.04 arm8 part 5: Failed (click for details)Topotests Ubuntu 18.04 arm8 part 5: No useful log foundTopotests Ubuntu 18.04 i386 part 5: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5U18I386-20577/test Topology Tests failed for Topotests Ubuntu 18.04 i386 part 5:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20577/artifact/TOPO5U18I386/ErrorLog/log_topotests.txt Topotests debian 10 amd64 part 5: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5DEB10AMD64-20577/test Topology Tests failed for Topotests debian 10 amd64 part 5:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20577/artifact/TOPO5DEB10AMD64/ErrorLog/log_topotests.txt Topotests Ubuntu 18.04 amd64 part 5: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5U18AMD64-20577/test Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 5:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20577/artifact/TOPO5U18AMD64/ErrorLog/log_topotests.txt Successful on other platforms/tests
Warnings Generated during build:Checkout code: Successful with additional warningsTopotests Ubuntu 18.04 arm8 part 5: Failed (click for details)Topotests Ubuntu 18.04 arm8 part 5: No useful log foundTopotests Ubuntu 18.04 i386 part 5: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5U18I386-20577/test Topology Tests failed for Topotests Ubuntu 18.04 i386 part 5:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20577/artifact/TOPO5U18I386/ErrorLog/log_topotests.txt Topotests debian 10 amd64 part 5: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5DEB10AMD64-20577/test Topology Tests failed for Topotests debian 10 amd64 part 5:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20577/artifact/TOPO5DEB10AMD64/ErrorLog/log_topotests.txt Topotests Ubuntu 18.04 amd64 part 5: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5U18AMD64-20577/test Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 5:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20577/artifact/TOPO5U18AMD64/ErrorLog/log_topotests.txt
|
Continuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopotests debian 10 amd64 part 5: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5DEB10AMD64-20589/test Topology Tests failed for Topotests debian 10 amd64 part 5:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20589/artifact/TOPO5DEB10AMD64/ErrorLog/log_topotests.txt Topotests Ubuntu 18.04 arm8 part 5: Failed (click for details)Topotests Ubuntu 18.04 arm8 part 5: No useful log foundTopotests Ubuntu 18.04 amd64 part 5: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5U18AMD64-20589/test Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 5:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20589/artifact/TOPO5U18AMD64/ErrorLog/log_topotests.txt Topotests Ubuntu 18.04 i386 part 5: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5U18I386-20589/test Topology Tests failed for Topotests Ubuntu 18.04 i386 part 5:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20589/artifact/TOPO5U18I386/ErrorLog/log_topotests.txt Successful on other platforms/tests
Warnings Generated during build:Checkout code: Successful with additional warningsTopotests debian 10 amd64 part 5: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5DEB10AMD64-20589/test Topology Tests failed for Topotests debian 10 amd64 part 5:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20589/artifact/TOPO5DEB10AMD64/ErrorLog/log_topotests.txt Topotests Ubuntu 18.04 arm8 part 5: Failed (click for details)Topotests Ubuntu 18.04 arm8 part 5: No useful log foundTopotests Ubuntu 18.04 amd64 part 5: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5U18AMD64-20589/test Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 5:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20589/artifact/TOPO5U18AMD64/ErrorLog/log_topotests.txt Topotests Ubuntu 18.04 i386 part 5: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO5U18I386-20589/test Topology Tests failed for Topotests Ubuntu 18.04 i386 part 5:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-20589/artifact/TOPO5U18I386/ErrorLog/log_topotests.txt
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
There are cases where an interface is created and indexed by name, by
using configuration commands, whereas kernel interface representation is
not yet done. Then, once kernel interface available, netlink interface
triggers the creation of a new interface context indexed by ifi_index.
This is a problem since we have 2 interface contexts for the same
interface.
This commit will check for already configured interfaces, before
creating a new one.
Fixes: "ea7ec26162b2 ("zebra: Ensure master's ifname is known, even if slave comes up first")
Signed-off-by: Philippe Guibert philippe.guibert@6wind.com