-
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
Ospf missing interface handling 2 #3775
Ospf missing interface handling 2 #3775
Conversation
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
Continuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopology tests on Ubuntu 18.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1804-6678/test Topology Tests failed for Topology tests on Ubuntu 18.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6678/artifact/TOPOU1804/ErrorLog/log_topotests.txt Topology tests on Ubuntu 16.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-6678/test Topology Tests failed for Topology tests on Ubuntu 16.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6678/artifact/TOPOU1604/ErrorLog/log_topotests.txt Topotest tests on Ubuntu 16.04 i386: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOI386-6678/test Topology Tests failed for Topotest tests on Ubuntu 16.04 i386:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6678/artifact/TOPOI386/ErrorLog/log_topotests.txt Successful on other platforms
Topology Tests memory analysis: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6678/artifact/TOPOU1804/MemoryLeaks/ Warnings Generated during build:Checkout code: Successful with additional warningsTopology tests on Ubuntu 18.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1804-6678/test Topology Tests failed for Topology tests on Ubuntu 18.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6678/artifact/TOPOU1804/ErrorLog/log_topotests.txt Topology tests on Ubuntu 16.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-6678/test Topology Tests failed for Topology tests on Ubuntu 16.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6678/artifact/TOPOU1604/ErrorLog/log_topotests.txt Topotest tests on Ubuntu 16.04 i386: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOI386-6678/test Topology Tests failed for Topotest tests on Ubuntu 16.04 i386:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6678/artifact/TOPOI386/ErrorLog/log_topotests.txt
Warnings Generated during build:Ubuntu 16.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 16.04 amd64 build:
Ubuntu 14.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 14.04 amd64 build:
Ubuntu 16.04 i386 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 16.04 i386 build:
Ubuntu 18.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 18.04 amd64 build:
Debian 8 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 8 amd64 build:
Debian 9 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 9 amd64 build:
CLANG Static Analyzer Summary
New warnings:
Static Analysis warning summary compared to base:
4 Static Analyzer issues remaining.See details at |
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
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-FRRPULLREQ-6683/ This is a comment from an automated CI system. Warnings Generated during build:Checkout code: Successful with additional warnings
Warnings Generated during build:Ubuntu 18.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 18.04 amd64 build:
Ubuntu 16.04 i386 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 16.04 i386 build:
Debian 9 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 9 amd64 build:
Ubuntu 16.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 16.04 amd64 build:
Ubuntu 14.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 14.04 amd64 build:
Debian 8 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 8 amd64 build:
CLANG Static Analyzer Summary
New warnings:
Static Analysis warning summary compared to base:
4 Static Analyzer issues remaining.See details at |
7c83f72
to
c627c5d
Compare
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
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-FRRPULLREQ-6688/ This is a comment from an automated CI system. Warnings Generated during build:Checkout code: Successful with additional warnings
Warnings Generated during build:Debian 8 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 8 amd64 build:
Ubuntu 14.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 14.04 amd64 build:
Ubuntu 16.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 16.04 amd64 build:
Ubuntu 18.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 18.04 amd64 build:
Debian 9 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 9 amd64 build:
Ubuntu 16.04 i386 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 16.04 i386 build:
CLANG Static Analyzer Summary
No Changes in Static Analysis warnings compared to base3 Static Analyzer issues remaining.See details at |
🛑 Basic BGPD CI results: FAILUREResults table
For details, please contact louberger |
Continuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: FailedFreeBSD 11 amd64 build: Failed (click for details)FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI009BUILD/config.status/config.statusMake failed for FreeBSD 11 amd64 build:
OpenBSD 6 amd64 build: Failed (click for details)OpenBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI011BUILD/config.status/config.statusMake failed for OpenBSD 6 amd64 build:
NetBSD 6 amd64 build: Failed (click for details)NetBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI007BUILD/config.status/config.statusMake failed for NetBSD 6 amd64 build:
CentOS 7 amd64 build: Failed (click for details)CentOS 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI005BUILD/config.status/config.statusMake failed for CentOS 7 amd64 build:
Ubuntu 18.04 amd64 build: Failed (click for details)Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/U1804AMD64/config.status/config.statusMake failed for Ubuntu 18.04 amd64 build:
Debian 9 amd64 build: Failed (click for details)Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI021BUILD/config.status/config.statusMake failed for Debian 9 amd64 build:
Ubuntu 16.04 i386 build: Failed (click for details)Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/U1604I386/config.status/config.statusMake failed for Ubuntu 16.04 i386 build:
OmniOS amd64 build: Failed (click for details)OmniOS amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI010BUILD/config.status/config.statusMake failed for OmniOS amd64 build:
NetBSD 7 amd64 build: Failed (click for details)NetBSD 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI012BUILD/config.status/config.statusMake failed for NetBSD 7 amd64 build:
Ubuntu 16.04 amd64 build: Failed (click for details)Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI014BUILD/config.status/config.statusMake failed for Ubuntu 16.04 amd64 build:
CentOS 6 amd64 build: Failed (click for details)CentOS 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI006BUILD/config.status/config.statusMake failed for CentOS 6 amd64 build:
FreeBSD 10 amd64 build: Failed (click for details)FreeBSD 10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI003BUILD/config.status/config.statusMake failed for FreeBSD 10 amd64 build:
Ubuntu 14.04 amd64 build: Failed (click for details)Ubuntu 14.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI001BUILD/config.status/config.statusMake failed for Ubuntu 14.04 amd64 build:
Debian 8 amd64 build: Failed (click for details)Debian 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI008BLD/config.status/config.statusMake failed for Debian 8 amd64 build:
Successful on other platforms
Warnings Generated during build:Checkout code: Successful with additional warningsFreeBSD 11 amd64 build: Failed (click for details)FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI009BUILD/config.status/config.statusMake failed for FreeBSD 11 amd64 build:
OpenBSD 6 amd64 build: Failed (click for details)OpenBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI011BUILD/config.status/config.statusMake failed for OpenBSD 6 amd64 build:
NetBSD 6 amd64 build: Failed (click for details)NetBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI007BUILD/config.status/config.statusMake failed for NetBSD 6 amd64 build:
CentOS 7 amd64 build: Failed (click for details)CentOS 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI005BUILD/config.status/config.statusMake failed for CentOS 7 amd64 build:
Ubuntu 18.04 amd64 build: Failed (click for details)Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/U1804AMD64/config.status/config.statusMake failed for Ubuntu 18.04 amd64 build:
Debian 9 amd64 build: Failed (click for details)Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI021BUILD/config.status/config.statusMake failed for Debian 9 amd64 build:
Ubuntu 16.04 i386 build: Failed (click for details)Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/U1604I386/config.status/config.statusMake failed for Ubuntu 16.04 i386 build:
OmniOS amd64 build: Failed (click for details)OmniOS amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI010BUILD/config.status/config.statusMake failed for OmniOS amd64 build:
NetBSD 7 amd64 build: Failed (click for details)NetBSD 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI012BUILD/config.status/config.statusMake failed for NetBSD 7 amd64 build:
Ubuntu 16.04 amd64 build: Failed (click for details)Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI014BUILD/config.status/config.statusMake failed for Ubuntu 16.04 amd64 build:
CentOS 6 amd64 build: Failed (click for details)CentOS 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI006BUILD/config.status/config.statusMake failed for CentOS 6 amd64 build:
FreeBSD 10 amd64 build: Failed (click for details)FreeBSD 10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI003BUILD/config.status/config.statusMake failed for FreeBSD 10 amd64 build:
Ubuntu 14.04 amd64 build: Failed (click for details)Ubuntu 14.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI001BUILD/config.status/config.statusMake failed for Ubuntu 14.04 amd64 build:
Debian 8 amd64 build: Failed (click for details)Debian 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-6715/artifact/CI008BLD/config.status/config.statusMake failed for Debian 8 amd64 build:
|
fb78578
to
f4ada0e
Compare
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
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-FRRPULLREQ-6718/ This is a comment from an automated CI system. Warnings Generated during build:Debian 8 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 8 amd64 build:
Ubuntu 16.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 16.04 amd64 build:
Ubuntu 18.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 18.04 amd64 build:
Debian 9 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 9 amd64 build:
Ubuntu 14.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 14.04 amd64 build:
Ubuntu 16.04 i386 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 16.04 i386 build:
CLANG Static Analyzer Summary
No Changes in Static Analysis warnings compared to base3 Static Analyzer issues remaining.See details at |
f4ada0e
to
bbd0e75
Compare
The issue I had was that there was inconsistency in vrf creation in a daemon, and the other not. for instance, if I permit to create vrf in ospf, I have to permit it too to rip, otherwise the interface creation will diverge between the two daemons. the investigation will need some more time. I will tark that ticket to wip so that there is no need to review it for each weekly meeting. this may be mitigated that nexthop code path is not used, while the vrf is not enabled by the daemon. but this needs two things, I would say in this ticket:
|
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
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-FRRPULLREQ-6780/ This is a comment from an automated CI system. Warnings Generated during build:Checkout code: Successful with additional warnings
Warnings Generated during build:Debian 8 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 8 amd64 build:
Ubuntu 18.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 18.04 amd64 build:
Debian 9 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 9 amd64 build:
Ubuntu 16.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 16.04 amd64 build:
Ubuntu 14.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 14.04 amd64 build:
Ubuntu 16.04 i386 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 16.04 i386 build:
CLANG Static Analyzer Summary
New warnings:
Static Analysis warning summary compared to base:
4 Static Analyzer issues remaining.See details at |
Let's fix the new sa warning |
pimd/pim_iface.c
Outdated
@@ -1467,7 +1468,7 @@ void pim_if_create_pimreg(struct pim_instance *pim) | |||
snprintf(pimreg_name, sizeof(pimreg_name), "pimreg%u", | |||
pim->vrf->data.l.table_id); | |||
|
|||
pim->regiface = if_create(pimreg_name, pim->vrf_id); | |||
pim->regiface = if_create(pimreg_name, vrf); |
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.
pim->vrf? doesn't this already exist?
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.
yes.simplifying the code
bgpd/bgp_zebra.c
Outdated
@@ -517,7 +517,7 @@ static int bgp_interface_vrf_update(int command, struct zclient *zclient, | |||
} | |||
} | |||
|
|||
if_update_to_new_vrf(ifp, new_vrf_id); | |||
if_update_to_new_vrf(ifp, vrf_get(new_vrf_id, NULL)); |
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.
wouldn't this be better as a vrf_lookup instead of a get? What sequence of events would we move a interface to a vrf that zebra wouldn't have told us about are you expecting here that we need to use a vrf_get?
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.
yes.
ospfd/ospf_zebra.c
Outdated
@@ -374,7 +374,7 @@ static int ospf_interface_vrf_update(int command, struct zclient *zclient, | |||
ospf_vrf_id_to_name(new_vrf_id), new_vrf_id); | |||
|
|||
/*if_update(ifp, ifp->name, strlen(ifp->name), new_vrf_id);*/ | |||
if_update_to_new_vrf(ifp, new_vrf_id); | |||
if_update_to_new_vrf(ifp, vrf_get(new_vrf_id, NULL)); |
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.
Same question here and for pim as well.
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.
ok
@@ -1443,6 +1443,10 @@ struct interface *zebra_interface_add_read(struct stream *s, vrf_id_t vrf_id) | |||
/* Lookup/create interface by name. */ | |||
ifp = if_get_by_name(ifname_tmp, vrf); | |||
|
|||
/* update vrf_id of interface */ |
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'm having a very hard time parsing the commit message for this particular commit. Can you rephrase what you are trying to solve here?
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.
yes. I reviewed it.
to make it simple. the interface logic is : move API from vrf_id to vrf.
bgpd/bgp_zebra.c
Outdated
@@ -802,7 +802,7 @@ bool bgp_zebra_nexthop_set(union sockunion *local, union sockunion *remote, | |||
nexthop->v4 = local->sin.sin_addr; | |||
if (peer->update_if) | |||
ifp = if_lookup_by_name(peer->update_if, | |||
peer->bgp->vrf_id); | |||
vrf_lookup_by_id(peer->bgp->vrf_id)); |
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.
Tabs look wrong here.
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.
ok
@@ -1291,7 +1291,6 @@ static int lib_interface_create(enum nb_event event, | |||
if (vrf->vrf_id == VRF_UNKNOWN) { | |||
zlog_warn("%s: VRF %s is not active", __func__, | |||
vrf->name); | |||
return NB_ERR_VALIDATION; |
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.
@rwestphal is this going to break any of our assumptions?
zebra/if_netlink.c
Outdated
@@ -672,7 +672,7 @@ static int netlink_interface(struct nlmsghdr *h, ns_id_t ns_id, int startup) | |||
if (vrf_is_backend_netns()) | |||
vrf_id = (vrf_id_t)ns_id; | |||
|
|||
vrf = vrf_lookup_by_id(vrf_id); | |||
vrf = vrf_get(vrf_id, NULL); |
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.
What's the sequence of events that leads us to getting interface events for a vrf before we have information about that vrf?
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 don't remember exactly. I think that while testing. I encountered this issue.
I propose to skip this commit for now.
ospfd/ospfd.c
Outdated
@@ -2177,10 +2177,26 @@ static int ospf_vrf_disable(struct vrf *vrf) | |||
return 0; | |||
} | |||
|
|||
static int ospf_vrf_config_write(struct vty *vty) |
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 code breaks some assumptions about how we expect data to be outputed for cli actions, namely we don't display a mode if there is no data in the sub-mode. If you must have a vrf data then cause the router ospf vrf XX
line to auto-create the vrf if it does not exist instead.
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.
ok. I understand your point.
I have no solutio for now, except the following:
For instance, if I want to permit vrf creation on ospfd, I should modify ospf_vrf_new() so as to create a specific context.
Then if that context exists, the vrf will be displayed on the running-config, ( then on startup configuration too).
ok for you?
lib/vrf.c
Outdated
{ | ||
struct vrf *vrf; | ||
|
||
RB_FOREACH (vrf, vrf_name_head, &vrfs_by_name) { |
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.
Again this breaks assumptions about how we do not expect to output modes if they have no sub-mode data.
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.
even daemons that do not have interface node configurable, will have to have those lines.
the reason is that when you are on vtysh, and you try to access interface node, all daemons will be questioned.
and if at least one daemon answers: not possible, then the command will fail from vtysh perspective.
the only way to tackle this problem is:
- either use daemon config node ( by telnet localhost XXX)
- or permit vrf creation for all vrfs that will be on the configuration of at least one daemon.
lib/if.c
Outdated
@@ -1106,7 +1106,7 @@ DEFPY_NOSH (interface, | |||
* interface is found, then a new one should be created on the default | |||
* VRF. | |||
*/ | |||
VRF_GET_INSTANCE(vrf, vrfname, false); | |||
VRF_LOOK_INSTANCE(vrf, vrfname, false); |
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.
The commit comment does not make sense to me given what this commit does, Can you clarify 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.
I was thinking VRF_GET_INSTANCE means: create vrf.
but actually, VRF_GET_ID does just a lookup.
so I propose to remove that commit.
bbd0e75
to
151eac6
Compare
I tried to answer most of the remarks done. |
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
Continuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopology tests on Ubuntu 18.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1804-7094/test Topology Tests failed for Topology tests on Ubuntu 18.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7094/artifact/TOPOU1804/ErrorLog/log_topotests.txt Topology tests on Ubuntu 16.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-7094/test Topology Tests failed for Topology tests on Ubuntu 16.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7094/artifact/TOPOU1604/ErrorLog/log_topotests.txt Topotest tests on Ubuntu 16.04 i386: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOI386-7094/test Topology Tests failed for Topotest tests on Ubuntu 16.04 i386:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7094/artifact/TOPOI386/ErrorLog/log_topotests.txt Successful on other platforms
Topology Tests memory analysis: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7094/artifact/TOPOU1804/MemoryLeaks/ Warnings Generated during build:Checkout code: Successful with additional warningsTopology tests on Ubuntu 18.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1804-7094/test Topology Tests failed for Topology tests on Ubuntu 18.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7094/artifact/TOPOU1804/ErrorLog/log_topotests.txt Topology tests on Ubuntu 16.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-7094/test Topology Tests failed for Topology tests on Ubuntu 16.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7094/artifact/TOPOU1604/ErrorLog/log_topotests.txt Topotest tests on Ubuntu 16.04 i386: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOI386-7094/test Topology Tests failed for Topotest tests on Ubuntu 16.04 i386:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7094/artifact/TOPOI386/ErrorLog/log_topotests.txt
Warnings Generated during build:Ubuntu 16.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 16.04 amd64 build:
Ubuntu 14.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 14.04 amd64 build:
Ubuntu 16.04 i386 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 16.04 i386 build:
Ubuntu 18.04 amd64 build: Successful with additional warningsDebian Package lintian failed for Ubuntu 18.04 amd64 build:
Debian 9 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 9 amd64 build:
CLANG Static Analyzer Summary
1 Static Analyzer issues remaining.See details at |
151eac6
to
a8a9e1b
Compare
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
Continuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopotest tests on Ubuntu 16.04 i386: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOI386-7762/test Topology Tests failed for Topotest tests on Ubuntu 16.04 i386:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7762/artifact/TOPOI386/ErrorLog/log_topotests.txt Topology tests on Ubuntu 16.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-7762/test Topology Tests failed for Topology tests on Ubuntu 16.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7762/artifact/TOPOU1604/ErrorLog/log_topotests.txt Topology tests on Ubuntu 18.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1804-7762/test Topology Tests failed for Topology tests on Ubuntu 18.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7762/artifact/TOPOU1804/ErrorLog/log_topotests.txt Successful on other platforms
Topology Tests memory analysis: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7762/artifact/TOPOI386/MemoryLeaks/ Warnings Generated during build:Checkout code: Successful with additional warningsTopotest tests on Ubuntu 16.04 i386: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOI386-7762/test Topology Tests failed for Topotest tests on Ubuntu 16.04 i386:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7762/artifact/TOPOI386/ErrorLog/log_topotests.txt Topology tests on Ubuntu 16.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-7762/test Topology Tests failed for Topology tests on Ubuntu 16.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7762/artifact/TOPOU1604/ErrorLog/log_topotests.txt Topology tests on Ubuntu 18.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1804-7762/test Topology Tests failed for Topology tests on Ubuntu 18.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7762/artifact/TOPOU1804/ErrorLog/log_topotests.txt
CLANG Static Analyzer Summary
15 Static Analyzer issues remaining.See details at |
c55f92c
to
be07e53
Compare
🛑 Basic BGPD CI results: FAILUREResults table
For details, please contact louberger |
Continuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: FailedDebian 9 amd64 build: Failed (click for details)Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI021BUILD/config.status/config.statusMake failed for Debian 9 amd64 build:
Ubuntu 18.04 ppc64le build: Failed (click for details)Ubuntu 18.04 ppc64le build: config.log output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/U1804PPC64LEBUILD/config.log/ Ubuntu 18.04 ppc64le build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/U1804PPC64LEBUILD/config.status/config.statusMake failed for Ubuntu 18.04 ppc64le build:
OmniOS amd64 build: Failed (click for details)OmniOS amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI010BUILD/config.status/config.statusMake failed for OmniOS amd64 build:
NetBSD 7 amd64 build: Failed (click for details)NetBSD 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI012BUILD/config.status/config.statusMake failed for NetBSD 7 amd64 build:
Ubuntu 16.04 amd64 build: Failed (click for details)Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI014BUILD/config.status/config.statusMake failed for Ubuntu 16.04 amd64 build:
Ubuntu 14.04 amd64 build: Failed (click for details)Ubuntu 14.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI001BUILD/config.status/config.statusMake failed for Ubuntu 14.04 amd64 build:
Ubuntu 16.04 i386 build: Failed (click for details)Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/U1604I386/config.status/config.statusMake failed for Ubuntu 16.04 i386 build:
Debian 8 amd64 build: Failed (click for details)Debian 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI008BLD/config.status/config.statusMake failed for Debian 8 amd64 build:
FreeBSD 11 amd64 build: Failed (click for details)FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI009BUILD/config.status/config.statusMake failed for FreeBSD 11 amd64 build:
CentOS 7 amd64 build: Failed (click for details)CentOS 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI005BUILD/config.status/config.statusMake failed for CentOS 7 amd64 build:
FreeBSD 12 amd64 build: Failed (click for details)FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/FBSD12AMD64/config.status/config.statusMake failed for FreeBSD 12 amd64 build:
Ubuntu 18.04 amd64 build: Failed (click for details)Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/U1804AMD64/config.status/config.statusMake failed for Ubuntu 18.04 amd64 build:
Successful on other platforms
Warnings Generated during build:Checkout code: Successful with additional warningsDebian 9 amd64 build: Failed (click for details)Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI021BUILD/config.status/config.statusMake failed for Debian 9 amd64 build:
Ubuntu 18.04 ppc64le build: Failed (click for details)Ubuntu 18.04 ppc64le build: config.log output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/U1804PPC64LEBUILD/config.log/ Ubuntu 18.04 ppc64le build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/U1804PPC64LEBUILD/config.status/config.statusMake failed for Ubuntu 18.04 ppc64le build:
OmniOS amd64 build: Failed (click for details)OmniOS amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI010BUILD/config.status/config.statusMake failed for OmniOS amd64 build:
NetBSD 7 amd64 build: Failed (click for details)NetBSD 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI012BUILD/config.status/config.statusMake failed for NetBSD 7 amd64 build:
Ubuntu 16.04 amd64 build: Failed (click for details)Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI014BUILD/config.status/config.statusMake failed for Ubuntu 16.04 amd64 build:
Ubuntu 14.04 amd64 build: Failed (click for details)Ubuntu 14.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI001BUILD/config.status/config.statusMake failed for Ubuntu 14.04 amd64 build:
Ubuntu 16.04 i386 build: Failed (click for details)Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/U1604I386/config.status/config.statusMake failed for Ubuntu 16.04 i386 build:
Debian 8 amd64 build: Failed (click for details)Debian 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI008BLD/config.status/config.statusMake failed for Debian 8 amd64 build:
FreeBSD 11 amd64 build: Failed (click for details)FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI009BUILD/config.status/config.statusMake failed for FreeBSD 11 amd64 build:
CentOS 7 amd64 build: Failed (click for details)CentOS 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/CI005BUILD/config.status/config.statusMake failed for CentOS 7 amd64 build:
FreeBSD 12 amd64 build: Failed (click for details)FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/FBSD12AMD64/config.status/config.statusMake failed for FreeBSD 12 amd64 build:
Ubuntu 18.04 amd64 build: Failed (click for details)Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7788/artifact/U1804AMD64/config.status/config.statusMake failed for Ubuntu 18.04 amd64 build:
|
be07e53
to
eb3ffea
Compare
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
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-FRRPULLREQ-7803/ This is a comment from an automated CI system. Warnings Generated during build:Checkout code: Successful with additional warnings
CLANG Static Analyzer Summary
No Changes in Static Analysis warnings compared to base11 Static Analyzer issues remaining.See details at |
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
vrf pointer is used as reference when calling if_get_by_name() function. this will permit to create interfaces with an unknown vrf_id, since it is only necessary to get the vrf structure to store the interfaces. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
if_create() takes as input a vrf poiter instead of the vrf_id parameter. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
eb3ffea
to
bb677b3
Compare
Continuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: FailedDebian 8 amd64 build: Failed (click for details)Debian 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/CI008BLD/config.status/config.statusMake failed for Debian 8 amd64 build:
FreeBSD 12 amd64 build: Failed (click for details)FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/FBSD12AMD64/config.status/config.statusMake failed for FreeBSD 12 amd64 build:
Ubuntu 14.04 amd64 build: Failed (click for details)Ubuntu 14.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/CI001BUILD/config.status/config.statusMake failed for Ubuntu 14.04 amd64 build:
Ubuntu 16.04 amd64 build: Failed (click for details)Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/CI014BUILD/config.status/config.statusMake failed for Ubuntu 16.04 amd64 build:
Ubuntu 18.04 amd64 build: Failed (click for details)Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/U1804AMD64/config.status/config.statusMake failed for Ubuntu 18.04 amd64 build:
Ubuntu 18.04 ppc64le build: Failed (click for details)Ubuntu 18.04 ppc64le build: config.log output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/U1804PPC64LEBUILD/config.log/ Ubuntu 18.04 ppc64le build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/U1804PPC64LEBUILD/config.status/config.statusMake failed for Ubuntu 18.04 ppc64le build:
Debian 9 amd64 build: Failed (click for details)Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/CI021BUILD/config.status/config.statusMake failed for Debian 9 amd64 build:
Ubuntu 16.04 i386 build: Failed (click for details)Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/U1604I386/config.status/config.statusMake failed for Ubuntu 16.04 i386 build:
Fedora 29 amd64 build: Failed (click for details)Fedora 29 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/F29BUILD/config.status/config.statusMake failed for Fedora 29 amd64 build:
Successful on other platforms
Warnings Generated during build:Checkout code: Successful with additional warningsDebian 8 amd64 build: Failed (click for details)Debian 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/CI008BLD/config.status/config.statusMake failed for Debian 8 amd64 build:
FreeBSD 12 amd64 build: Failed (click for details)FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/FBSD12AMD64/config.status/config.statusMake failed for FreeBSD 12 amd64 build:
Ubuntu 14.04 amd64 build: Failed (click for details)Ubuntu 14.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/CI001BUILD/config.status/config.statusMake failed for Ubuntu 14.04 amd64 build:
Ubuntu 16.04 amd64 build: Failed (click for details)Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/CI014BUILD/config.status/config.statusMake failed for Ubuntu 16.04 amd64 build:
Ubuntu 18.04 amd64 build: Failed (click for details)Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/U1804AMD64/config.status/config.statusMake failed for Ubuntu 18.04 amd64 build:
Ubuntu 18.04 ppc64le build: Failed (click for details)Ubuntu 18.04 ppc64le build: config.log output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/U1804PPC64LEBUILD/config.log/ Ubuntu 18.04 ppc64le build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/U1804PPC64LEBUILD/config.status/config.statusMake failed for Ubuntu 18.04 ppc64le build:
Debian 9 amd64 build: Failed (click for details)Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/CI021BUILD/config.status/config.statusMake failed for Debian 9 amd64 build:
Ubuntu 16.04 i386 build: Failed (click for details)Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/U1604I386/config.status/config.statusMake failed for Ubuntu 16.04 i386 build:
Fedora 29 amd64 build: Failed (click for details)Fedora 29 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7999/artifact/F29BUILD/config.status/config.statusMake failed for Fedora 29 amd64 build:
|
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
the vrf_id parameter is replaced by struct vrf * parameter. this impacts most of the daemons that look for an interface based on the name and the vrf identifier. Also, it fixes 2 lookup calls in zebra and sharpd, where the vrf_id was ignored until now. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Upon accessing interface NB API, the interface is created, if the vrf is available. the commit does not change the behaviour, since at this commit, this is not yet possible to have vrf contexts, while zebra did not connect to daemons. However, that commit adds some work, so that it will be possible to work on a vrf context, without having the vrf_id completely resolved. for instance, if we suppose a vrf is created by command 'vrf TOTO' in the starting configuration of a daemon, then 'interface TITI vrf TOTO' will permit to create interface TITI within vrf TOTO. the macro VRF_GET_INSTANCE will return the vrf context, if available or not. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
the interface search is based on vrfs. As at startup, some interfaces may be configured, there is need to have vrfs contexts present. A macro is being appended with an extra parameter that permits create a vrf and return the context. This macro is also used by some show routines, but will not create vrfs, because that extra parameter will be set to false, on that case. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
there may be cases where the vrf is yet allocated from the vty, and the discovery process did not make the relationship between the vrf_id and the name of the vrf. For instance, by parsing an interface belonging to vrf-id X, it is not sure that vrf-id X and vrfname XX are talking about the same vrf. For that, lets allocate the vrf, and lets try to detect there is a duplicate case in vrf, so that the merge can be done without any impact for the user. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
…ew_vrf() api vrf_id parameter is replaced with struct vrf * parameter. It is needed to create vrf structure before entering in the fuction. an error is generated in case the vrf parameter is missing. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
bb677b3
to
e327cd0
Compare
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
Continuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: FailedFreeBSD 12 amd64 build: Failed (click for details)FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8019/artifact/FBSD12AMD64/config.status/config.statusMake failed for FreeBSD 12 amd64 build:
Successful on other platforms
Warnings Generated during build:Checkout code: Successful with additional warningsFreeBSD 12 amd64 build: Failed (click for details)FreeBSD 12 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-8019/artifact/FBSD12AMD64/config.status/config.statusMake failed for FreeBSD 12 amd64 build:
|
Field vrf_id is replaced by the pointer of the struct vrf *. For that all other code referencing to (interface)->vrf_id is replaced. This work should not change the behaviour. It is just a continuation work toward having an interface API handling vrf pointer only. some new generic functions are created in vrf: vrf_to_id, vrf_to_name, a zebra function is also created: zvrf_info_lookup an ospf function is also created: ospf_lookup_by_vrf it is to be noted that now that interface has a vrf pointer, some more optimisations could be thought through all the rest of the code. as example, many structure store the vrf_id. those structures could get the exact vrf structure if inherited from an interface vrf context. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
e327cd0
to
a41c4e1
Compare
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
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-FRRPULLREQ-8023/ This is a comment from an automated CI system. Warnings Generated during build:Checkout code: Successful with additional warnings
CLANG Static Analyzer Summary
No Changes in Static Analysis warnings compared to base4 Static Analyzer issues remaining.See details at |
this pr replaces:
#3747
the interface structure replaces old vrf_id attribute with vrf pointer.
this is done in order to be able to solve #3741