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

bgpd: conditional advertisement #7189

Merged
merged 8 commits into from
Oct 27, 2020

Conversation

maduri111
Copy link
Contributor

Implemented as per the feature description given in the source link.

Descriprion:
The BGP conditional advertisement feature uses the non-exist-map or exist-map
and the advertise-map keywords of the neighbor advertise-map command in order
to track routes by the route prefix.

non-exist-map :
If a route prefix is not present in output of the non-exist-map command, then
the route specified by the advertise-map command is announced.

exist-map :
If a route prefix is present in output of the exist-map command, then the route
specified by the advertise-map command is announced.

The conditional BGP announcements are sent in addition to the normal
announcements that a BGP router sends to its peers.

The conditional advertisement process is triggered by the BGP scanner process,
which runs every 60 seconds. This means that the maximum time for the conditional
advertisement to take effect is 60 seconds. The conditional advertisement can take
effect sooner, depending on when the tracked route is removed from the BGP table
and when the next instance of the BGP scanner occurs.

Sample Configuration on DUT

Router2# show running-config
Building configuration...

Current configuration:
!
frr version 7.6-dev-MyOwnFRRVersion
frr defaults traditional
hostname router
log file /var/log/frr/bgpd.log
log syslog informational
hostname Router2
service integrated-vtysh-config
!
debug bgp updates in
debug bgp updates out
!
debug route-map
!
ip route 130.130.0.0/16 blackhole
!
interface enp0s9
ip address 10.10.10.2/24
!
interface enp0s10
ip address 10.10.20.2/24
!
interface lo
ip address 128.16.16.1/24
!
router bgp 2
bgp log-neighbor-changes
no bgp ebgp-requires-policy
neighbor 10.10.10.1 remote-as 1
neighbor 10.10.20.3 remote-as 3
!
address-family ipv4 unicast
network 128.16.16.0/24
network 130.130.0.0/16
neighbor 10.10.10.1 soft-reconfiguration inbound
neighbor 10.10.10.1 advertise-map ADVERTISE non-exist-map CONDITION
neighbor 10.10.20.3 soft-reconfiguration inbound
exit-address-family
!
access-list 60 seq 5 permit 128.16.16.0/24 exact-match
access-list 65 seq 5 permit 192.168.50.0/24 exact-match
access-list CONDITION seq 5 permit 192.168.50.0/24
access-list ADVERTISE seq 5 permit 128.16.16.0/24
!
route-map ADVERTISE permit 10
match ip address ADVERTISE
!
route-map CONDITION permit 10
match ip address CONDITION
!
line vty
!
end
Router2#

Sample output

Router2# show ip bgp neighbors 10.10.10.1
BGP neighbor is 10.10.10.1, remote AS 1, local AS 2, external link

!--- Output suppressed.

For address family: IPv4 Unicast
Update group 1, subgroup 1
Packet Queue length 0
Inbound soft reconfiguration allowed
Community attribute sent to this neighbor(all)
Condition NON_EXIST, Condition-map *CONDITION, Advertise-map *ADVERTISE, status: Withdraw
1 accepted prefixes

Connections established 1; dropped 0
Last reset 00:21:05, Waiting for peer OPEN

!--- Output suppressed.

Router2#

Router2# show ip bgp
BGP table version is 6, local router ID is 128.16.16.1, vrf id 0
Default local pref 100, local AS 2
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path
*> 128.16.16.0/24 0.0.0.0 0 32768 i
*> 130.130.0.0/16 0.0.0.0 0 32768 i
*> 192.168.50.0/24 10.10.20.3 0 0 3 i
*> 200.200.200.0/24 10.10.10.1 0 0 1 i

Displayed 4 routes and 4 total paths
Router2#

Here 128.16.16.0/24(prefix in advertise-map) is withdrawn by conditional
advertisement scanner as the prefix(192.168.50.0/24) specified by
non-exist-map is present in BGP table.

Router2# show ip bgp neighbors 10.10.10.1 advertised-routes
BGP table version is 6, local router ID is 128.16.16.1, vrf id 0
Default local pref 100, local AS 2
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path
*> 130.130.0.0/16 0.0.0.0 0 32768 i
*> 192.168.50.0/24 0.0.0.0 0 3 i
*> 200.200.200.0/24 0.0.0.0 0 1 i

Total number of prefixes 3
Router2#

After Removing 192.168.50.0/24(prefix present in non-exist-map), prefix present in
advertise-map(128.16.16.0/24) is advertised

Router2# show ip bgp
BGP table version is 7, local router ID is 128.16.16.1, vrf id 0
Default local pref 100, local AS 2
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path
*> 128.16.16.0/24 0.0.0.0 0 32768 i
*> 130.130.0.0/16 0.0.0.0 0 32768 i
*> 200.200.200.0/24 10.10.10.1 0 0 1 i

Displayed 3 routes and 3 total paths
Router2#
Router2#
Router2# show ip bgp neighbors 10.10.10.1 advertised-routes
BGP table version is 7, local router ID is 128.16.16.1, vrf id 0
Default local pref 100, local AS 2
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path
*> 128.16.16.0/24 0.0.0.0 0 32768 i
*> 130.130.0.0/16 0.0.0.0 0 32768 i
*> 200.200.200.0/24 0.0.0.0 0 1 i

Total number of prefixes 3
Router2#
Router2#
Router2#

Signed-off-by: Madhuri Kuruganti k.madhuri@samsung.com

@polychaeta polychaeta added the bgp label Sep 27, 2020
Copy link

@polychaeta polychaeta left a 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/085a125a70429c3b678733b09bfad37d/raw/ea961d3cbbf3168505e8a61dbd45189e35833780/cr_7189_1601249031.diff | git apply

diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h
index b1edf6ef8..f82759b11 100644
--- a/bgpd/bgp_route.h
+++ b/bgpd/bgp_route.h
@@ -430,13 +430,13 @@ struct bgp_aggregate {
 #define UNSUPPRESS_MAP_NAME(F)  ((F)->usmap.name)
 #define UNSUPPRESS_MAP(F)       ((F)->usmap.map)
 
-#define ADVERTISE_MAP_NAME(F)	((F)->advmap.aname)
-#define ADVERTISE_MAP(F)	((F)->advmap.amap)
+#define ADVERTISE_MAP_NAME(F) ((F)->advmap.aname)
+#define ADVERTISE_MAP(F) ((F)->advmap.amap)
 
-#define ADVERTISE_CONDITION(F)	((F)->advmap.condition)
+#define ADVERTISE_CONDITION(F) ((F)->advmap.condition)
 
-#define CONDITION_MAP_NAME(F)	((F)->advmap.cname)
-#define CONDITION_MAP(F)	((F)->advmap.cmap)
+#define CONDITION_MAP_NAME(F) ((F)->advmap.cname)
+#define CONDITION_MAP(F) ((F)->advmap.cmap)
 
 /* path PREFIX (addpath rxid NUMBER) */
 #define PATH_ADDPATH_STR_BUFFER PREFIX2STR_BUFFER + 32
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
index aff1c5a2b..fbaabf5ce 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
@@ -6844,17 +6844,15 @@ static int peer_advertise_map_unset_vty(struct vty *vty, const char *ip_str,
 	return bgp_vty_return(vty, ret);
 }
 
-DEFUN (neighbor_advertise_map,
-       neighbor_advertise_map_cmd,
-       "neighbor <A.B.C.D|X:X::X:X|WORD> advertise-map WORD <exist-map WORD|non-exist-map WORD>",
-       NEIGHBOR_STR
-       NEIGHBOR_ADDR_STR2
-       "Route-map to conditionally advertise routes\n"
-       "Name of advertise map\n"
-       "Advertise routes only if prefixes in exist-map are installed in BGP table\n"
-       "Name of the exist map\n"
-       "Advertise routes only if prefixes in non-exist-map are not installed in BGP table\n"
-       "Name of the non exist map\n")
+DEFUN(neighbor_advertise_map, neighbor_advertise_map_cmd,
+      "neighbor <A.B.C.D|X:X::X:X|WORD> advertise-map WORD <exist-map WORD|non-exist-map WORD>",
+      NEIGHBOR_STR NEIGHBOR_ADDR_STR2
+      "Route-map to conditionally advertise routes\n"
+      "Name of advertise map\n"
+      "Advertise routes only if prefixes in exist-map are installed in BGP table\n"
+      "Name of the exist map\n"
+      "Advertise routes only if prefixes in non-exist-map are not installed in BGP table\n"
+      "Name of the non exist map\n")
 {
 	int idx = 0;
 	int idx_peer = 1;
@@ -6871,28 +6869,26 @@ DEFUN (neighbor_advertise_map,
 		argv[idx_condition_word]->arg);
 }
 
-ALIAS_HIDDEN(neighbor_advertise_map, neighbor_advertise_map_hidden_cmd,
-	     "neighbor <A.B.C.D|X:X::X:X|WORD> advertise-map WORD <exist-map WORD|non-exist-map WORD>",
-	     NEIGHBOR_STR NEIGHBOR_ADDR_STR2
-	     "Route-map to conditionally advertise routes\n"
-	     "Name of advertise map\n"
-	     "Advertise routes only if prefixes in exist-map are installed in BGP table\n"
-	     "Name of the exist map\n"
-	     "Advertise routes only if prefixes in non-exist-map are not installed in BGP table\n"
-	     "Name of the non exist map\n")
-
-DEFUN (no_neighbor_advertise_map,
-       no_neighbor_advertise_map_cmd,
-       "no neighbor <A.B.C.D|X:X::X:X|WORD> advertise-map WORD <exist-map WORD|non-exist-map WORD>",
-       NO_STR
-       NEIGHBOR_STR
-       NEIGHBOR_ADDR_STR2
-       "Route-map to conditionally advertise routes\n"
-       "Name of advertise map\n"
-       "Advertise routes only if prefixes in exist-map are installed in BGP table\n"
-       "Name of the exist map\n"
-       "Advertise routes only if prefixes in non-exist-map are not installed in BGP table\n"
-       "Name of the non exist map\n")
+ALIAS_HIDDEN(
+	neighbor_advertise_map, neighbor_advertise_map_hidden_cmd,
+	"neighbor <A.B.C.D|X:X::X:X|WORD> advertise-map WORD <exist-map WORD|non-exist-map WORD>",
+	NEIGHBOR_STR NEIGHBOR_ADDR_STR2
+	"Route-map to conditionally advertise routes\n"
+	"Name of advertise map\n"
+	"Advertise routes only if prefixes in exist-map are installed in BGP table\n"
+	"Name of the exist map\n"
+	"Advertise routes only if prefixes in non-exist-map are not installed in BGP table\n"
+	"Name of the non exist map\n")
+
+DEFUN(no_neighbor_advertise_map, no_neighbor_advertise_map_cmd,
+      "no neighbor <A.B.C.D|X:X::X:X|WORD> advertise-map WORD <exist-map WORD|non-exist-map WORD>",
+      NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
+      "Route-map to conditionally advertise routes\n"
+      "Name of advertise map\n"
+      "Advertise routes only if prefixes in exist-map are installed in BGP table\n"
+      "Name of the exist map\n"
+      "Advertise routes only if prefixes in non-exist-map are not installed in BGP table\n"
+      "Name of the non exist map\n")
 {
 	int idx = 0;
 	int idx_peer = 2;
@@ -6909,15 +6905,16 @@ DEFUN (no_neighbor_advertise_map,
 		argv[idx_condition_word]->arg);
 }
 
-ALIAS_HIDDEN(no_neighbor_advertise_map, no_neighbor_advertise_map_hidden_cmd,
-	     "no neighbor <A.B.C.D|X:X::X:X|WORD> advertise-map WORD <exist-map WORD|non-exist-map WORD>",
-	     NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
-	     "Route-map to conditionally advertise routes\n"
-	     "Name of advertise map\n"
-	     "Advertise routes only if prefixes in exist-map are installed in BGP table\n"
-	     "Name of the exist map\n"
-	     "Advertise routes only if prefixes in non-exist-map are not installed in BGP table\n"
-	     "Name of the non exist map\n")
+ALIAS_HIDDEN(
+	no_neighbor_advertise_map, no_neighbor_advertise_map_hidden_cmd,
+	"no neighbor <A.B.C.D|X:X::X:X|WORD> advertise-map WORD <exist-map WORD|non-exist-map WORD>",
+	NO_STR NEIGHBOR_STR NEIGHBOR_ADDR_STR2
+	"Route-map to conditionally advertise routes\n"
+	"Name of advertise map\n"
+	"Advertise routes only if prefixes in exist-map are installed in BGP table\n"
+	"Name of the exist map\n"
+	"Advertise routes only if prefixes in non-exist-map are not installed in BGP table\n"
+	"Name of the non exist map\n")
 
 /* Set route-map to the peer. */
 static int peer_route_map_set_vty(struct vty *vty, const char *ip_str,
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index 1264d0dfb..652c6809a 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -4908,7 +4908,7 @@ void peer_port_unset(struct peer *peer)
  * initiates inbound or outbound processing as needed.
  */
 void peer_on_policy_change(struct peer *peer, afi_t afi, safi_t safi,
-				  int outbound)
+			   int outbound)
 {
 	if (outbound) {
 		update_group_adjust_peer(peer_af_find(peer, afi, safi));
diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h
index 5cff254b3..4ef2f841e 100644
--- a/bgpd/bgpd.h
+++ b/bgpd/bgpd.h
@@ -763,8 +763,8 @@ struct bgp_nexthop {
 #define BGP_GTSM_HOPS_CONNECTED 1
 
 /* Advertise map */
-#define CONDITION_NON_EXIST	0
-#define CONDITION_EXIST     	1
+#define CONDITION_NON_EXIST 0
+#define CONDITION_EXIST 1
 
 #include "filter.h"
 
@@ -1375,7 +1375,7 @@ struct peer {
 #define PEER_FT_PREFIX_LIST           (1U << 2) /* prefix-list */
 #define PEER_FT_ROUTE_MAP             (1U << 3) /* route-map */
 #define PEER_FT_UNSUPPRESS_MAP        (1U << 4) /* unsuppress-map */
-#define PEER_FT_ADVERTISE_MAP         (1U << 5) /* advertise-map */
+#define PEER_FT_ADVERTISE_MAP (1U << 5)		/* advertise-map */
 
 	/* ORF Prefix-list */
 	struct prefix_list *orf_plist[AFI_MAX][SAFI_MAX];
@@ -2217,6 +2217,6 @@ DECLARE_HOOK(peer_status_changed, (struct peer * peer), (peer))
 void peer_nsf_stop(struct peer *peer);
 
 extern void peer_on_policy_change(struct peer *peer, afi_t afi, safi_t safi,
-                                  int outbound);
+				  int outbound);
 
 #endif /* _QUAGGA_BGPD_H */

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.

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Sep 27, 2020

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14403/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Failed

OpenBSD 6 amd64 build: Failed (click for details)

Make failed for OpenBSD 6 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14403/artifact/CI011BUILD/ErrorLog/log_make.txt)

copying selected object files to avoid basename conflicts...
In file included from bgpd/bgp_conditional_adv.c:21:
./bgpd/bgp_conditional_adv.h:49:6: error: logical not is only applied to the left hand side of this comparison [-Werror,-Wlogical-not-parentheses]
./bgpd/bgp_conditional_adv.h:49:6: note: add parentheses after the '!' to evaluate the comparison first
./bgpd/bgp_conditional_adv.h:49:6: note: add parentheses around left hand side expression to silence this warning
1 error generated.
gmake[1]: *** [Makefile:7913: bgpd/bgp_conditional_adv.o] Error 1
In file included from bgpd/bgpd.c:57:
./bgpd/bgp_conditional_adv.h:49:6: error: logical not is only applied to the left hand side of this comparison [-Werror,-Wlogical-not-parentheses]

OpenBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14403/artifact/CI011BUILD/config.status/config.status

Successful on other platforms/tests
  • Ubuntu 18.04 amd64 build
  • FreeBSD 12 amd64 build
  • Ubuntu 16.04 arm7 build
  • Debian 8 amd64 build
  • Ubuntu 18.04 ppc64le build
  • Debian 9 amd64 build
  • FreeBSD 11 amd64 build
  • NetBSD 8 amd64 build
  • Ubuntu 18.04 arm7 build
  • CentOS 7 amd64 build
  • Ubuntu 16.04 amd64 build
  • Ubuntu 18.04 arm8 build
  • Ubuntu 20.04 amd64 build
  • Ubuntu 16.04 i386 build
  • Fedora 29 amd64 build
  • Debian 10 amd64 build
  • Ubuntu 16.04 arm8 build

Warnings Generated during build:

Checkout code: Successful with additional warnings
OpenBSD 6 amd64 build: Failed (click for details)

Make failed for OpenBSD 6 amd64 build:
(see full Make log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14403/artifact/CI011BUILD/ErrorLog/log_make.txt)

copying selected object files to avoid basename conflicts...
In file included from bgpd/bgp_conditional_adv.c:21:
./bgpd/bgp_conditional_adv.h:49:6: error: logical not is only applied to the left hand side of this comparison [-Werror,-Wlogical-not-parentheses]
./bgpd/bgp_conditional_adv.h:49:6: note: add parentheses after the '!' to evaluate the comparison first
./bgpd/bgp_conditional_adv.h:49:6: note: add parentheses around left hand side expression to silence this warning
1 error generated.
gmake[1]: *** [Makefile:7913: bgpd/bgp_conditional_adv.o] Error 1
In file included from bgpd/bgpd.c:57:
./bgpd/bgp_conditional_adv.h:49:6: error: logical not is only applied to the left hand side of this comparison [-Werror,-Wlogical-not-parentheses]

OpenBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14403/artifact/CI011BUILD/config.status/config.status

Report for bgp_conditional_adv.c | 40 issues
===============================================
WARNING: Block comments use a trailing */ on a separate line
#26: FILE: /tmp/f1-32177/bgp_conditional_adv.c:26:
+ * traverse each path here. */

WARNING: Block comments use a trailing */ on a separate line
#124: FILE: /tmp/f1-32177/bgp_conditional_adv.c:124:
+		 * command either of them should match (i.e logical OR) */

WARNING: Block comments use a trailing */ on a separate line
#136: FILE: /tmp/f1-32177/bgp_conditional_adv.c:136:
+		 * So we do not need to process the remaining match rules */

WARNING: Block comments use a trailing */ on a separate line
#279: FILE: /tmp/f1-32177/bgp_conditional_adv.c:279:
+			 * non-exist-map) map validation */

WARNING: line over 80 characters
#283: FILE: /tmp/f1-32177/bgp_conditional_adv.c:283:
+			ret = bgp_check_rmap_prefixes_in_bgp_table(table, filter->advmap.cmap);

WARNING: Block comments use a trailing */ on a separate line
#311: FILE: /tmp/f1-32177/bgp_conditional_adv.c:311:
+					 * was advertise. */

WARNING: Block comments use a trailing */ on a separate line
#346: FILE: /tmp/f1-32177/bgp_conditional_adv.c:346:
+					 * was advertise. */

WARNING: Block comments use a trailing */ on a separate line
#395: FILE: /tmp/f1-32177/bgp_conditional_adv.c:395:
+			 * and return value of condition-map validation */

WARNING: Block comments use a trailing */ on a separate line
#402: FILE: /tmp/f1-32177/bgp_conditional_adv.c:402:
+				 * previosly withdrawn routes if needed. */

WARNING: Block comments use a trailing */ on a separate line
#426: FILE: /tmp/f1-32177/bgp_conditional_adv.c:426:
+				 * actual filter status*/
Report for bgp_conditional_adv.h | 36 issues
===============================================
WARNING: please, no space before tabs
#4: FILE: /tmp/f1-32177/bgp_conditional_adv.h:4:
+ * ^I^I       Madhurilatha Kuruganti$

WARNING: Block comments use a trailing */ on a separate line
#48: FILE: /tmp/f1-32177/bgp_conditional_adv.h:48:
+	 * or condition map in deny/any clause. */

WARNING: Block comments use a trailing */ on a separate line
#99: FILE: /tmp/f1-32177/bgp_conditional_adv.h:99:
+				 * advertised through default originate. */

WARNING: function definition argument 'struct peer *' should also have an identifier name
#121: FILE: /tmp/f1-32177/bgp_conditional_adv.h:121:
+extern int bgp_conditional_adv_enable(struct peer *, afi_t, safi_t);

WARNING: function definition argument 'afi_t' should also have an identifier name
#121: FILE: /tmp/f1-32177/bgp_conditional_adv.h:121:
+extern int bgp_conditional_adv_enable(struct peer *, afi_t, safi_t);

WARNING: function definition argument 'safi_t' should also have an identifier name
#121: FILE: /tmp/f1-32177/bgp_conditional_adv.h:121:
+extern int bgp_conditional_adv_enable(struct peer *, afi_t, safi_t);

WARNING: function definition argument 'struct peer *' should also have an identifier name
#122: FILE: /tmp/f1-32177/bgp_conditional_adv.h:122:
+extern int bgp_conditional_adv_disable(struct peer *, afi_t, safi_t);

WARNING: function definition argument 'afi_t' should also have an identifier name
#122: FILE: /tmp/f1-32177/bgp_conditional_adv.h:122:
+extern int bgp_conditional_adv_disable(struct peer *, afi_t, safi_t);

WARNING: function definition argument 'safi_t' should also have an identifier name
#122: FILE: /tmp/f1-32177/bgp_conditional_adv.h:122:
+extern int bgp_conditional_adv_disable(struct peer *, afi_t, safi_t);
Report for bgpd.c | 2 issues
===============================================
< WARNING: Block comments use a trailing */ on a separate line
< #6536: FILE: /tmp/f1-32177/bgpd.c:6536:
Report for bgpd.h | 38 issues
===============================================
< WARNING: please, no space before tabs
< #767: FILE: /tmp/f1-32177/bgpd.h:767:
< WARNING: function definition argument 'afi_t' should also have an identifier name
< #1964: FILE: /tmp/f1-32177/bgpd.h:1964:
< WARNING: function definition argument 'safi_t' should also have an identifier name
< #1964: FILE: /tmp/f1-32177/bgpd.h:1964:
< WARNING: function definition argument 'const char *' should also have an identifier name
< #1964: FILE: /tmp/f1-32177/bgpd.h:1964:
< WARNING: function definition argument 'struct route_map *' should also have an identifier name
< #1964: FILE: /tmp/f1-32177/bgpd.h:1964:
< WARNING: function definition argument 'bool' should also have an identifier name
< #1964: FILE: /tmp/f1-32177/bgpd.h:1964:
< WARNING: function definition argument 'const char *' should also have an identifier name
< #1964: FILE: /tmp/f1-32177/bgpd.h:1964:
< WARNING: function definition argument 'struct route_map *' should also have an identifier name
< #1964: FILE: /tmp/f1-32177/bgpd.h:1964:
< WARNING: function definition argument 'struct peer *' should also have an identifier name
< #1968: FILE: /tmp/f1-32177/bgpd.h:1968:
< WARNING: function definition argument 'afi_t' should also have an identifier name
< #1973: FILE: /tmp/f1-32177/bgpd.h:1973:
< WARNING: function definition argument 'safi_t' should also have an identifier name
< #1973: FILE: /tmp/f1-32177/bgpd.h:1973:
< WARNING: function definition argument 'const char *' should also have an identifier name
< #1973: FILE: /tmp/f1-32177/bgpd.h:1973:
< WARNING: function definition argument 'struct route_map *' should also have an identifier name
< #1973: FILE: /tmp/f1-32177/bgpd.h:1973:
< WARNING: function definition argument 'bool' should also have an identifier name
< #1973: FILE: /tmp/f1-32177/bgpd.h:1973:
< WARNING: function definition argument 'const char *' should also have an identifier name
< #1973: FILE: /tmp/f1-32177/bgpd.h:1973:
< WARNING: function definition argument 'struct route_map *' should also have an identifier name
< #1973: FILE: /tmp/f1-32177/bgpd.h:1973:
< WARNING: function definition argument 'struct peer *' should also have an identifier name
< #1977: FILE: /tmp/f1-32177/bgpd.h:1977:
< ERROR: code indent should use tabs where possible
< #2220: FILE: /tmp/f1-32177/bgpd.h:2220:
< WARNING: please, no spaces at the start of a line
< #2220: FILE: /tmp/f1-32177/bgpd.h:2220:
Report for bgp_vty.c | 2 issues
===============================================
< WARNING: quoted string split across lines
< #11153: FILE: /tmp/f1-32177/bgp_vty.c:11153:

Warnings Generated during build:

Ubuntu 18.04 amd64 build: Successful with additional warnings

Debian Package lintian failed for Ubuntu 18.04 amd64 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14403/artifact/U1804AMD64/ErrorLog/log_lintian.txt)

W: frr source: package-needs-versioned-debhelper-build-depends 10
W: frr source: package-needs-versioned-debhelper-build-depends 10
Ubuntu 18.04 ppc64le build: Successful with additional warnings

Debian Package lintian failed for Ubuntu 18.04 ppc64le build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14403/artifact/U1804PPC64LEBUILD/ErrorLog/log_lintian.txt)

W: frr source: package-needs-versioned-debhelper-build-depends 10
W: frr source: package-needs-versioned-debhelper-build-depends 10
Debian 9 amd64 build: Successful with additional warnings

Debian Package lintian failed for Debian 9 amd64 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14403/artifact/CI021BUILD/ErrorLog/log_lintian.txt)

W: frr source: package-needs-versioned-debhelper-build-depends 10
W: frr source: package-needs-versioned-debhelper-build-depends 10
Ubuntu 18.04 arm7 build: Successful with additional warnings

Debian Package lintian failed for Ubuntu 18.04 arm7 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14403/artifact/U18ARM7BUILD/ErrorLog/log_lintian.txt)

W: frr source: package-needs-versioned-debhelper-build-depends 10
W: frr source: package-needs-versioned-debhelper-build-depends 10
Ubuntu 18.04 arm8 build: Successful with additional warnings

Debian Package lintian failed for Ubuntu 18.04 arm8 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14403/artifact/U18ARM8BUILD/ErrorLog/log_lintian.txt)

W: frr source: package-needs-versioned-debhelper-build-depends 10
W: frr source: package-needs-versioned-debhelper-build-depends 10
Debian 10 amd64 build: Successful with additional warnings

Debian Package lintian failed for Debian 10 amd64 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14403/artifact/DEB10BUILD/ErrorLog/log_lintian.txt)

W: frr source: package-needs-versioned-debhelper-build-depends 10
W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr source: package-needs-versioned-debhelper-build-depends 10
W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr-rpki-rtrlib: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20200927-00-g021212dfa-0 (missing) -> 7.6-dev-20200927-00-g021212dfa-0~deb10u1
W: frr-doc: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20200927-00-g021212dfa-0 (missing) -> 7.6-dev-20200927-00-g021212dfa-0~deb10u1
W: frr: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20200927-00-g021212dfa-0 (missing) -> 7.6-dev-20200927-00-g021212dfa-0~deb10u1
W: frr-snmp: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20200927-00-g021212dfa-0 (missing) -> 7.6-dev-20200927-00-g021212dfa-0~deb10u1
W: frr-pythontools: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20200927-00-g021212dfa-0 (missing) -> 7.6-dev-20200927-00-g021212dfa-0~deb10u1

@rzalamena rzalamena self-requested a review September 28, 2020 00:34
@LabN-CI
Copy link
Collaborator

LabN-CI commented Sep 28, 2020

Outdated results 💚

Basic BGPD CI results: SUCCESS, 0 tests failed

_ _
Result SUCCESS git merge/7189 021212d
Date 09/27/2020
Start 20:11:08
Finish 20:37:02
Run-Time 25:54
Total 1815
Pass 1815
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2020-09-27-20:11:08.txt
Log autoscript-2020-09-27-20:12:07.log.bz2
Memory 493 500 426

For details, please contact louberger

Copy link
Member

@rzalamena rzalamena left a comment

Choose a reason for hiding this comment

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

Code looks good, but the PR itself lacks some items:

  1. Documentation
  2. Tests

I added some comments to help clarifying some parts.

bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
bgpd/bgp_conditional_adv.h Outdated Show resolved Hide resolved
bgpd/bgpd.c Outdated Show resolved Hide resolved
bgpd/bgpd.c Outdated Show resolved Hide resolved
bgpd/bgpd.c Outdated Show resolved Hide resolved
bgpd/bgp_conditional_adv.h Outdated Show resolved Hide resolved
Copy link
Member

@ton31337 ton31337 left a comment

Choose a reason for hiding this comment

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

The code more or less looks good, just some questions from me. Docs+topotests are missing. CI warnings must be addressed as well.

bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
bgpd/bgp_conditional_adv.h Outdated Show resolved Hide resolved
bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
bgpd/bgp_conditional_adv.c Show resolved Hide resolved
bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
bgpd/bgpd.h Show resolved Hide resolved
bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
@donaldsharp
Copy link
Member

This is 1k of change in 1 commit. Is there any way that this commit could be broken up into smaller logical units? I am also going to echo the doc + topotest changes. We must have them before this code change can be accepted.

@maduri111
Copy link
Contributor Author

The code more or less looks good, just some questions from me. Docs+topotests are missing. CI warnings must be addressed as well.

Sure will do that.

@maduri111
Copy link
Contributor Author

This is 1k of change in 1 commit. Is there any way that this commit could be broken up into smaller logical units? I am also going to echo the doc + topotest changes. We must have them before this code change can be accepted.

Ok. Will try to send asap. Thanks!

@LabN-CI
Copy link
Collaborator

LabN-CI commented Sep 30, 2020

Outdated results 💚

Basic BGPD CI results: SUCCESS, 0 tests failed

_ _
Result SUCCESS git merge/7189 2d1c29a
Date 09/29/2020
Start 19:41:27
Finish 20:07:34
Run-Time 26:07
Total 1815
Pass 1815
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2020-09-29-19:41:27.txt
Log autoscript-2020-09-29-19:42:34.log.bz2
Memory 449 495 425

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Sep 30, 2020

Continuous Integration Result: SUCCESSFUL

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14436/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Warnings Generated during build:

Debian 10 amd64 build: Successful with additional warnings

Debian Package lintian failed for Debian 10 amd64 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14436/artifact/DEB10BUILD/ErrorLog/log_lintian.txt)

W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr-doc: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20200929-01-g2d1c29a00-0 (missing) -> 7.6-dev-20200929-01-g2d1c29a00-0~deb10u1
W: frr: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20200929-01-g2d1c29a00-0 (missing) -> 7.6-dev-20200929-01-g2d1c29a00-0~deb10u1
W: frr-pythontools: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20200929-01-g2d1c29a00-0 (missing) -> 7.6-dev-20200929-01-g2d1c29a00-0~deb10u1
W: frr-snmp: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20200929-01-g2d1c29a00-0 (missing) -> 7.6-dev-20200929-01-g2d1c29a00-0~deb10u1
W: frr-rpki-rtrlib: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20200929-01-g2d1c29a00-0 (missing) -> 7.6-dev-20200929-01-g2d1c29a00-0~deb10u1

CLANG Static Analyzer Summary

  • Github Pull Request 7189, comparing to Git base SHA b0b19fd
  • Base image data for Git b0b19fd does not exist - compare skipped

2 Static Analyzer issues remaining.

See details at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14436/artifact/shared/static_analysis/index.html

@maduri111 maduri111 force-pushed the bgpd-conditional-adv branch from 2d1c29a to 9bbb509 Compare October 1, 2020 21:03
@maduri111
Copy link
Contributor Author

This is 1k of change in 1 commit. Is there any way that this commit could be broken up into smaller logical units? I am also going to echo the doc + topotest changes. We must have them before this code change can be accepted.

@donaldsharp
To split the patch into smaller logical units, Do I need to revert the patch and commit the changes in smaller chunks ?
Please let me know the correct way.

@LabN-CI
Copy link
Collaborator

LabN-CI commented Oct 1, 2020

Outdated results 💚

Basic BGPD CI results: SUCCESS, 0 tests failed

_ _
Result SUCCESS git merge/7189 9bbb509
Date 10/01/2020
Start 17:37:39
Finish 18:03:46
Run-Time 26:07
Total 1815
Pass 1815
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2020-10-01-17:37:39.txt
Log autoscript-2020-10-01-17:38:41.log.bz2
Memory 476 500 426

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Oct 1, 2020

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14487/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Successful

Basic Tests: Failed

Topo tests part 0 on Ubuntu 18.04 arm8: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO0U18ARM8-14487/test

Topology Tests failed for Topo tests part 0 on Ubuntu 18.04 arm8
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14487/artifact/TOPO0U18ARM8/ErrorLog/log_topotests.txt

Successful on other platforms/tests
  • Topo tests part 2 on Ubuntu 18.04 arm8
  • Topo tests part 0 on Ubuntu 18.04 amd64
  • Topo tests part 2 on Ubuntu 16.04 i386
  • Topo tests part 2 on Ubuntu 18.04 amd64
  • Debian 10 deb pkg check
  • Topo tests part 2 on Ubuntu 16.04 amd64
  • Ubuntu 16.04 deb pkg check
  • Topo tests part 1 on Ubuntu 16.04 i386
  • Addresssanitizer topotests part 0
  • IPv4 ldp protocol on Ubuntu 18.04
  • Ubuntu 18.04 deb pkg check
  • Ubuntu 20.04 deb pkg check
  • Debian 9 deb pkg check
  • Topo tests part 0 on Ubuntu 16.04 i386
  • Topo tests part 1 on Ubuntu 18.04 amd64
  • Static analyzer (clang)
  • CentOS 7 rpm pkg check
  • Addresssanitizer topotests part 1
  • IPv6 protocols on Ubuntu 18.04
  • Addresssanitizer topotests part 2
  • Topo tests part 1 on Ubuntu 16.04 amd64
  • Fedora 29 rpm pkg check
  • Debian 8 deb pkg check
  • IPv4 protocols on Ubuntu 18.04
  • Topo tests part 0 on Ubuntu 16.04 amd64
  • Topo tests part 1 on Ubuntu 18.04 arm8

Warnings Generated during build:

Debian 10 amd64 build: Successful with additional warnings

Debian Package lintian failed for Debian 10 amd64 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14487/artifact/DEB10BUILD/ErrorLog/log_lintian.txt)

W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr-snmp: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201001-01-g9bbb509d6-0 (missing) -> 7.6-dev-20201001-01-g9bbb509d6-0~deb10u1
W: frr: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201001-01-g9bbb509d6-0 (missing) -> 7.6-dev-20201001-01-g9bbb509d6-0~deb10u1
W: frr-doc: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201001-01-g9bbb509d6-0 (missing) -> 7.6-dev-20201001-01-g9bbb509d6-0~deb10u1
W: frr-rpki-rtrlib: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201001-01-g9bbb509d6-0 (missing) -> 7.6-dev-20201001-01-g9bbb509d6-0~deb10u1
W: frr-pythontools: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201001-01-g9bbb509d6-0 (missing) -> 7.6-dev-20201001-01-g9bbb509d6-0~deb10u1

@mwinter-osr
Copy link
Member

@maduri111 To fix the errors in the topotests, please rebase to latest master. A few fixes just got merged into master which should resolve these issues

@maduri111 maduri111 force-pushed the bgpd-conditional-adv branch from 9bbb509 to 57d2546 Compare October 2, 2020 07:23
@maduri111
Copy link
Contributor Author

@maduri111 To fix the errors in the topotests, please rebase to latest master. A few fixes just got merged into master which should resolve these issues

Done. Thank you

@LabN-CI
Copy link
Collaborator

LabN-CI commented Oct 2, 2020

Outdated results 💚

Basic BGPD CI results: SUCCESS, 0 tests failed

_ _
Result SUCCESS git merge/7189 57d2546
Date 10/02/2020
Start 03:26:26
Finish 03:52:29
Run-Time 26:03
Total 1815
Pass 1815
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2020-10-02-03:26:26.txt
Log autoscript-2020-10-02-03:27:25.log.bz2
Memory 482 476 429

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Oct 2, 2020

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14497/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Successful

Basic Tests: Failed

Topo tests part 0 on Ubuntu 16.04 i386: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOI386-14497/test

Topology Tests failed for Topo tests part 0 on Ubuntu 16.04 i386:

*** defaultIntf: warning: r1 has no interfaces
2020-10-02 10:07:10,339 ERROR: 'router_json_cmp' failed after 113.45 seconds
2020-10-02 10:07:10,342 ERROR: assert failed at "bgp_vrf_lite_ipv6_rtadv.test_bgp_vrf_lite_ipv6_rtadv/test_protocols_convergence": "r1" JSON output mismatches
assert Generated JSON diff error report:
  
  > $->10.254.254.2/32: d2 has the following element at index 0 which is not present in d1: 
  
  	{
  	    "vrfId": 3,
  	    "distance": 20,
  	    "destSelected": true,
  	    "protocol": "bgp",
  	    "metric": 0,
  	    "selected": true,
  	    "installed": true,
  	    "prefix": "10.254.254.2/32",
  	    "nexthops": [
  	        {
  	            "fib": true,
  	            "active": true,
  	            "flags": 3,
  	            "afi": "ipv6",
  	            "interfaceName": "r1-eth0"
  	        }
  	    ]
  	}
  
  	Closest match in d1 is at index 0 with the following errors: 
  
  	> $->10.254.254.2/32[0]->vrfId: d1 has element with value '6' but in d2 it has value '3'
  
  > $->10.254.254.1/32: d2 has the following element at index 0 which is not present in d1: 
  
  	{
  	    "vrfId": 3,
  	    "distance": 0,
  	    "destSelected": true,
  	    "protocol": "connected",
  	    "metric": 0,
  	    "selected": true,
  	    "installed": true,
  	    "prefix": "10.254.254.1/32",
  	    "nexthops": [
  	        {
  	            "fib": true,
  	            "active": true,
  	            "directlyConnected": true,
  	            "flags": 3,
  	            "interfaceName": "loop1"
  	        }
  	    ]
  	}
  
  	Closest match in d1 is at index 0 with the following errors: 
  
  	> $->10.254.254.1/32[0]->vrfId: d1 has element with value '6' but in d2 it has value '3'
  
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
2020-10-02 10:09:23,969 ERROR: 'router_json_cmp' failed after 85.52 seconds
2020-10-02 10:09:23,972 ERROR: assert failed at "test_isis_sr_topo1/test_isis_adjacencies_step1": "rt1" JSON output mismatches the expected result
assert Generated JSON diff error report:
  
  > $->frr-interface:lib->interface: d2 has the following element at index 0 which is not present in d1: 
  
  	{
  	    "state": {
  	        "frr-isisd:isis": {
  	            "adjacencies": {
  	                "adjacency": [
  	                    {
  	                        "neighbor-priority": 64,
  	                        "neighbor-sysid": "0000.0000.0003",
  	                        "neighbor-sys-type": "level-1",
  	                        "neighbor-extended-circuit-id": 2,
  	                        "hold-timer": 9,
  	                        "state": "up"
  	                    },
  	                    {
  	                        "neighbor-priority": 64,
  	                        "neighbor-sysid": "0000.0000.0002",
  	                        "neighbor-sys-type": "level-1",
  	                        "neighbor-extended-circuit-id": 2,
  	                        "hold-timer": 9,
  	                        "state": "up"
  	                    }
  	                ]
  	            }
  	        }
  	    },
  	    "name": "eth-sw1",
  	    "vrf": "default"
  	}
  
  	Closest match in d1 is at index 0 with the following errors: 
  
  	> $->frr-interface:lib->interface[0]->state: d2 has key 'frr-isisd:isis' which is not present in d1
  	> $->frr-interface:lib->interface[0]->name: d1 has element with value 'erspan0' but in d2 it has value 'eth-sw1'
  
2020-10-02 10:10:53,895 ERROR: assert failed at "test_isis_topo1_vrf/test_isis_route_installation": Router 'r4' routes mismatch
assert Generated JSON diff error report:
  
  > $->10.0.10.0/24: d2 has the following element at index 0 which is not present in d1: 
  
  	{
  	    "vrfId": 4,
  	    "vrfName": "r4-cust1",
  	    "metric": 20,
  	    "selected": true,
  	    "prefix": "10.0.10.0/24",
  	    "protocol": "isis",
  	    "nexthops": [
  	        {
  	            "active": true,
  	            "fib": true,
  	            "interfaceName": "r4-eth1",
  	            "afi": "ipv4",
  	            "ip": "10.0.11.1"
  	        }
  	    ]
  	}
  
  	Closest match in d1 is at index 0 with the following errors: 
  
  	> $->10.0.10.0/24[0]->vrfId: d1 has element with value '7' but in d2 it has value '4'
  
  > $->10.0.11.0/24: d2 has the following element at index 0 which is not present in d1: 
  
  	{
  	    "vrfId": 4,
  	    "protocol": "isis",
  	    "prefix": "10.0.11.0/24",
  	    "vrfName": "r4-cust1",
  	    "nexthops": [
  	        {
  	            "ip": "10.0.11.1",
  	            "afi": "ipv4",
  	            "interfaceName": "r4-eth1"
  	        }
  	    ]
  	}
  
  	Closest match in d1 is at index 0 with the following errors: 
  
  	> $->10.0.11.0/24[0]->vrfId: d1 has element with value '7' but in d2 it has value '4'
  
  > $->10.0.11.0/24: d2 has the following element at index 1 which is not present in d1: 
  
  	{
  	    "vrfId": 4,
  	    "protocol": "connected",
  	    "selected": true,
  	    "prefix": "10.0.11.0/24",
  	    "vrfName": "r4-cust1",
  	    "nexthops": [
  	        {
  	            "active": true,
  	            "fib": true,
  	            "directlyConnected": true,
  	            "interfaceName": "r4-eth1"
  	        }
  	    ]
  	}
  
  	Closest match in d1 is at index 1 with the following errors: 
  
  	> $->10.0.11.0/24[1]->vrfId: d1 has element with value '7' but in d2 it has value '4'
  
  > $->10.0.21.0/24: d2 has the following element at index 0 which is not present in d1: 
  
  	{
  	    "vrfId": 4,
  	    "protocol": "isis",
  	    "prefix": "10.0.21.0/24",
  	    "vrfName": "r4-cust1",
  	    "nexthops": [
  	        {
  	            "ip": "10.0.21.2",
  	            "afi": "ipv4",
  	            "interfaceName": "r4-eth0"
  	        }
  	    ]
  	}
  
  	Closest match in d1 is at index 0 with the following errors: 
  
  	> $->10.0.21.0/24[0]->vrfId: d1 has element with value '7' but in d2 it has value '4'
  
  > $->10.0.21.0/24: d2 has the following element at index 1 which is not present in d1: 
  
  	{
  	    "vrfId": 4,
  	    "protocol": "connected",
  	    "selected": true,
  	    "prefix": "10.0.21.0/24",
  	    "vrfName": "r4-cust1",
  	    "nexthops": [
  	        {
  	            "active": true,
  	            "fib": true,
  	            "directlyConnected": true,
  	            "interfaceName": "r4-eth0"
  	        }
  	    ]
  	}
  
  	Closest match in d1 is at index 1 with the following errors: 
  
  	> $->10.0.21.0/24[1]->vrfId: d1 has element with value '7' but in d2 it has value '4'
  
  > $->10.0.20.0/24: d2 has the following element at index 0 which is not present in d1: 
  
  	{
  	    "vrfId": 4,
  	    "protocol": "isis",
  	    "selected": true,
  	    "prefix": "10.0.20.0/24",
  	    "vrfName": "r4-cust1",
  	    "nexthops": [
  	        {
  	            "active": true,
  	            "fib": true,
  	            "interfaceName": "r4-eth1",
  	            "afi": "ipv4",
  	            "ip": "10.0.11.1"
  	        }
  	    ]
  	}
  
  	Closest match in d1 is at index 0 with the following errors: 
  
  	> $->10.0.20.0/24[0]->vrfId: d1 has element with value '7' but in d2 it has value '4'
  
2020-10-02 10:13:56,281 WARNING: ['Area 1:', ' Interface: r1-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.1/24', ' IPv6 Link-Locals:', ' fe80::689e:d6ff:feef:5562/64', '', ' Interface: r1-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.1/24', ' IPv6 Link-Locals:', ' fe80::846c:81ff:fe50:5349/64']
2020-10-02 10:13:56,281 WARNING: {'1': {'r1-eth1': [{'metric': '10', 'level': 'Level-1'}], 'r1-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:13:56,471 WARNING: ['Area 1:', ' Interface: r2-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.2/24', ' IPv6 Link-Locals:', ' fe80::a075:65ff:fef2:e4d2/64', '', ' Interface: r2-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.2/24', ' IPv6 Link-Locals:', ' fe80::e4bc:4aff:fe1e:f08b/64']
2020-10-02 10:13:56,472 WARNING: {'1': {'r2-eth1': [{'metric': '10', 'level': 'Level-1'}], 'r2-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:13:56,664 WARNING: ['Area 1:', ' Interface: r3-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.3/24', ' IPv6 Link-Locals:', ' fe80::3011:2dff:fe4b:cd82/64', '', ' Interface: r3-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.3/24', ' IPv6 Link-Locals:', ' fe80::b058:d6ff:feae:1c8c/64']
2020-10-02 10:13:56,664 WARNING: {'1': {'r3-eth2': [{'metric': '10', 'level': 'Level-1'}], 'r3-eth1': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:14:13,446 WARNING: ['Area 1:', ' Interface: r1-eth1, State: Config, Active, Circuit Id: 0x0', ' Type: Unknown, Level: L1', ' Level-1 Information:', ' Metric: 16777214, Active neighbors: 0', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', '', ' Interface: r1-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.1/24', ' IPv6 Link-Locals:', ' fe80::846c:81ff:fe50:5349/64']
2020-10-02 10:14:13,446 WARNING: {'1': {'r1-eth1': [{'metric': '16777214', 'level': 'Level-1'}], 'r1-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:14:13,649 WARNING: ['Area 1:', ' Interface: r2-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 16777214, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.2/24', ' IPv6 Link-Locals:', ' fe80::a075:65ff:fef2:e4d2/64', '', ' Interface: r2-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.2/24', ' IPv6 Link-Locals:', ' fe80::e4bc:4aff:fe1e:f08b/64']
2020-10-02 10:14:13,649 WARNING: {'1': {'r2-eth1': [{'metric': '16777214', 'level': 'Level-1'}], 'r2-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:14:13,862 WARNING: ['Area 1:', ' Interface: r3-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.3/24', ' IPv6 Link-Locals:', ' fe80::3011:2dff:fe4b:cd82/64', '', ' Interface: r3-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.3/24', ' IPv6 Link-Locals:', ' fe80::b058:d6ff:feae:1c8c/64']
2020-10-02 10:14:13,862 WARNING: {'1': {'r3-eth2': [{'metric': '10', 'level': 'Level-1'}], 'r3-eth1': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:14:30,031 WARNING: ['Area 1:', ' Interface: r1-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.1/24', ' IPv6 Link-Locals:', ' fe80::689e:d6ff:feef:5562/64', '', ' Interface: r1-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.1/24', ' IPv6 Link-Locals:', ' fe80::846c:81ff:fe50:5349/64']
2020-10-02 10:14:30,031 WARNING: {'1': {'r1-eth1': [{'metric': '10', 'level': 'Level-1'}], 'r1-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:14:30,219 WARNING: ['Area 1:', ' Interface: r2-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.2/24', ' IPv6 Link-Locals:', ' fe80::a075:65ff:fef2:e4d2/64', '', ' Interface: r2-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.2/24', ' IPv6 Link-Locals:', ' fe80::e4bc:4aff:fe1e:f08b/64']
2020-10-02 10:14:30,220 WARNING: {'1': {'r2-eth1': [{'metric': '10', 'level': 'Level-1'}], 'r2-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:14:30,407 WARNING: ['Area 1:', ' Interface: r3-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.3/24', ' IPv6 Link-Locals:', ' fe80::3011:2dff:fe4b:cd82/64', '', ' Interface: r3-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.3/24', ' IPv6 Link-Locals:', ' fe80::b058:d6ff:feae:1c8c/64']
2020-10-02 10:14:30,407 WARNING: {'1': {'r3-eth2': [{'metric': '10', 'level': 'Level-1'}], 'r3-eth1': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:14:45,128 WARNING: ['Area 1:', ' Interface: r1-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 16777214, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.1/24', ' IPv6 Link-Locals:', ' fe80::689e:d6ff:feef:5562/64', '', ' Interface: r1-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.1/24', ' IPv6 Link-Locals:', ' fe80::846c:81ff:fe50:5349/64']
2020-10-02 10:14:45,128 WARNING: {'1': {'r1-eth1': [{'metric': '16777214', 'level': 'Level-1'}], 'r1-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:14:45,332 WARNING: ['Area 1:', ' Interface: r2-eth1, State: Config, Active, Circuit Id: 0x0', ' Type: Unknown, Level: L1', ' Level-1 Information:', ' Metric: 16777214, Active neighbors: 0', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', '', ' Interface: r2-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.2/24', ' IPv6 Link-Locals:', ' fe80::e4bc:4aff:fe1e:f08b/64']
2020-10-02 10:14:45,333 WARNING: {'1': {'r2-eth1': [{'metric': '16777214', 'level': 'Level-1'}], 'r2-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:14:45,542 WARNING: ['Area 1:', ' Interface: r3-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.3/24', ' IPv6 Link-Locals:', ' fe80::3011:2dff:fe4b:cd82/64', '', ' Interface: r3-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.3/24', ' IPv6 Link-Locals:', ' fe80::b058:d6ff:feae:1c8c/64']
2020-10-02 10:14:45,542 WARNING: {'1': {'r3-eth2': [{'metric': '10', 'level': 'Level-1'}], 'r3-eth1': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:15:01,851 WARNING: ['Area 1:', ' Interface: r1-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.1/24', ' IPv6 Link-Locals:', ' fe80::689e:d6ff:feef:5562/64', '', ' Interface: r1-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.1/24', ' IPv6 Link-Locals:', ' fe80::846c:81ff:fe50:5349/64']
2020-10-02 10:15:01,851 WARNING: {'1': {'r1-eth1': [{'metric': '10', 'level': 'Level-1'}], 'r1-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:15:02,046 WARNING: ['Area 1:', ' Interface: r2-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.2/24', ' IPv6 Link-Locals:', ' fe80::a075:65ff:fef2:e4d2/64', '', ' Interface: r2-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.2/24', ' IPv6 Link-Locals:', ' fe80::e4bc:4aff:fe1e:f08b/64']
2020-10-02 10:15:02,046 WARNING: {'1': {'r2-eth1': [{'metric': '10', 'level': 'Level-1'}], 'r2-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-02 10:15:02,241 WARNING: ['Area 1:', ' Interface: r3-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.3/24', ' IPv6 Link-Locals:', ' fe80::3011:2dff:fe4b:cd82/64', '', ' Interface: r3-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.3/24', ' IPv6 Link-Locals:', ' fe80::b058:d6ff:feae:1c8c/64']
2020-10-02 10:15:02,241 WARNING: {'1': {'r3-eth2': [{'metric': '10', 'level': 'Level-1'}], 'r3-eth1': [{'metric': '10', 'level': 'Level-1'}]}}

see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14497/artifact/TOPOI386/ErrorLog/log_topotests.txt

Successful on other platforms/tests
  • Debian 9 deb pkg check
  • Topo tests part 0 on Ubuntu 18.04 arm8
  • Static analyzer (clang)
  • Topo tests part 2 on Ubuntu 18.04 arm8
  • Topo tests part 2 on Ubuntu 16.04 i386
  • Topo tests part 0 on Ubuntu 18.04 amd64
  • Ubuntu 18.04 deb pkg check
  • Topo tests part 1 on Ubuntu 18.04 amd64
  • Ubuntu 20.04 deb pkg check
  • Addresssanitizer topotests part 1
  • Debian 10 deb pkg check
  • CentOS 7 rpm pkg check
  • Addresssanitizer topotests part 0
  • Topo tests part 2 on Ubuntu 18.04 amd64
  • IPv4 ldp protocol on Ubuntu 18.04
  • Topo tests part 2 on Ubuntu 16.04 amd64
  • Addresssanitizer topotests part 2
  • Fedora 29 rpm pkg check
  • IPv4 protocols on Ubuntu 18.04
  • Topo tests part 1 on Ubuntu 18.04 arm8
  • Topo tests part 1 on Ubuntu 16.04 amd64
  • IPv6 protocols on Ubuntu 18.04
  • Topo tests part 1 on Ubuntu 16.04 i386
  • Ubuntu 16.04 deb pkg check
  • Debian 8 deb pkg check
  • Topo tests part 0 on Ubuntu 16.04 amd64

Warnings Generated during build:

Debian 10 amd64 build: Successful with additional warnings

Debian Package lintian failed for Debian 10 amd64 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14497/artifact/DEB10BUILD/ErrorLog/log_lintian.txt)

W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr-rpki-rtrlib: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201002-01-g57d254618-0 (missing) -> 7.6-dev-20201002-01-g57d254618-0~deb10u1
W: frr: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201002-01-g57d254618-0 (missing) -> 7.6-dev-20201002-01-g57d254618-0~deb10u1
W: frr-snmp: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201002-01-g57d254618-0 (missing) -> 7.6-dev-20201002-01-g57d254618-0~deb10u1
W: frr-doc: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201002-01-g57d254618-0 (missing) -> 7.6-dev-20201002-01-g57d254618-0~deb10u1
W: frr-pythontools: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201002-01-g57d254618-0 (missing) -> 7.6-dev-20201002-01-g57d254618-0~deb10u1

@maduri111 maduri111 force-pushed the bgpd-conditional-adv branch from 57d2546 to ba5e6f8 Compare October 2, 2020 10:14
@LabN-CI
Copy link
Collaborator

LabN-CI commented Oct 2, 2020

Outdated results 💚

Basic BGPD CI results: SUCCESS, 0 tests failed

_ _
Result SUCCESS git merge/7189 ba5e6f8
Date 10/02/2020
Start 06:22:35
Finish 06:48:41
Run-Time 26:06
Total 1815
Pass 1815
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2020-10-02-06:22:35.txt
Log autoscript-2020-10-02-06:23:33.log.bz2
Memory 473 475 427

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Oct 2, 2020

Continuous Integration Result: SUCCESSFUL

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14505/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Warnings Generated during build:

Debian 10 amd64 build: Successful with additional warnings

Debian Package lintian failed for Debian 10 amd64 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14505/artifact/DEB10BUILD/ErrorLog/log_lintian.txt)

W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201002-03-gba5e6f881-0 (missing) -> 7.6-dev-20201002-03-gba5e6f881-0~deb10u1
W: frr-pythontools: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201002-03-gba5e6f881-0 (missing) -> 7.6-dev-20201002-03-gba5e6f881-0~deb10u1
W: frr-rpki-rtrlib: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201002-03-gba5e6f881-0 (missing) -> 7.6-dev-20201002-03-gba5e6f881-0~deb10u1
W: frr-doc: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201002-03-gba5e6f881-0 (missing) -> 7.6-dev-20201002-03-gba5e6f881-0~deb10u1
W: frr-snmp: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201002-03-gba5e6f881-0 (missing) -> 7.6-dev-20201002-03-gba5e6f881-0~deb10u1

bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
bgpd/bgp_conditional_adv.c Outdated Show resolved Hide resolved
@LabN-CI
Copy link
Collaborator

LabN-CI commented Oct 23, 2020

💚 Basic BGPD CI results: SUCCESS, 0 tests failed

Results table
_ _
Result SUCCESS git merge/7189 0db41ae
Date 10/23/2020
Start 17:24:39
Finish 17:50:49
Run-Time 26:10
Total 1815
Pass 1815
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2020-10-23-17:24:39.txt
Log autoscript-2020-10-23-17:25:43.log.bz2
Memory 477 491 428

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14957/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Warnings Generated during build:

Debian 10 amd64 build: Successful with additional warnings

Debian Package lintian failed for Debian 10 amd64 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14957/artifact/DEB10BUILD/ErrorLog/log_lintian.txt)

W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201023-22-g0db41ae6a-0 (missing) -> 7.6-dev-20201023-22-g0db41ae6a-0~deb10u1
W: frr-pythontools: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201023-22-g0db41ae6a-0 (missing) -> 7.6-dev-20201023-22-g0db41ae6a-0~deb10u1
W: frr-snmp: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201023-22-g0db41ae6a-0 (missing) -> 7.6-dev-20201023-22-g0db41ae6a-0~deb10u1
W: frr-doc: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201023-22-g0db41ae6a-0 (missing) -> 7.6-dev-20201023-22-g0db41ae6a-0~deb10u1
W: frr-rpki-rtrlib: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201023-22-g0db41ae6a-0 (missing) -> 7.6-dev-20201023-22-g0db41ae6a-0~deb10u1

@maduri111 maduri111 force-pushed the bgpd-conditional-adv branch from 0db41ae to f29787b Compare October 26, 2020 16:12
bgpd/bgpd.c Outdated Show resolved Hide resolved
@LabN-CI
Copy link
Collaborator

LabN-CI commented Oct 26, 2020

💚 Basic BGPD CI results: SUCCESS, 0 tests failed

Results table
_ _
Result SUCCESS git merge/7189 f29787b
Date 10/26/2020
Start 12:57:31
Finish 13:23:35
Run-Time 26:04
Total 1815
Pass 1815
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2020-10-26-12:57:31.txt
Log autoscript-2020-10-26-12:58:35.log.bz2
Memory 446 446 430

For details, please contact louberger

@maduri111 maduri111 force-pushed the bgpd-conditional-adv branch from f29787b to c94dc3a Compare October 26, 2020 17:35
@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14979/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Warnings Generated during build:

Debian 10 amd64 build: Successful with additional warnings

Debian Package lintian failed for Debian 10 amd64 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14979/artifact/DEB10BUILD/ErrorLog/log_lintian.txt)

W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr-pythontools: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gf29787b88-0 (missing) -> 7.6-dev-20201026-07-gf29787b88-0~deb10u1
W: frr-rpki-rtrlib: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gf29787b88-0 (missing) -> 7.6-dev-20201026-07-gf29787b88-0~deb10u1
W: frr: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gf29787b88-0 (missing) -> 7.6-dev-20201026-07-gf29787b88-0~deb10u1
W: frr-doc: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gf29787b88-0 (missing) -> 7.6-dev-20201026-07-gf29787b88-0~deb10u1
W: frr-snmp: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gf29787b88-0 (missing) -> 7.6-dev-20201026-07-gf29787b88-0~deb10u1

@LabN-CI
Copy link
Collaborator

LabN-CI commented Oct 26, 2020

💚 Basic BGPD CI results: SUCCESS, 0 tests failed

Results table
_ _
Result SUCCESS git merge/7189 c94dc3a
Date 10/26/2020
Start 14:49:44
Finish 15:15:39
Run-Time 25:55
Total 1815
Pass 1815
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2020-10-26-14:49:44.txt
Log autoscript-2020-10-26-14:50:47.log.bz2
Memory 496 496 426

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14983/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Successful

Basic Tests: Failed

Topo tests part 0 on Ubuntu 18.04 amd64: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1804-14983/test

Topology Tests failed for Topo tests part 0 on Ubuntu 18.04 amd64:

2020-10-26 18:15:23,920 ERROR: r5: bgpd left a dead pidfile (pid=12479)
*** defaultIntf: warning: r1 has no interfaces
2020-10-26 18:21:09,591 ERROR: 'router_json_cmp' failed after 80.50 seconds
2020-10-26 18:21:09,592 ERROR: assert failed at "test_isis_sr_topo1/test_rib_ipv4_step10": "rt2" JSON output mismatches the expected result
assert Generated JSON diff error report:
  
  > $->10.0.2.0/24: d2 has the following element at index 0 which is not present in d1: 
  
  	{
  	    "distance": 115,
  	    "prefix": "10.0.2.0/24",
  	    "protocol": "isis",
  	    "metric": 20,
  	    "nexthops": [
  	        {
  	            "ip": "10.0.2.4",
  	            "afi": "ipv4",
  	            "interfaceName": "eth-rt4-1"
  	        },
  	        {
  	            "active": true,
  	            "ip": "10.0.3.4",
  	            "afi": "ipv4",
  	            "interfaceName": "eth-rt4-2"
  	        }
  	    ]
  	}
  
  	Closest match in d1 is at index 0 with the following errors: 
  
  	> $->10.0.2.0/24[0]->nexthops: d1 has Array of length 1 but in d2 it is of length 2
  
2020-10-26 18:25:28,664 WARNING: ['Area 1:', ' Interface: r1-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.1/24', ' IPv6 Link-Locals:', ' fe80::10e2:70ff:fe31:c8fc/64', '', ' Interface: r1-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.1/24', ' IPv6 Link-Locals:', ' fe80::c433:6aff:fe3e:f4b0/64']
2020-10-26 18:25:28,664 WARNING: {'1': {'r1-eth1': [{'metric': '10', 'level': 'Level-1'}], 'r1-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:25:28,815 WARNING: ['Area 1:', ' Interface: r2-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.2/24', ' IPv6 Link-Locals:', ' fe80::c019:4ff:fe6d:b151/64', '', ' Interface: r2-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.2/24', ' IPv6 Link-Locals:', ' fe80::702f:ffff:fedf:5895/64']
2020-10-26 18:25:28,815 WARNING: {'1': {'r2-eth1': [{'metric': '10', 'level': 'Level-1'}], 'r2-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:25:28,963 WARNING: ['Area 1:', ' Interface: r3-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.3/24', ' IPv6 Link-Locals:', ' fe80::6c01:65ff:fed5:3deb/64', '', ' Interface: r3-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.3/24', ' IPv6 Link-Locals:', ' fe80::ccba:10ff:fe12:362f/64']
2020-10-26 18:25:28,964 WARNING: {'1': {'r3-eth2': [{'metric': '10', 'level': 'Level-1'}], 'r3-eth1': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:25:43,499 WARNING: ['Area 1:', ' Interface: r1-eth1, State: Config, Active, Circuit Id: 0x0', ' Type: Unknown, Level: L1', ' Level-1 Information:', ' Metric: 16777214, Active neighbors: 0', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', '', ' Interface: r1-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.1/24', ' IPv6 Link-Locals:', ' fe80::c433:6aff:fe3e:f4b0/64']
2020-10-26 18:25:43,499 WARNING: {'1': {'r1-eth1': [{'metric': '16777214', 'level': 'Level-1'}], 'r1-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:25:43,648 WARNING: ['Area 1:', ' Interface: r2-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 16777214, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.2/24', ' IPv6 Link-Locals:', ' fe80::c019:4ff:fe6d:b151/64', '', ' Interface: r2-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.2/24', ' IPv6 Link-Locals:', ' fe80::702f:ffff:fedf:5895/64']
2020-10-26 18:25:43,648 WARNING: {'1': {'r2-eth1': [{'metric': '16777214', 'level': 'Level-1'}], 'r2-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:25:43,799 WARNING: ['Area 1:', ' Interface: r3-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.3/24', ' IPv6 Link-Locals:', ' fe80::6c01:65ff:fed5:3deb/64', '', ' Interface: r3-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.3/24', ' IPv6 Link-Locals:', ' fe80::ccba:10ff:fe12:362f/64']
2020-10-26 18:25:43,799 WARNING: {'1': {'r3-eth2': [{'metric': '10', 'level': 'Level-1'}], 'r3-eth1': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:25:59,844 WARNING: ['Area 1:', ' Interface: r1-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.1/24', ' IPv6 Link-Locals:', ' fe80::10e2:70ff:fe31:c8fc/64', '', ' Interface: r1-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.1/24', ' IPv6 Link-Locals:', ' fe80::c433:6aff:fe3e:f4b0/64']
2020-10-26 18:25:59,844 WARNING: {'1': {'r1-eth1': [{'metric': '10', 'level': 'Level-1'}], 'r1-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:25:59,990 WARNING: ['Area 1:', ' Interface: r2-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.2/24', ' IPv6 Link-Locals:', ' fe80::c019:4ff:fe6d:b151/64', '', ' Interface: r2-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.2/24', ' IPv6 Link-Locals:', ' fe80::702f:ffff:fedf:5895/64']
2020-10-26 18:25:59,991 WARNING: {'1': {'r2-eth1': [{'metric': '10', 'level': 'Level-1'}], 'r2-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:26:00,135 WARNING: ['Area 1:', ' Interface: r3-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.3/24', ' IPv6 Link-Locals:', ' fe80::6c01:65ff:fed5:3deb/64', '', ' Interface: r3-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.3/24', ' IPv6 Link-Locals:', ' fe80::ccba:10ff:fe12:362f/64']
2020-10-26 18:26:00,136 WARNING: {'1': {'r3-eth2': [{'metric': '10', 'level': 'Level-1'}], 'r3-eth1': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:26:15,021 WARNING: ['Area 1:', ' Interface: r1-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 16777214, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.1/24', ' IPv6 Link-Locals:', ' fe80::10e2:70ff:fe31:c8fc/64', '', ' Interface: r1-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.1/24', ' IPv6 Link-Locals:', ' fe80::c433:6aff:fe3e:f4b0/64']
2020-10-26 18:26:15,022 WARNING: {'1': {'r1-eth1': [{'metric': '16777214', 'level': 'Level-1'}], 'r1-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:26:15,171 WARNING: ['Area 1:', ' Interface: r2-eth1, State: Config, Active, Circuit Id: 0x0', ' Type: Unknown, Level: L1', ' Level-1 Information:', ' Metric: 16777214, Active neighbors: 0', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', '', ' Interface: r2-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.2/24', ' IPv6 Link-Locals:', ' fe80::702f:ffff:fedf:5895/64']
2020-10-26 18:26:15,171 WARNING: {'1': {'r2-eth1': [{'metric': '16777214', 'level': 'Level-1'}], 'r2-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:26:15,318 WARNING: ['Area 1:', ' Interface: r3-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.3/24', ' IPv6 Link-Locals:', ' fe80::6c01:65ff:fed5:3deb/64', '', ' Interface: r3-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.3/24', ' IPv6 Link-Locals:', ' fe80::ccba:10ff:fe12:362f/64']
2020-10-26 18:26:15,318 WARNING: {'1': {'r3-eth2': [{'metric': '10', 'level': 'Level-1'}], 'r3-eth1': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:26:30,797 WARNING: ['Area 1:', ' Interface: r1-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.1/24', ' IPv6 Link-Locals:', ' fe80::10e2:70ff:fe31:c8fc/64', '', ' Interface: r1-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.1/24', ' IPv6 Link-Locals:', ' fe80::c433:6aff:fe3e:f4b0/64']
2020-10-26 18:26:30,798 WARNING: {'1': {'r1-eth1': [{'metric': '10', 'level': 'Level-1'}], 'r1-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:26:30,945 WARNING: ['Area 1:', ' Interface: r2-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.1.2/24', ' IPv6 Link-Locals:', ' fe80::c019:4ff:fe6d:b151/64', '', ' Interface: r2-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.2/24', ' IPv6 Link-Locals:', ' fe80::702f:ffff:fedf:5895/64']
2020-10-26 18:26:30,945 WARNING: {'1': {'r2-eth1': [{'metric': '10', 'level': 'Level-1'}], 'r2-eth2': [{'metric': '10', 'level': 'Level-1'}]}}
2020-10-26 18:26:31,114 WARNING: ['Area 1:', ' Interface: r3-eth1, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.2.3/24', ' IPv6 Link-Locals:', ' fe80::6c01:65ff:fed5:3deb/64', '', ' Interface: r3-eth2, State: Up, Active, Circuit Id: 0x0', ' Type: p2p, Level: L1', ' Level-1 Information:', ' Metric: 10, Active neighbors: 1', ' Hello interval: 3, Holddown count: 10 (pad)', ' CNSP interval: 10, PSNP interval: 2', ' IP Prefix(es):', ' 10.0.3.3/24', ' IPv6 Link-Locals:', ' fe80::ccba:10ff:fe12:362f/64']
2020-10-26 18:26:31,114 WARNING: {'1': {'r3-eth2': [{'metric': '10', 'level': 'Level-1'}], 'r3-eth1': [{'metric': '10', 'level': 'Level-1'}]}}

see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14983/artifact/TOPOU1804/ErrorLog/log_topotests.txt

Successful on other platforms/tests
  • IPv4 protocols on Ubuntu 18.04
  • Topo tests part 0 on Ubuntu 16.04 i386
  • Topo tests part 1 on Ubuntu 18.04 arm8
  • Topo tests part 2 on Ubuntu 16.04 i386
  • Ubuntu 16.04 deb pkg check
  • Topo tests part 0 on Ubuntu 18.04 arm8
  • Topo tests part 1 on Ubuntu 16.04 i386
  • Fedora 29 rpm pkg check
  • Addresssanitizer topotests part 0
  • IPv4 ldp protocol on Ubuntu 18.04
  • Ubuntu 18.04 deb pkg check
  • Ubuntu 20.04 deb pkg check
  • Debian 8 deb pkg check
  • Topo tests part 0 on Ubuntu 16.04 amd64
  • Debian 9 deb pkg check
  • Topo tests part 1 on Ubuntu 18.04 amd64
  • Static analyzer (clang)
  • Topo tests part 2 on Ubuntu 18.04 arm8
  • Topo tests part 2 on Ubuntu 18.04 amd64
  • Debian 10 deb pkg check
  • CentOS 7 rpm pkg check
  • Addresssanitizer topotests part 1
  • Topo tests part 2 on Ubuntu 16.04 amd64
  • IPv6 protocols on Ubuntu 18.04
  • Addresssanitizer topotests part 2
  • Topo tests part 1 on Ubuntu 16.04 amd64

Warnings Generated during build:

Debian 10 amd64 build: Successful with additional warnings

Debian Package lintian failed for Debian 10 amd64 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14983/artifact/DEB10BUILD/ErrorLog/log_lintian.txt)

W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr-doc: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gc94dc3aa7-0 (missing) -> 7.6-dev-20201026-07-gc94dc3aa7-0~deb10u1
W: frr-rpki-rtrlib: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gc94dc3aa7-0 (missing) -> 7.6-dev-20201026-07-gc94dc3aa7-0~deb10u1
W: frr-snmp: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gc94dc3aa7-0 (missing) -> 7.6-dev-20201026-07-gc94dc3aa7-0~deb10u1
W: frr: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gc94dc3aa7-0 (missing) -> 7.6-dev-20201026-07-gc94dc3aa7-0~deb10u1
W: frr-pythontools: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gc94dc3aa7-0 (missing) -> 7.6-dev-20201026-07-gc94dc3aa7-0~deb10u1

@maduri111
Copy link
Contributor Author

ci:rerun

@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14989/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Warnings Generated during build:

Debian 10 amd64 build: Successful with additional warnings

Debian Package lintian failed for Debian 10 amd64 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14989/artifact/DEB10BUILD/ErrorLog/log_lintian.txt)

W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr-doc: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gc94dc3aa7-0 (missing) -> 7.6-dev-20201026-07-gc94dc3aa7-0~deb10u1
W: frr-rpki-rtrlib: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gc94dc3aa7-0 (missing) -> 7.6-dev-20201026-07-gc94dc3aa7-0~deb10u1
W: frr: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gc94dc3aa7-0 (missing) -> 7.6-dev-20201026-07-gc94dc3aa7-0~deb10u1
W: frr-snmp: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gc94dc3aa7-0 (missing) -> 7.6-dev-20201026-07-gc94dc3aa7-0~deb10u1
W: frr-pythontools: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201026-07-gc94dc3aa7-0 (missing) -> 7.6-dev-20201026-07-gc94dc3aa7-0~deb10u1

Copy link
Member

@ton31337 ton31337 left a comment

Choose a reason for hiding this comment

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

LGTM, @maduri111 thanks.

@maduri111
Copy link
Contributor Author

LGTM, @maduri111 thanks.

@ton31337 Thanks for reviewing and approving the changes.

Copy link
Member

@rzalamena rzalamena left a comment

Choose a reason for hiding this comment

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

Looks good to me, just two nits in topotest:

  • Author forgot to change copyright owner
  • The tests could be split in more functions to help finding a failure, but I guess it is also easy to search for TCXX (where XX is a number).

Madhuri Kuruganti added 8 commits October 27, 2020 16:15
Implemented as per the feature description given in the source link.

Descriprion:
The BGP conditional advertisement feature uses the non-exist-map or exist-map
and the advertise-map keywords of the neighbor advertise-map command in order
to track routes by the route prefix.

non-exist-map :
If a route prefix is not present in output of the non-exist-map command, then
the route specified by the advertise-map command is announced.

exist-map :
If a route prefix is present in output of the exist-map command, then the route
specified by the advertise-map command is announced.

The conditional BGP announcements are sent in addition to the normal
announcements that a BGP router sends to its peers.

The conditional advertisement process is triggered by the BGP scanner process,
which runs every 60 seconds. This means that the maximum time for the conditional
advertisement to take effect is 60 seconds. The conditional advertisement can take
effect sooner, depending on when the tracked route is removed from the BGP table
and when the next instance of the BGP scanner occurs.

Sample Configuration on DUT
---------------------------
Router2# show running-config
Building configuration...

Current configuration:
!
frr version 7.6-dev-MyOwnFRRVersion
frr defaults traditional
hostname router
log file /var/log/frr/bgpd.log
log syslog informational
hostname Router2
service integrated-vtysh-config
!
debug bgp updates in
debug bgp updates out
!
debug route-map
!
ip route 200.200.0.0/16 blackhole
ipv6 route 2001:db8::200/128 blackhole
!
interface enp0s9
 ip address 10.10.10.2/24
!
interface enp0s10
 ip address 10.10.20.2/24
!
interface lo
 ip address 2.2.2.2/24
 ipv6 address 2001:db8::2/128
!
router bgp 2
 bgp log-neighbor-changes
 no bgp ebgp-requires-policy
 neighbor 10.10.10.1 remote-as 1
 neighbor 10.10.20.3 remote-as 3
 !
 address-family ipv4 unicast
  network 2.2.2.0/24
  network 200.200.0.0/16
  neighbor 10.10.10.1 soft-reconfiguration inbound
  neighbor 10.10.10.1 advertise-map ADVERTISE non-exist-map CONDITION
  neighbor 10.10.20.3 soft-reconfiguration inbound
 exit-address-family
 !
 address-family ipv6 unicast
  network 2001:db8::2/128
  network 2001:db8::200/128
  neighbor 10.10.10.1 activate
  neighbor 10.10.10.1 soft-reconfiguration inbound
  neighbor 10.10.10.1 advertise-map ADVERTISE_6 non-exist-map CONDITION_6
  neighbor 10.10.20.3 activate
  neighbor 10.10.20.3 soft-reconfiguration inbound
 exit-address-family
!
access-list CONDITION seq 5 permit 3.3.3.0/24
access-list ADVERTISE seq 5 permit 2.2.2.0/24
access-list ADVERTISE seq 6 permit 200.200.0.0/16
access-list ADVERTISE seq 7 permit 20.20.0.0/16
!
ipv6 access-list ADVERTISE_6 seq 5 permit 2001:db8::2/128
ipv6 access-list CONDITION_6 seq 5 permit 2001:db8::3/128
!
route-map ADVERTISE permit 10
 match ip address ADVERTISE
!
route-map CONDITION permit 10
 match ip address CONDITION
!
route-map ADVERTISE_6 permit 10
 match ipv6 address ADVERTISE_6
!
route-map CONDITION_6 permit 10
 match ipv6 address CONDITION_6
!
line vty
!
end
Router2#

Withdraw when non-exist-map prefixes present in BGP table:
----------------------------------------------------------
Router2# show ip bgp all wide

For address family: IPv4 Unicast
BGP table version is 8, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 1.1.1.0/24                                   10.10.10.1                                     0             0 1 i
*> 2.2.2.0/24                                   0.0.0.0                                        0         32768 i
*> 3.3.3.0/24                                   10.10.20.3                                     0             0 3 i
*> 200.200.0.0/16                               0.0.0.0                                        0         32768 i

Displayed  4 routes and 4 total paths

For address family: IPv6 Unicast
BGP table version is 8, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 2001:db8::1/128                              fe80::a00:27ff:fecb:ad57                       0             0 1 i
*> 2001:db8::2/128                              ::                                             0         32768 i
*> 2001:db8::3/128                              fe80::a00:27ff:fe76:6738                       0             0 3 i
*> 2001:db8::200/128                            ::                                             0         32768 i

Displayed  4 routes and 4 total paths
Router2#

Router2# show ip bgp neighbors 10.10.10.1
BGP neighbor is 10.10.10.1, remote AS 1, local AS 2, external link

!--- Output suppressed.

 For address family: IPv4 Unicast
  Update group 9, subgroup 5
  Packet Queue length 0
  Inbound soft reconfiguration allowed
  Community attribute sent to this neighbor(all)
  Condition NON_EXIST, Condition-map *CONDITION, Advertise-map *ADVERTISE, status: Withdraw
  1 accepted prefixes

 For address family: IPv6 Unicast
  Update group 10, subgroup 6
  Packet Queue length 0
  Inbound soft reconfiguration allowed
  Community attribute sent to this neighbor(all)
  Condition NON_EXIST, Condition-map *CONDITION_6, Advertise-map *ADVERTISE_6, status: Withdraw
  1 accepted prefixes

!--- Output suppressed.

Router2#

Here 2.2.2.0/24 & 200.200.0.0/16 (prefixes in advertise-map) are withdrawn
by conditional advertisement scanner as the prefix(3.3.3.0/24) specified
by non-exist-map is present in BGP table.

Router2# show ip bgp all neighbors 10.10.10.1 advertised-routes wide

For address family: IPv4 Unicast
BGP table version is 8, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 1.1.1.0/24                                   0.0.0.0                                                      0 1 i
*> 3.3.3.0/24                                   0.0.0.0                                                      0 3 i

Total number of prefixes 2

For address family: IPv6 Unicast
BGP table version is 8, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 2001:db8::1/128                              ::                                                           0 1 i
*> 2001:db8::3/128                              ::                                                           0 3 i
*> 2001:db8::200/128                            ::                                             0         32768 i

Total number of prefixes 3
Router2#

Advertise when non-exist-map prefixes not present in BGP table:
---------------------------------------------------------------
After Removing 3.3.3.0/24 (prefix present in non-exist-map),
2.2.2.0/24 & 200.200.0.0/16 (prefixes present in advertise-map) are advertised

Router2# show ip bgp all wide

For address family: IPv4 Unicast
BGP table version is 9, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 1.1.1.0/24                                   10.10.10.1                                     0             0 1 i
*> 2.2.2.0/24                                   0.0.0.0                                        0         32768 i
*> 200.200.0.0/16                               0.0.0.0                                        0         32768 i

Displayed  3 routes and 3 total paths

For address family: IPv6 Unicast
BGP table version is 9, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 2001:db8::1/128                              fe80::a00:27ff:fecb:ad57                       0             0 1 i
*> 2001:db8::2/128                              ::                                             0         32768 i
*> 2001:db8::200/128                            ::                                             0         32768 i

Displayed  3 routes and 3 total paths
Router2#

Router2# show ip bgp neighbors 10.10.10.1

!--- Output suppressed.

 For address family: IPv4 Unicast
  Update group 9, subgroup 5
  Packet Queue length 0
  Inbound soft reconfiguration allowed
  Community attribute sent to this neighbor(all)
  Condition NON_EXIST, Condition-map *CONDITION, Advertise-map *ADVERTISE, status: Advertise
  1 accepted prefixes

 For address family: IPv6 Unicast
  Update group 10, subgroup 6
  Packet Queue length 0
  Inbound soft reconfiguration allowed
  Community attribute sent to this neighbor(all)
  Condition NON_EXIST, Condition-map *CONDITION_6, Advertise-map *ADVERTISE_6, status: Advertise
  1 accepted prefixes

!--- Output suppressed.

Router2#
Router2# show ip bgp all neighbors 10.10.10.1 advertised-routes wide

For address family: IPv4 Unicast
BGP table version is 9, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 1.1.1.0/24                                   0.0.0.0                                                      0 1 i
*> 2.2.2.0/24                                   0.0.0.0                                        0         32768 i
*> 200.200.0.0/16                               0.0.0.0                                        0         32768 i

Total number of prefixes 3

For address family: IPv6 Unicast
BGP table version is 9, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 2001:db8::1/128                              ::                                                           0 1 i
*> 2001:db8::2/128                              ::                                             0         32768 i
*> 2001:db8::200/128                            ::                                             0         32768 i

Total number of prefixes 3
Router2#

Signed-off-by: Madhuri Kuruganti <k.madhuri@samsung.com>
Sample configuration along with route-map filter
------------------------------------------------
Router2# show running-config
Building configuration...

Current configuration:
!
frr version 7.6-dev-MyOwnFRRVersion
frr defaults traditional
hostname router
log file /var/log/frr/bgpd.log
log syslog informational
hostname Router2
service integrated-vtysh-config
!
debug bgp updates in
debug bgp updates out
!
debug route-map
!
ip route 200.200.0.0/16 blackhole
ipv6 route 2001:db8::200/128 blackhole
!
interface enp0s9
 ip address 10.10.10.2/24
!
interface enp0s10
 ip address 10.10.20.2/24
!
interface lo
 ip address 2.2.2.2/24
 ipv6 address 2001:db8::2/128
!
router bgp 2
 bgp log-neighbor-changes
 no bgp ebgp-requires-policy
 neighbor 10.10.10.1 remote-as 1
 neighbor 10.10.20.3 remote-as 3
 !
 address-family ipv4 unicast
  network 2.2.2.0/24
  network 200.200.0.0/16
  neighbor 10.10.10.1 soft-reconfiguration inbound
  neighbor 10.10.10.1 route-map RMAP_PERMIT_100 out
  neighbor 10.10.10.1 advertise-map ADVERTISE non-exist-map CONDITION
  neighbor 10.10.20.3 soft-reconfiguration inbound
 exit-address-family
 !
 address-family ipv6 unicast
  network 2001:db8::2/128
  network 2001:db8::200/128
  neighbor 10.10.10.1 activate
  neighbor 10.10.10.1 soft-reconfiguration inbound
  neighbor 10.10.10.1 route-map CONDITION_6 out
  neighbor 10.10.10.1 advertise-map ADVERTISE_6 non-exist-map CONDITION_6
  neighbor 10.10.20.3 activate
  neighbor 10.10.20.3 soft-reconfiguration inbound
 exit-address-family
!
access-list CONDITION seq 5 permit 3.3.3.0/24
access-list ADVERTISE seq 6 permit 200.200.0.0/16
access-list ADVERTISE seq 7 permit 20.20.0.0/16
access-list ADVERTISE seq 5 permit 2.2.2.0/24
access-list RMAP_PERMIT_100 seq 4 permit 100.100.0.0/16
!
ipv6 access-list ADVERTISE_6 seq 5 permit 2001:db8::2/128
ipv6 access-list CONDITION_6 seq 5 permit 2001:db8::3/128
!
route-map ADVERTISE permit 10
 match ip address ADVERTISE
!
route-map CONDITION permit 10
 match ip address CONDITION
!
route-map ADVERTISE_6 permit 10
 match ipv6 address ADVERTISE_6
!
route-map CONDITION_6 permit 10
 match ipv6 address CONDITION_6
!
route-map RMAP_PERMIT_100 permit 10
 match ip address RMAP_PERMIT_100
!
line vty
!
end

Sample output when non-exist-map prefixes present in BGP table
--------------------------------------------------------------
Router2# show ip bgp all wide

For address family: IPv4 Unicast
BGP table version is 5, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 1.1.1.0/24                                   10.10.10.1                                     0             0 1 i
*> 2.2.2.0/24                                   0.0.0.0                                        0         32768 i
*> 3.3.3.0/24                                   10.10.20.3                                     0             0 3 i
*> 100.100.0.0/16                               10.10.20.3                                     0             0 3 i
*> 200.200.0.0/16                               0.0.0.0                                        0         32768 i

Displayed  5 routes and 5 total paths

For address family: IPv6 Unicast
BGP table version is 4, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 2001:db8::1/128                              fe80::a00:27ff:fecb:ad57                       0             0 1 i
*> 2001:db8::2/128                              ::                                             0         32768 i
*> 2001:db8::3/128                              fe80::a00:27ff:fe76:6738                       0             0 3 i
*> 2001:db8::200/128                            ::                                             0         32768 i

Displayed  4 routes and 4 total paths
Router2#
Router2#
Router2#
Router2#
Router2# show ip bgp all neighbors 10.10.10.1 advertised-routes wide

For address family: IPv4 Unicast
BGP table version is 5, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 100.100.0.0/16                               0.0.0.0                                                      0 3 i

Total number of prefixes 1

For address family: IPv6 Unicast
BGP table version is 4, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 2001:db8::3/128                              ::                                                           0 3 i

Total number of prefixes 1
Router2#

Sample output when non-exist-map prefixes not present in BGP table
------------------------------------------------------------------
Router2# show ip bgp all wide

For address family: IPv4 Unicast
BGP table version is 6, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 1.1.1.0/24                                   10.10.10.1                                     0             0 1 i
*> 2.2.2.0/24                                   0.0.0.0                                        0         32768 i
*> 100.100.0.0/16                               10.10.20.3                                     0             0 3 i
*> 200.200.0.0/16                               0.0.0.0                                        0         32768 i

Displayed  4 routes and 4 total paths

For address family: IPv6 Unicast
BGP table version is 5, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 2001:db8::1/128                              fe80::a00:27ff:fecb:ad57                       0             0 1 i
*> 2001:db8::2/128                              ::                                             0         32768 i
*> 2001:db8::200/128                            ::                                             0         32768 i

Displayed  3 routes and 3 total paths
Router2#

Router2# show ip bgp all neighbors 10.10.10.1 advertised-routes wide

For address family: IPv4 Unicast
BGP table version is 6, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 2.2.2.0/24                                   0.0.0.0                                        0         32768 i
*> 100.100.0.0/16                               0.0.0.0                                                      0 3 i
*> 200.200.0.0/16                               0.0.0.0                                        0         32768 i

Total number of prefixes 3

For address family: IPv6 Unicast
BGP table version is 5, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network                                      Next Hop                                  Metric LocPrf Weight Path
*> 2001:db8::2/128                              ::                                             0         32768 i

Total number of prefixes 1
Router2#

Signed-off-by: Madhuri Kuruganti <k.madhuri@samsung.com>
Sample Configuration with prefix-list and community match rules
---------------------------------------------------------------

R1 ------- R2(DUT) ------- R3

Router2# show running-config
Building configuration...

Current configuration:
!
frr version 7.6-dev-MyOwnFRRVersion
frr defaults traditional
hostname router
log file /var/log/frr/bgpd.log
log syslog informational
hostname Router2
service integrated-vtysh-config
!
debug bgp updates in
debug bgp updates out
!
debug route-map
!
ip route 20.20.0.0/16 blackhole
ipv6 route 2001:db8::200/128 blackhole
!
interface enp0s9
 ip address 10.10.10.2/24
!
interface enp0s10
 ip address 10.10.20.2/24
!
interface lo
 ip address 2.2.2.2/32
!
router bgp 2
 bgp log-neighbor-changes
 no bgp ebgp-requires-policy
 neighbor 10.10.10.1 remote-as 1
 neighbor 10.10.20.3 remote-as 3
 !
 address-family ipv4 unicast
  neighbor 10.10.10.1 soft-reconfiguration inbound
  neighbor 10.10.20.3 soft-reconfiguration inbound
  neighbor 10.10.20.3 advertise-map ADV-MAP non-exist-map EXIST-MAP
 exit-address-family
!
ip prefix-list DEFAULT seq 5 permit 1.1.1.5/32
ip prefix-list DEFAULT seq 10 permit 1.1.1.1/32
ip prefix-list EXIST seq 5 permit 10.10.10.10/32
ip prefix-list DEFAULT-ROUTE seq 5 permit 0.0.0.0/0
ip prefix-list IP1 seq 5 permit 10.139.224.0/20
ip prefix-list T2 seq 5 permit 1.1.1.5/32
!
bgp community-list standard DC-ROUTES seq 5 permit 64952:3008
bgp community-list standard DC-ROUTES seq 10 permit 64671:501
bgp community-list standard DC-ROUTES seq 15 permit 64950:3009
bgp community-list standard DEFAULT-ROUTE seq 5 permit 65013:200
!
route-map ADV-MAP permit 10
 match ip address prefix-list IP1
!
route-map ADV-MAP permit 20
 match community DC-ROUTES
!
route-map EXIST-MAP permit 10
 match community DEFAULT-ROUTE
 match ip address prefix-list DEFAULT-ROUTE
!
line vty
!
end
Router2#

Router2# show ip bgp 0.0.0.0
BGP routing table entry for 0.0.0.0/0
Paths: (1 available, best FRRouting#1, table default)
  Advertised to non peer-group peers:
  10.10.10.1 10.10.20.3
  1
    10.10.10.1 from 10.10.10.1 (10.139.224.1)
      Origin IGP, metric 0, valid, external, best (First path received)
      Community: 64848:3011 65011:200 65013:200
      Last update: Tue Oct  6 02:39:42 2020
Router2#

Sample output with non-exist-map when default route present in table
--------------------------------------------------------------------
Router2# show ip bgp
BGP table version is 4, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 0.0.0.0/0        10.10.10.1               0             0 1 i
*> 1.1.1.1/32       10.10.10.1               0             0 1 i
*> 1.1.1.5/32       10.10.10.1               0             0 1 i
*> 10.139.224.0/20  10.10.10.1               0             0 1 ?

Displayed  4 routes and 4 total paths

Router2# show ip bgp neighbors 10.10.20.3 advertised-routes
BGP table version is 4, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 0.0.0.0/0        0.0.0.0                                0 1 i
*> 1.1.1.5/32       0.0.0.0                                0 1 i   		<<<<<<<<<  non-exist-map : 0.0.0.0/0 is present so, 10.139.224.0/20 not advertised

Total number of prefixes 2

Sample output with non-exist-map when default route not present in table
------------------------------------------------------------------------
Router2# show ip bgp
BGP table version is 5, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.1/32       10.10.10.1               0             0 1 i
*> 1.1.1.5/32       10.10.10.1               0             0 1 i
*> 10.139.224.0/20  10.10.10.1               0             0 1 ?

Displayed  3 routes and 3 total paths
Router2#
Router2#
Router2# show ip bgp neighbors 10.10.20.3 advertised-routes
BGP table version is 5, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.1/32       0.0.0.0                                0 1 i
*> 1.1.1.5/32       0.0.0.0                                0 1 i
*> 10.139.224.0/20  0.0.0.0                                0 1 ?                <<<<<<<<<  non-exist-map : 0.0.0.0/0 is not present so, 10.139.224.0/20 advertised

Total number of prefixes 3
Router2#

Sample output with exist-map when default route present in table
--------------------------------------------------------------------
Router2# show ip bgp
BGP table version is 8, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 0.0.0.0/0        10.10.10.1               0             0 1 i
*> 1.1.1.1/32       10.10.10.1               0             0 1 i
*> 1.1.1.5/32       10.10.10.1               0             0 1 i
*> 10.139.224.0/20  10.10.10.1               0             0 1 ?

Displayed  4 routes and 4 total paths
Router2#
Router2#
Router2#
Router2#
Router2# show ip bgp neighbors 10.10.20.3 advertised-routes
BGP table version is 8, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 0.0.0.0/0        0.0.0.0                                0 1 i
*> 1.1.1.1/32       0.0.0.0                                0 1 i
*> 1.1.1.5/32       0.0.0.0                                0 1 i
*> 10.139.224.0/20  0.0.0.0                                0 1 ?		<<<<<<<<<  exist-map : 0.0.0.0/0 is present so, 10.139.224.0/20 advertised

Total number of prefixes 4
Router2#

Sample output with exist-map when default route not present in table
--------------------------------------------------------------------
Router2# show ip bgp
BGP table version is 9, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.1/32       10.10.10.1               0             0 1 i
*> 1.1.1.5/32       10.10.10.1               0             0 1 i
*> 10.139.224.0/20  10.10.10.1               0             0 1 ?

Displayed  3 routes and 3 total paths
Router2#
Router2#
Router2#
Router2# show ip bgp neighbors 10.10.20.3 advertised-routes
BGP table version is 9, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 2
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.5/32       0.0.0.0                                0 1 i		<<<<<<<<<  exist-map : 0.0.0.0/0 is not present so, 10.139.224.0/20 not advertised

Total number of prefixes 1
Router2#

Signed-off-by: Madhuri Kuruganti <k.madhuri@samsung.com>
Signed-off-by: Madhuri Kuruganti <k.madhuri@samsung.com>
Signed-off-by: Madhuri Kuruganti <k.madhuri@samsung.com>
Router2# show ip bgp neighbors 10.10.20.3 json

!--- Output suppressed.

    "addressFamilyInfo":{
      "ipv4Unicast":{
        "updateGroupId":2,
        "subGroupId":2,
        "packetQueueLength":0,
        "inboundSoftConfigPermit":true,
        "commAttriSentToNbr":"extendedAndStandard",
        "advertiseMap":{
          "condition":"NON_EXIST",
          "conditionMap":"EXIST-MAP",
          "advertiseMap":"ADV-MAP",
          "advertiseStatus":"Withdraw"
        },
        "acceptedPrefixCounter":0,
        "sentPrefixCounter":2
      },
      "ipv6Unicast":{
        "inboundSoftConfigPermit":true,
        "commAttriSentToNbr":"extendedAndStandard",
        "advertiseMap":{
          "condition":"EXIST",
          "conditionMap":"ALLOW_ALL",
          "advertiseMap":"ALLOW_ALL",
          "advertiseStatus":"Advertise"
        },
        "acceptedPrefixCounter":0
      }
    },

!--- Output suppressed.

router@router:~/frr/tests/topotests/bgp_conditional_advertisement$ sudo pytest -s test_bgp_conditional_advertisement.py
[sudo] password for router:
mkdir: cannot create directory ‘/tmp/topotests’: File exists
2020-10-14 17:00:46,649 INFO: Running environment diagnostics
=========================================================================================== test session starts ============================================================================================
platform linux2 -- Python 2.7.17, pytest-4.6.11, py-1.9.0, pluggy-0.13.1
rootdir: /home/router/frr/tests/topotests, inifile: pytest.ini
collected 2 items

test_bgp_conditional_advertisement.py 2020-10-14 17:00:47,137 INFO: Testsuite start time: Wed Oct 14 17:00:47 2020
2020-10-14 17:00:47,137 INFO: ========================================
2020-10-14 17:00:47,138 INFO: Running setup_module to create topology
2020-10-14 17:00:48,711 INFO: loading topology: bgp_conditional_advertisement.test_bgp_conditional_advertisement
2020-10-14 17:00:48,712 INFO: starting topology: bgp_conditional_advertisement.test_bgp_conditional_advertisement
2020-10-14 17:00:49,042 INFO: r1: running version: 7.6-dev-MyOwnFRRVersion-gd77fe2dd0
2020-10-14 17:00:51,284 INFO: r2: running version: 7.6-dev-MyOwnFRRVersion-gd77fe2dd0
2020-10-14 17:00:53,582 INFO: r3: running version: 7.6-dev-MyOwnFRRVersion-gd77fe2dd0
2020-10-14 17:00:55,826 INFO: Running setup_module() done
2020-10-14 17:00:57,747 INFO: '_all_routes_advertised' polling started (interval 1 secs, maximum wait 130 secs)
2020-10-14 17:00:58,262 INFO: '_all_routes_advertised' succeeded after 0.52 seconds
2020-10-14 17:00:58,262 INFO: TC11: "router3" BGP convergence - PASSED!!!
2020-10-14 17:00:58,863 INFO: '_exist_map_routes_present' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:00:59,419 INFO: '_exist_map_routes_present' succeeded after 0.56 seconds
2020-10-14 17:00:59,419 INFO: TC21: exist-map routes present in "router2" BGP table - PASSED!!!
2020-10-14 17:01:00,017 INFO: '_exist_map_routes_not_present' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:02:00,192 INFO: '_exist_map_routes_not_present' succeeded after 60.18 seconds
2020-10-14 17:02:00,192 INFO: TC22: exist-map routes not present in "router2" BGP table - PASSED!!!
2020-10-14 17:02:00,736 INFO: '_non_exist_map_routes_not_present' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:02:59,215 INFO: '_non_exist_map_routes_not_present' succeeded after 58.48 seconds
2020-10-14 17:02:59,215 INFO: TC31: non-exist-map routes not present in "router2" BGP table - PASSED!!!
2020-10-14 17:02:59,968 INFO: '_non_exist_map_routes_present' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:03:59,300 INFO: '_non_exist_map_routes_present' succeeded after 59.33 seconds
2020-10-14 17:03:59,300 INFO: TC32: non-exist-map routes present in "router2" BGP table - PASSED!!!
2020-10-14 17:03:59,919 INFO: '_non_exist_map_no_condition_route_map' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:05:00,306 INFO: '_non_exist_map_no_condition_route_map' succeeded after 60.39 seconds
2020-10-14 17:05:00,306 INFO: TC41: non-exist-map route-map removed in "router2" - PASSED!!!
2020-10-14 17:05:01,024 INFO: '_exist_map_no_condition_route_map' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:05:59,405 INFO: '_exist_map_no_condition_route_map' succeeded after 58.38 seconds
2020-10-14 17:05:59,406 INFO: TC42: exist-map route-map removed in "router2" - PASSED!!!
2020-10-14 17:05:59,941 INFO: '_exist_map_routes_present_rmap_filter' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:06:59,622 INFO: '_exist_map_routes_present_rmap_filter' succeeded after 59.68 seconds
2020-10-14 17:06:59,622 INFO: TC51: exist-map routes present with route-map filter - PASSED!!!
2020-10-14 17:07:00,150 INFO: '_exist_map_routes_present_no_rmap_filter' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:07:00,688 INFO: '_exist_map_routes_present_no_rmap_filter' succeeded after 0.54 seconds
2020-10-14 17:07:00,688 INFO: TC52: exist-map routes present, no route-map filter - PASSED!!!
2020-10-14 17:07:01,229 INFO: '_non_exist_map_routes_present_rmap_filter' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:07:01,767 INFO: '_non_exist_map_routes_present_rmap_filter' succeeded after 0.54 seconds
2020-10-14 17:07:01,767 INFO: TC53: non-exist-map routes present, with route-map filter - PASSED!!!
2020-10-14 17:07:02,321 INFO: '_non_exist_map_routes_present_no_rmap_filter' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:08:00,419 INFO: '_non_exist_map_routes_present_no_rmap_filter' succeeded after 58.10 seconds
2020-10-14 17:08:00,419 INFO: TC54: non-exist-map routes present, no route-map filter - PASSED!!!
2020-10-14 17:08:01,485 INFO: '_exist_map_routes_not_present_rmap_filter' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:08:02,039 INFO: '_exist_map_routes_not_present_rmap_filter' succeeded after 0.55 seconds
2020-10-14 17:08:02,039 INFO: TC61: exist-map routes not present, route-map filter - PASSED!!!
2020-10-14 17:08:02,568 INFO: '_exist_map_routes_not_present_no_rmap_filter' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:08:59,147 INFO: '_exist_map_routes_not_present_no_rmap_filter' succeeded after 56.58 seconds
2020-10-14 17:08:59,147 INFO: TC62: exist-map routes not present, no route-map filter - PASSED!!!
2020-10-14 17:08:59,686 INFO: '_non_exist_map_routes_not_present_rmap_filter' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:09:59,354 INFO: '_non_exist_map_routes_not_present_rmap_filter' succeeded after 59.67 seconds
2020-10-14 17:09:59,354 INFO: TC63: non-exist-map routes not present, route-map filter - PASSED!!!
2020-10-14 17:09:59,886 INFO: '_non_exist_map_routes_not_present_no_rmap_filter' polling started (interval 1 secs, maximum wait 90 secs)
2020-10-14 17:10:00,424 INFO: '_non_exist_map_routes_not_present_no_rmap_filter' succeeded after 0.54 seconds
2020-10-14 17:10:00,424 INFO: TC64: non-exist-map routes not present, no route-map filter - PASSED!!!
.2020-10-14 17:10:01,989 INFO: assert skipped at "bgp_conditional_advertisement.test_bgp_conditional_advertisement/test_memory_leak": Memory leak test/report is disabled
s2020-10-14 17:10:01,989 INFO: Running teardown_module to delete topology
2020-10-14 17:10:01,990 INFO: stopping topology: bgp_conditional_advertisement.test_bgp_conditional_advertisement
2020-10-14 17:10:01,990 INFO: stopping "s2"
2020-10-14 17:10:01,990 INFO: stopping "s1"
2020-10-14 17:10:01,993 INFO: r1: stopping bgpd
2020-10-14 17:10:01,995 INFO: r1: stopping staticd
2020-10-14 17:10:02,010 INFO: r1: stopping zebra
2020-10-14 17:10:02,013 INFO: r1: stopping bgpd
2020-10-14 17:10:02,015 INFO: r1: stopping zebra
2020-10-14 17:10:02,025 INFO: r1: waiting for daemons stopping: bgpd, zebra (0.1 seconds)
2020-10-14 17:10:02,143 INFO: r2: stopping bgpd
2020-10-14 17:10:02,147 INFO: r2: stopping staticd
2020-10-14 17:10:02,152 INFO: r2: stopping zebra
2020-10-14 17:10:02,156 INFO: r2: stopping bgpd
2020-10-14 17:10:02,164 INFO: r2: stopping zebra
2020-10-14 17:10:02,175 INFO: r2: waiting for daemons stopping: zebra (0.1 seconds)
2020-10-14 17:10:02,291 INFO: r3: stopping bgpd
2020-10-14 17:10:02,302 INFO: r3: stopping staticd
2020-10-14 17:10:02,309 INFO: r3: stopping zebra
2020-10-14 17:10:02,313 INFO: r3: stopping bgpd
2020-10-14 17:10:02,316 INFO: r3: stopping zebra
2020-10-14 17:10:02,323 INFO: r3: waiting for daemons stopping: zebra (0.1 seconds)
2020-10-14 17:10:03,615 INFO: Testsuite end time: Wed Oct 14 17:10:03 2020
2020-10-14 17:10:03,615 INFO: ========================================

================================================================================== 1 passed, 1 skipped in 556.55 seconds ===================================================================================

Signed-off-by: Madhuri Kuruganti <k.madhuri@samsung.com>

temp

Signed-off-by: Madhuri Kuruganti <k.madhuri@samsung.com>
Signed-off-by: Madhuri Kuruganti <k.madhuri@samsung.com>
Signed-off-by: Madhuri Kuruganti <k.madhuri@samsung.com>
@maduri111 maduri111 force-pushed the bgpd-conditional-adv branch from c94dc3a to 1a0416b Compare October 27, 2020 10:58
@LabN-CI
Copy link
Collaborator

LabN-CI commented Oct 27, 2020

💚 Basic BGPD CI results: SUCCESS, 0 tests failed

Results table
_ _
Result SUCCESS git merge/7189 1a0416b
Date 10/27/2020
Start 07:01:30
Finish 07:27:39
Run-Time 26:09
Total 1815
Pass 1815
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2020-10-27-07:01:30.txt
Log autoscript-2020-10-27-07:02:27.log.bz2
Memory 501 501 423

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14995/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Warnings Generated during build:

Debian 10 amd64 build: Successful with additional warnings

Debian Package lintian failed for Debian 10 amd64 build:
(see full package build log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-14995/artifact/DEB10BUILD/ErrorLog/log_lintian.txt)

W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr source: pkg-js-tools-test-is-missing
W: frr source: newer-standards-version 4.5.0.3 (current is 4.3.0)
W: frr-pythontools: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201027-11-g1a0416bd6-0 (missing) -> 7.6-dev-20201027-11-g1a0416bd6-0~deb10u1
W: frr: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201027-11-g1a0416bd6-0 (missing) -> 7.6-dev-20201027-11-g1a0416bd6-0~deb10u1
W: frr-rpki-rtrlib: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201027-11-g1a0416bd6-0 (missing) -> 7.6-dev-20201027-11-g1a0416bd6-0~deb10u1
W: frr-snmp: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201027-11-g1a0416bd6-0 (missing) -> 7.6-dev-20201027-11-g1a0416bd6-0~deb10u1
W: frr-doc: changelog-file-missing-explicit-entry 6.0-2 -> 7.6-dev-20201027-11-g1a0416bd6-0 (missing) -> 7.6-dev-20201027-11-g1a0416bd6-0~deb10u1

@rzalamena rzalamena merged commit 7f2f38c into FRRouting:master Oct 27, 2020
@maduri111 maduri111 deleted the bgpd-conditional-adv branch July 14, 2021 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants