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

Offload/Trap #7155

Merged
merged 3 commits into from
Sep 23, 2020
Merged

Offload/Trap #7155

merged 3 commits into from
Sep 23, 2020

Conversation

donaldsharp
Copy link
Member

The linux kernel has the ability to notice if a route has been offloaded to an asic for forwarding or if the route has been setup to trap to the kernel. Write the code to notice that this is happening. At this time we do not really do anything with this data other than to keep track of it. Future commits will take advantage of this.

At this point in time I have not written any topotests for this because the kernel is so new that will support this that it really is not in any distribution. I will be writing these tests once we get features that start to take advantage of this knowledge

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/a0a723d4ba5663ceb51555c669461450/raw/1e541bff93f412547af62ae7b585a759082d3bdb/cr_7155_1600784124.diff | git apply

diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h
index 9b814c92d..ce898a55d 100644
--- a/include/linux/rtnetlink.h
+++ b/include/linux/rtnetlink.h
@@ -21,164 +21,163 @@
 
 /* Types of messages */
 
-enum {
-	RTM_BASE	= 16,
+enum { RTM_BASE = 16,
 #define RTM_BASE	RTM_BASE
 
-	RTM_NEWLINK	= 16,
+       RTM_NEWLINK = 16,
 #define RTM_NEWLINK	RTM_NEWLINK
-	RTM_DELLINK,
+       RTM_DELLINK,
 #define RTM_DELLINK	RTM_DELLINK
-	RTM_GETLINK,
+       RTM_GETLINK,
 #define RTM_GETLINK	RTM_GETLINK
-	RTM_SETLINK,
+       RTM_SETLINK,
 #define RTM_SETLINK	RTM_SETLINK
 
-	RTM_NEWADDR	= 20,
+       RTM_NEWADDR = 20,
 #define RTM_NEWADDR	RTM_NEWADDR
-	RTM_DELADDR,
+       RTM_DELADDR,
 #define RTM_DELADDR	RTM_DELADDR
-	RTM_GETADDR,
+       RTM_GETADDR,
 #define RTM_GETADDR	RTM_GETADDR
 
-	RTM_NEWROUTE	= 24,
+       RTM_NEWROUTE = 24,
 #define RTM_NEWROUTE	RTM_NEWROUTE
-	RTM_DELROUTE,
+       RTM_DELROUTE,
 #define RTM_DELROUTE	RTM_DELROUTE
-	RTM_GETROUTE,
+       RTM_GETROUTE,
 #define RTM_GETROUTE	RTM_GETROUTE
 
-	RTM_NEWNEIGH	= 28,
+       RTM_NEWNEIGH = 28,
 #define RTM_NEWNEIGH	RTM_NEWNEIGH
-	RTM_DELNEIGH,
+       RTM_DELNEIGH,
 #define RTM_DELNEIGH	RTM_DELNEIGH
-	RTM_GETNEIGH,
+       RTM_GETNEIGH,
 #define RTM_GETNEIGH	RTM_GETNEIGH
 
-	RTM_NEWRULE	= 32,
+       RTM_NEWRULE = 32,
 #define RTM_NEWRULE	RTM_NEWRULE
-	RTM_DELRULE,
+       RTM_DELRULE,
 #define RTM_DELRULE	RTM_DELRULE
-	RTM_GETRULE,
+       RTM_GETRULE,
 #define RTM_GETRULE	RTM_GETRULE
 
-	RTM_NEWQDISC	= 36,
+       RTM_NEWQDISC = 36,
 #define RTM_NEWQDISC	RTM_NEWQDISC
-	RTM_DELQDISC,
+       RTM_DELQDISC,
 #define RTM_DELQDISC	RTM_DELQDISC
-	RTM_GETQDISC,
+       RTM_GETQDISC,
 #define RTM_GETQDISC	RTM_GETQDISC
 
-	RTM_NEWTCLASS	= 40,
+       RTM_NEWTCLASS = 40,
 #define RTM_NEWTCLASS	RTM_NEWTCLASS
-	RTM_DELTCLASS,
+       RTM_DELTCLASS,
 #define RTM_DELTCLASS	RTM_DELTCLASS
-	RTM_GETTCLASS,
+       RTM_GETTCLASS,
 #define RTM_GETTCLASS	RTM_GETTCLASS
 
-	RTM_NEWTFILTER	= 44,
+       RTM_NEWTFILTER = 44,
 #define RTM_NEWTFILTER	RTM_NEWTFILTER
-	RTM_DELTFILTER,
+       RTM_DELTFILTER,
 #define RTM_DELTFILTER	RTM_DELTFILTER
-	RTM_GETTFILTER,
+       RTM_GETTFILTER,
 #define RTM_GETTFILTER	RTM_GETTFILTER
 
-	RTM_NEWACTION	= 48,
+       RTM_NEWACTION = 48,
 #define RTM_NEWACTION   RTM_NEWACTION
-	RTM_DELACTION,
+       RTM_DELACTION,
 #define RTM_DELACTION   RTM_DELACTION
-	RTM_GETACTION,
+       RTM_GETACTION,
 #define RTM_GETACTION   RTM_GETACTION
 
-	RTM_NEWPREFIX	= 52,
+       RTM_NEWPREFIX = 52,
 #define RTM_NEWPREFIX	RTM_NEWPREFIX
 
-	RTM_GETMULTICAST = 58,
+       RTM_GETMULTICAST = 58,
 #define RTM_GETMULTICAST RTM_GETMULTICAST
 
-	RTM_GETANYCAST	= 62,
+       RTM_GETANYCAST = 62,
 #define RTM_GETANYCAST	RTM_GETANYCAST
 
-	RTM_NEWNEIGHTBL	= 64,
+       RTM_NEWNEIGHTBL = 64,
 #define RTM_NEWNEIGHTBL	RTM_NEWNEIGHTBL
-	RTM_GETNEIGHTBL	= 66,
+       RTM_GETNEIGHTBL = 66,
 #define RTM_GETNEIGHTBL	RTM_GETNEIGHTBL
-	RTM_SETNEIGHTBL,
+       RTM_SETNEIGHTBL,
 #define RTM_SETNEIGHTBL	RTM_SETNEIGHTBL
 
-	RTM_NEWNDUSEROPT = 68,
+       RTM_NEWNDUSEROPT = 68,
 #define RTM_NEWNDUSEROPT RTM_NEWNDUSEROPT
 
-	RTM_NEWADDRLABEL = 72,
+       RTM_NEWADDRLABEL = 72,
 #define RTM_NEWADDRLABEL RTM_NEWADDRLABEL
-	RTM_DELADDRLABEL,
+       RTM_DELADDRLABEL,
 #define RTM_DELADDRLABEL RTM_DELADDRLABEL
-	RTM_GETADDRLABEL,
+       RTM_GETADDRLABEL,
 #define RTM_GETADDRLABEL RTM_GETADDRLABEL
 
-	RTM_GETDCB = 78,
+       RTM_GETDCB = 78,
 #define RTM_GETDCB RTM_GETDCB
-	RTM_SETDCB,
+       RTM_SETDCB,
 #define RTM_SETDCB RTM_SETDCB
 
-	RTM_NEWNETCONF = 80,
+       RTM_NEWNETCONF = 80,
 #define RTM_NEWNETCONF RTM_NEWNETCONF
-	RTM_DELNETCONF,
+       RTM_DELNETCONF,
 #define RTM_DELNETCONF RTM_DELNETCONF
-	RTM_GETNETCONF = 82,
+       RTM_GETNETCONF = 82,
 #define RTM_GETNETCONF RTM_GETNETCONF
 
-	RTM_NEWMDB = 84,
+       RTM_NEWMDB = 84,
 #define RTM_NEWMDB RTM_NEWMDB
-	RTM_DELMDB = 85,
+       RTM_DELMDB = 85,
 #define RTM_DELMDB RTM_DELMDB
-	RTM_GETMDB = 86,
+       RTM_GETMDB = 86,
 #define RTM_GETMDB RTM_GETMDB
 
-	RTM_NEWNSID = 88,
+       RTM_NEWNSID = 88,
 #define RTM_NEWNSID RTM_NEWNSID
-	RTM_DELNSID = 89,
+       RTM_DELNSID = 89,
 #define RTM_DELNSID RTM_DELNSID
-	RTM_GETNSID = 90,
+       RTM_GETNSID = 90,
 #define RTM_GETNSID RTM_GETNSID
 
-	RTM_NEWSTATS = 92,
+       RTM_NEWSTATS = 92,
 #define RTM_NEWSTATS RTM_NEWSTATS
-	RTM_GETSTATS = 94,
+       RTM_GETSTATS = 94,
 #define RTM_GETSTATS RTM_GETSTATS
 
-	RTM_NEWCACHEREPORT = 96,
+       RTM_NEWCACHEREPORT = 96,
 #define RTM_NEWCACHEREPORT RTM_NEWCACHEREPORT
 
-	RTM_NEWCHAIN = 100,
+       RTM_NEWCHAIN = 100,
 #define RTM_NEWCHAIN RTM_NEWCHAIN
-	RTM_DELCHAIN,
+       RTM_DELCHAIN,
 #define RTM_DELCHAIN RTM_DELCHAIN
-	RTM_GETCHAIN,
+       RTM_GETCHAIN,
 #define RTM_GETCHAIN RTM_GETCHAIN
 
-	RTM_NEWNEXTHOP = 104,
+       RTM_NEWNEXTHOP = 104,
 #define RTM_NEWNEXTHOP	RTM_NEWNEXTHOP
-	RTM_DELNEXTHOP,
+       RTM_DELNEXTHOP,
 #define RTM_DELNEXTHOP	RTM_DELNEXTHOP
-	RTM_GETNEXTHOP,
+       RTM_GETNEXTHOP,
 #define RTM_GETNEXTHOP	RTM_GETNEXTHOP
 
-	RTM_NEWLINKPROP = 108,
-#define RTM_NEWLINKPROP	RTM_NEWLINKPROP
-	RTM_DELLINKPROP,
-#define RTM_DELLINKPROP	RTM_DELLINKPROP
-	RTM_GETLINKPROP,
-#define RTM_GETLINKPROP	RTM_GETLINKPROP
-
-	RTM_NEWVLAN = 112,
-#define RTM_NEWNVLAN	RTM_NEWVLAN
-	RTM_DELVLAN,
-#define RTM_DELVLAN	RTM_DELVLAN
-	RTM_GETVLAN,
-#define RTM_GETVLAN	RTM_GETVLAN
-
-	__RTM_MAX,
+       RTM_NEWLINKPROP = 108,
+#define RTM_NEWLINKPROP RTM_NEWLINKPROP
+       RTM_DELLINKPROP,
+#define RTM_DELLINKPROP RTM_DELLINKPROP
+       RTM_GETLINKPROP,
+#define RTM_GETLINKPROP RTM_GETLINKPROP
+
+       RTM_NEWVLAN = 112,
+#define RTM_NEWNVLAN RTM_NEWVLAN
+       RTM_DELVLAN,
+#define RTM_DELVLAN RTM_DELVLAN
+       RTM_GETVLAN,
+#define RTM_GETVLAN RTM_GETVLAN
+
+       __RTM_MAX,
 #define RTM_MAX		(((__RTM_MAX + 3) & ~3) - 1)
 };
 
@@ -186,7 +185,7 @@ enum {
 #define RTM_NR_FAMILIES	(RTM_NR_MSGTYPES >> 2)
 #define RTM_FAM(cmd)	(((cmd) - RTM_BASE) >> 2)
 
-/* 
+/*
    Generic structure for encapsulation of optional route information.
    It is reminiscent of sockaddr, but with sa_family replaced
    with attribute type.
@@ -226,7 +225,7 @@ struct rtmsg {
 
 	unsigned char		rtm_table;	/* Routing table id */
 	unsigned char		rtm_protocol;	/* Routing protocol; see below	*/
-	unsigned char		rtm_scope;	/* See below */	
+	unsigned char rtm_scope;		/* See below */
 	unsigned char		rtm_type;	/* See below	*/
 
 	unsigned		rtm_flags;
@@ -257,12 +256,13 @@ enum {
 
 /* rtm_protocol */
 
-#define RTPROT_UNSPEC		0
-#define RTPROT_REDIRECT		1	/* Route installed by ICMP redirects;
-					   not used by current IPv4 */
-#define RTPROT_KERNEL		2	/* Route installed by kernel		*/
-#define RTPROT_BOOT		3	/* Route installed during boot		*/
-#define RTPROT_STATIC		4	/* Route installed by administrator	*/
+#define RTPROT_UNSPEC 0
+#define RTPROT_REDIRECT                                                        \
+	1		/* Route installed by ICMP redirects;                  \
+			   not used by current IPv4 */
+#define RTPROT_KERNEL 2 /* Route installed by kernel		*/
+#define RTPROT_BOOT 3   /* Route installed during boot		*/
+#define RTPROT_STATIC 4 /* Route installed by administrator	*/
 
 /* Values of protocol >= RTPROT_STATIC are not interpreted by kernel;
    they are just passed from user and back as is.
@@ -271,23 +271,23 @@ enum {
    avoid conflicts.
  */
 
-#define RTPROT_GATED		8	/* Apparently, GateD */
-#define RTPROT_RA		9	/* RDISC/ND router advertisements */
-#define RTPROT_MRT		10	/* Merit MRT */
-#define RTPROT_ZEBRA		11	/* Zebra */
-#define RTPROT_BIRD		12	/* BIRD */
-#define RTPROT_DNROUTED		13	/* DECnet routing daemon */
-#define RTPROT_XORP		14	/* XORP */
-#define RTPROT_NTK		15	/* Netsukuku */
-#define RTPROT_DHCP		16	/* DHCP client */
-#define RTPROT_MROUTED		17	/* Multicast daemon */
-#define RTPROT_KEEPALIVED	18	/* Keepalived daemon */
-#define RTPROT_BABEL		42	/* Babel daemon */
-#define RTPROT_BGP		186	/* BGP Routes */
-#define RTPROT_ISIS		187	/* ISIS Routes */
-#define RTPROT_OSPF		188	/* OSPF Routes */
-#define RTPROT_RIP		189	/* RIP Routes */
-#define RTPROT_EIGRP		192	/* EIGRP Routes */
+#define RTPROT_GATED 8       /* Apparently, GateD */
+#define RTPROT_RA 9	  /* RDISC/ND router advertisements */
+#define RTPROT_MRT 10	/* Merit MRT */
+#define RTPROT_ZEBRA 11      /* Zebra */
+#define RTPROT_BIRD 12       /* BIRD */
+#define RTPROT_DNROUTED 13   /* DECnet routing daemon */
+#define RTPROT_XORP 14       /* XORP */
+#define RTPROT_NTK 15	/* Netsukuku */
+#define RTPROT_DHCP 16       /* DHCP client */
+#define RTPROT_MROUTED 17    /* Multicast daemon */
+#define RTPROT_KEEPALIVED 18 /* Keepalived daemon */
+#define RTPROT_BABEL 42      /* Babel daemon */
+#define RTPROT_BGP 186       /* BGP Routes */
+#define RTPROT_ISIS 187      /* ISIS Routes */
+#define RTPROT_OSPF 188      /* OSPF Routes */
+#define RTPROT_RIP 189       /* RIP Routes */
+#define RTPROT_EIGRP 192     /* EIGRP Routes */
 
 /* rtm_scope
 
@@ -317,8 +317,8 @@ enum rt_scope_t {
 #define RTM_F_PREFIX		0x800	/* Prefix addresses		*/
 #define RTM_F_LOOKUP_TABLE	0x1000	/* set rtm_table to FIB lookup result */
 #define RTM_F_FIB_MATCH	        0x2000	/* return full fib lookup match */
-#define RTM_F_OFFLOAD		0x4000	/* route is offloaded */
-#define RTM_F_TRAP		0x8000	/* route is trapping packets */
+#define RTM_F_OFFLOAD 0x4000		/* route is offloaded */
+#define RTM_F_TRAP 0x8000		/* route is trapping packets */
 
 /* Reserved table identifiers */
 
@@ -540,7 +540,7 @@ struct ifinfomsg {
 };
 
 /********************************************************************
- *		prefix information 
+ *		prefix information
  ****/
 
 struct prefixmsg {
@@ -554,13 +554,7 @@ struct prefixmsg {
 	unsigned char	prefix_pad3;
 };
 
-enum 
-{
-	PREFIX_UNSPEC,
-	PREFIX_ADDRESS,
-	PREFIX_CACHEINFO,
-	__PREFIX_MAX
-};
+enum { PREFIX_UNSPEC, PREFIX_ADDRESS, PREFIX_CACHEINFO, __PREFIX_MAX };
 
 #define PREFIX_MAX	(__PREFIX_MAX - 1)
 
@@ -594,32 +588,31 @@ struct tcmsg {
  */
 #define TCM_IFINDEX_MAGIC_BLOCK (0xFFFFFFFFU)
 
-enum {
-	TCA_UNSPEC,
-	TCA_KIND,
-	TCA_OPTIONS,
-	TCA_STATS,
-	TCA_XSTATS,
-	TCA_RATE,
-	TCA_FCNT,
-	TCA_STATS2,
-	TCA_STAB,
-	TCA_PAD,
-	TCA_DUMP_INVISIBLE,
-	TCA_CHAIN,
-	TCA_HW_OFFLOAD,
-	TCA_INGRESS_BLOCK,
-	TCA_EGRESS_BLOCK,
-	TCA_DUMP_FLAGS,
-	__TCA_MAX
-};
+enum { TCA_UNSPEC,
+       TCA_KIND,
+       TCA_OPTIONS,
+       TCA_STATS,
+       TCA_XSTATS,
+       TCA_RATE,
+       TCA_FCNT,
+       TCA_STATS2,
+       TCA_STAB,
+       TCA_PAD,
+       TCA_DUMP_INVISIBLE,
+       TCA_CHAIN,
+       TCA_HW_OFFLOAD,
+       TCA_INGRESS_BLOCK,
+       TCA_EGRESS_BLOCK,
+       TCA_DUMP_FLAGS,
+       __TCA_MAX };
 
 #define TCA_MAX (__TCA_MAX - 1)
 
-#define TCA_DUMP_FLAGS_TERSE (1 << 0) /* Means that in dump user gets only basic
-				       * data necessary to identify the objects
-				       * (handle, cookie, etc.) and stats.
-				       */
+#define TCA_DUMP_FLAGS_TERSE                                                   \
+	(1 << 0) /* Means that in dump user gets only basic                    \
+		  * data necessary to identify the objects                     \
+		  * (handle, cookie, etc.) and stats.                          \
+		  */
 
 #define TCA_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg))))
 #define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg))
@@ -738,7 +731,7 @@ enum rtnetlink_groups {
 	RTNLGRP_NEXTHOP,
 #define RTNLGRP_NEXTHOP		RTNLGRP_NEXTHOP
 	RTNLGRP_BRVLAN,
-#define RTNLGRP_BRVLAN		RTNLGRP_BRVLAN
+#define RTNLGRP_BRVLAN RTNLGRP_BRVLAN
 	__RTNLGRP_MAX
 };
 #define RTNLGRP_MAX	(__RTNLGRP_MAX - 1)
@@ -778,7 +771,7 @@ enum {
 #define RTEXT_FILTER_BRVLAN	(1 << 1)
 #define RTEXT_FILTER_BRVLAN_COMPRESSED	(1 << 2)
 #define	RTEXT_FILTER_SKIP_STATS	(1 << 3)
-#define RTEXT_FILTER_MRP	(1 << 4)
+#define RTEXT_FILTER_MRP (1 << 4)
 
 /* End of information exported to user level */
 
diff --git a/lib/zclient.h b/lib/zclient.h
index 050877f27..0f33f32cb 100644
--- a/lib/zclient.h
+++ b/lib/zclient.h
@@ -486,14 +486,14 @@ struct zapi_route {
  * forwarding.  This flag makes no sense unless you are in
  * an asic offload situation
  */
-#define ZEBRA_FLAG_TRAPPED            0x80
+#define ZEBRA_FLAG_TRAPPED 0x80
 /*
  * This flag tells everyone that the route has been
  * successfully offloaded to an asic for forwarding.
  * This flag makes no sense unless you are in an asic
  * offload situation.
  */
-#define ZEBRA_FLAG_OFFLOADED          0x100
+#define ZEBRA_FLAG_OFFLOADED 0x100
 
 	/* The older XXX_MESSAGE flags live here */
 	uint32_t message;

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.

@LabN-CI
Copy link
Collaborator

LabN-CI commented Sep 22, 2020

Outdated results 💚

Basic BGPD CI results: SUCCESS, 0 tests failed

_ _
Result SUCCESS git merge/7155 37b22c5
Date 09/22/2020
Start 11:04:00
Finish 11:30:00
Run-Time 26:00
Total 1815
Pass 1815
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2020-09-22-11:04:00.txt
Log autoscript-2020-09-22-11:04:58.log.bz2
Memory 487 493 425

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Sep 22, 2020

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

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

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 1 on Ubuntu 18.04 amd64: Failed (click for details)

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

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

2020-09-22 15:02:20,488 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/bgp.py", line 200, in create_router_bgp
    tgen, router, data_all_bgp, "bgp", build, load_config
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: line 6: % Unknown command[27]: neighbor 10.0.0.13 remote-as 0 
line 8: % Unknown command[30]: neighbor fd00:0:0:3::1 remote-as 0 
% Specify remote-as or peer-group commands first
line 10: Failure to communicate[13] to bgpd, line: neighbor fd00:0:0:3::1 activate 

% Specify remote-as or peer-group commands first
line 12: Failure to communicate[13] to bgpd, line: no neighbor fd00:0:0:3::1 activate 



2020-09-22 15:02:20,817 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/bgp.py", line 200, in create_router_bgp
    tgen, router, data_all_bgp, "bgp", build, load_config
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: % No BGP process is configured
line 2: Failure to communicate[13] to bgpd, line: no router bgp  



2020-09-22 15:13:25,875 ERROR: '_bgp_has_routes' failed after 40.99 seconds
2020-09-22 15:17:24,530 ERROR: 'compare_show_ip_route_vrf' failed after 95.94 seconds
2020-09-22 15:17:24,533 ERROR: assert failed at "test_ospf_topo1_vrf/test_ospf_kernel_route": OSPF IPv4 route mismatch in router "r1": --- Current output
  +++ Expected output
  @@ -1,5 +1,3 @@
  -       t - trapped, o - offload failure
  -
   VRF r1-cust1:
   O   10.0.1.0/24 [110/10] is directly connected, r1-eth0, weight 1, XX:XX:XX
   C>* 10.0.1.0/24 is directly connected, r1-eth0, XX:XX:XX
assert False
2020-09-22 15:28:12,188 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 1476, in create_interfaces_cfg
    tgen, c_router, interface_data, "interface_config", build=build
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: line 3: % Unknown command[16]: ip ospf  hello-interval 65536 

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

Topo tests part 1 on Ubuntu 16.04 amd64: Failed (click for details)

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

Topology Tests failed for Topo tests part 1 on Ubuntu 16.04 amd64:

2020-09-22 17:13:53,111 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/bgp.py", line 200, in create_router_bgp
    tgen, router, data_all_bgp, "bgp", build, load_config
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: line 6: % Unknown command[27]: neighbor 10.0.0.13 remote-as 0 
line 8: % Unknown command[30]: neighbor fd00:0:0:3::1 remote-as 0 
% Specify remote-as or peer-group commands first
line 10: Failure to communicate[13] to bgpd, line: neighbor fd00:0:0:3::1 activate 

% Specify remote-as or peer-group commands first
line 12: Failure to communicate[13] to bgpd, line: no neighbor fd00:0:0:3::1 activate 



2020-09-22 17:13:53,457 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/bgp.py", line 200, in create_router_bgp
    tgen, router, data_all_bgp, "bgp", build, load_config
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: % No BGP process is configured
line 2: Failure to communicate[13] to bgpd, line: no router bgp  



2020-09-22 17:24:51,066 ERROR: '_bgp_has_routes' failed after 40.85 seconds
2020-09-22 17:25:22,702 ERROR: r1: zebra left a dead pidfile (pid=29335)
2020-09-22 17:28:47,210 ERROR: 'compare_show_ip_route_vrf' failed after 95.66 seconds
2020-09-22 17:28:47,212 ERROR: assert failed at "test_ospf_topo1_vrf/test_ospf_kernel_route": OSPF IPv4 route mismatch in router "r1": --- Current output
  +++ Expected output
  @@ -1,5 +1,3 @@
  -       t - trapped, o - offload failure
  -
   VRF r1-cust1:
   O   10.0.1.0/24 [110/10] is directly connected, r1-eth0, weight 1, XX:XX:XX
   C>* 10.0.1.0/24 is directly connected, r1-eth0, XX:XX:XX
assert False
2020-09-22 17:38:35,865 ERROR: r3: zebra left a dead pidfile (pid=12736)
2020-09-22 17:39:33,581 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 1476, in create_interfaces_cfg
    tgen, c_router, interface_data, "interface_config", build=build
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: line 3: % Unknown command[16]: ip ospf  hello-interval 65536 

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

Topo tests part 1 on Ubuntu 18.04 arm8: Failed (click for details) Topo tests part 1 on Ubuntu 18.04 arm8: No useful log found
Topo tests part 1 on Ubuntu 16.04 i386: Failed (click for details)

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

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

RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
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-09-22 17:03:30,387 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/bgp.py", line 200, in create_router_bgp
    tgen, router, data_all_bgp, "bgp", build, load_config
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: line 6: % Unknown command[27]: neighbor 10.0.0.13 remote-as 0 
line 8: % Unknown command[30]: neighbor fd00:0:0:3::1 remote-as 0 
% Specify remote-as or peer-group commands first
line 10: Failure to communicate[13] to bgpd, line: neighbor fd00:0:0:3::1 activate 

% Specify remote-as or peer-group commands first
line 12: Failure to communicate[13] to bgpd, line: no neighbor fd00:0:0:3::1 activate 



2020-09-22 17:03:30,763 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/bgp.py", line 200, in create_router_bgp
    tgen, router, data_all_bgp, "bgp", build, load_config
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: % No BGP process is configured
line 2: Failure to communicate[13] to bgpd, line: no router bgp  



2020-09-22 17:12:43,304 ERROR: r3: staticd left a dead pidfile (pid=8293)
2020-09-22 17:14:59,890 ERROR: '_bgp_has_routes' failed after 41.85 seconds
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
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-09-22 17:19:02,265 ERROR: 'compare_show_ip_route_vrf' failed after 99.01 seconds
2020-09-22 17:19:02,267 ERROR: assert failed at "test_ospf_topo1_vrf/test_ospf_kernel_route": OSPF IPv4 route mismatch in router "r1": --- Current output
  +++ Expected output
  @@ -1,5 +1,3 @@
  -       t - trapped, o - offload failure
  -
   VRF r1-cust1:
   O   10.0.1.0/24 [110/10] is directly connected, r1-eth0, weight 1, XX:XX:XX
   C>* 10.0.1.0/24 is directly connected, r1-eth0, XX:XX:XX
assert False
2020-09-22 17:30:01,568 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 1476, in create_interfaces_cfg
    tgen, c_router, interface_data, "interface_config", build=build
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: line 3: % Unknown command[16]: ip ospf  hello-interval 65536 

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

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

Warnings Generated during build:

Checkout code: Successful with additional warnings
Topo tests part 1 on Ubuntu 18.04 amd64: Failed (click for details)

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

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

2020-09-22 15:02:20,488 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/bgp.py", line 200, in create_router_bgp
    tgen, router, data_all_bgp, "bgp", build, load_config
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: line 6: % Unknown command[27]: neighbor 10.0.0.13 remote-as 0 
line 8: % Unknown command[30]: neighbor fd00:0:0:3::1 remote-as 0 
% Specify remote-as or peer-group commands first
line 10: Failure to communicate[13] to bgpd, line: neighbor fd00:0:0:3::1 activate 

% Specify remote-as or peer-group commands first
line 12: Failure to communicate[13] to bgpd, line: no neighbor fd00:0:0:3::1 activate 



2020-09-22 15:02:20,817 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/bgp.py", line 200, in create_router_bgp
    tgen, router, data_all_bgp, "bgp", build, load_config
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: % No BGP process is configured
line 2: Failure to communicate[13] to bgpd, line: no router bgp  



2020-09-22 15:13:25,875 ERROR: '_bgp_has_routes' failed after 40.99 seconds
2020-09-22 15:17:24,530 ERROR: 'compare_show_ip_route_vrf' failed after 95.94 seconds
2020-09-22 15:17:24,533 ERROR: assert failed at "test_ospf_topo1_vrf/test_ospf_kernel_route": OSPF IPv4 route mismatch in router "r1": --- Current output
  +++ Expected output
  @@ -1,5 +1,3 @@
  -       t - trapped, o - offload failure
  -
   VRF r1-cust1:
   O   10.0.1.0/24 [110/10] is directly connected, r1-eth0, weight 1, XX:XX:XX
   C>* 10.0.1.0/24 is directly connected, r1-eth0, XX:XX:XX
assert False
2020-09-22 15:28:12,188 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 1476, in create_interfaces_cfg
    tgen, c_router, interface_data, "interface_config", build=build
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1804AMD64/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: line 3: % Unknown command[16]: ip ospf  hello-interval 65536 

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

Topo tests part 1 on Ubuntu 16.04 amd64: Failed (click for details)

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

Topology Tests failed for Topo tests part 1 on Ubuntu 16.04 amd64:

2020-09-22 17:13:53,111 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/bgp.py", line 200, in create_router_bgp
    tgen, router, data_all_bgp, "bgp", build, load_config
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: line 6: % Unknown command[27]: neighbor 10.0.0.13 remote-as 0 
line 8: % Unknown command[30]: neighbor fd00:0:0:3::1 remote-as 0 
% Specify remote-as or peer-group commands first
line 10: Failure to communicate[13] to bgpd, line: neighbor fd00:0:0:3::1 activate 

% Specify remote-as or peer-group commands first
line 12: Failure to communicate[13] to bgpd, line: no neighbor fd00:0:0:3::1 activate 



2020-09-22 17:13:53,457 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/bgp.py", line 200, in create_router_bgp
    tgen, router, data_all_bgp, "bgp", build, load_config
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: % No BGP process is configured
line 2: Failure to communicate[13] to bgpd, line: no router bgp  



2020-09-22 17:24:51,066 ERROR: '_bgp_has_routes' failed after 40.85 seconds
2020-09-22 17:25:22,702 ERROR: r1: zebra left a dead pidfile (pid=29335)
2020-09-22 17:28:47,210 ERROR: 'compare_show_ip_route_vrf' failed after 95.66 seconds
2020-09-22 17:28:47,212 ERROR: assert failed at "test_ospf_topo1_vrf/test_ospf_kernel_route": OSPF IPv4 route mismatch in router "r1": --- Current output
  +++ Expected output
  @@ -1,5 +1,3 @@
  -       t - trapped, o - offload failure
  -
   VRF r1-cust1:
   O   10.0.1.0/24 [110/10] is directly connected, r1-eth0, weight 1, XX:XX:XX
   C>* 10.0.1.0/24 is directly connected, r1-eth0, XX:XX:XX
assert False
2020-09-22 17:38:35,865 ERROR: r3: zebra left a dead pidfile (pid=12736)
2020-09-22 17:39:33,581 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 1476, in create_interfaces_cfg
    tgen, c_router, interface_data, "interface_config", build=build
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604AMD64/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: line 3: % Unknown command[16]: ip ospf  hello-interval 65536 

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

Topo tests part 1 on Ubuntu 18.04 arm8: Failed (click for details) Topo tests part 1 on Ubuntu 18.04 arm8: No useful log found
Topo tests part 1 on Ubuntu 16.04 i386: Failed (click for details)

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

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

RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
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-09-22 17:03:30,387 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/bgp.py", line 200, in create_router_bgp
    tgen, router, data_all_bgp, "bgp", build, load_config
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: line 6: % Unknown command[27]: neighbor 10.0.0.13 remote-as 0 
line 8: % Unknown command[30]: neighbor fd00:0:0:3::1 remote-as 0 
% Specify remote-as or peer-group commands first
line 10: Failure to communicate[13] to bgpd, line: neighbor fd00:0:0:3::1 activate 

% Specify remote-as or peer-group commands first
line 12: Failure to communicate[13] to bgpd, line: no neighbor fd00:0:0:3::1 activate 



2020-09-22 17:03:30,763 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/bgp.py", line 200, in create_router_bgp
    tgen, router, data_all_bgp, "bgp", build, load_config
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: % No BGP process is configured
line 2: Failure to communicate[13] to bgpd, line: no router bgp  



2020-09-22 17:12:43,304 ERROR: r3: staticd left a dead pidfile (pid=8293)
2020-09-22 17:14:59,890 ERROR: '_bgp_has_routes' failed after 41.85 seconds
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
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-09-22 17:19:02,265 ERROR: 'compare_show_ip_route_vrf' failed after 99.01 seconds
2020-09-22 17:19:02,267 ERROR: assert failed at "test_ospf_topo1_vrf/test_ospf_kernel_route": OSPF IPv4 route mismatch in router "r1": --- Current output
  +++ Expected output
  @@ -1,5 +1,3 @@
  -       t - trapped, o - offload failure
  -
   VRF r1-cust1:
   O   10.0.1.0/24 [110/10] is directly connected, r1-eth0, weight 1, XX:XX:XX
   C>* 10.0.1.0/24 is directly connected, r1-eth0, XX:XX:XX
assert False
2020-09-22 17:30:01,568 ERROR: Traceback (most recent call last):
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 1476, in create_interfaces_cfg
    tgen, c_router, interface_data, "interface_config", build=build
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 290, in create_common_configuration
    load_config_to_router(tgen, router)
  File "/root/bamboo-agent-home/xml-data/build-dir/FRR-FRRPULLREQ-TP1U1604I386/topotests/lib/common_config.py", line 572, in load_config_to_router
    raise InvalidCLIError("%s" % output)
InvalidCLIError: line 3: % Unknown command[16]: ip ospf  hello-interval 65536 

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

<stdin>:31: trailing whitespace.
/* 
<stdin>:40: trailing whitespace.
	unsigned char		rtm_scope;	/* See below */	
<stdin>:117: trailing whitespace.
 *		prefix information 
<stdin>:126: trailing whitespace.
enum 
warning: 4 lines add whitespace errors.
Report for rtnetlink.h | 14 issues
===============================================
< ERROR: trailing whitespace
< #189: FILE: /tmp/f1-7724/rtnetlink.h:189:
< ERROR: trailing whitespace
< #229: FILE: /tmp/f1-7724/rtnetlink.h:229:
< WARNING: line over 80 characters
< #263: FILE: /tmp/f1-7724/rtnetlink.h:263:
< WARNING: line over 80 characters
< #264: FILE: /tmp/f1-7724/rtnetlink.h:264:
< WARNING: line over 80 characters
< #265: FILE: /tmp/f1-7724/rtnetlink.h:265:
< ERROR: trailing whitespace
< #543: FILE: /tmp/f1-7724/rtnetlink.h:543:
< ERROR: trailing whitespace
< #557: FILE: /tmp/f1-7724/rtnetlink.h:557:

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-14308/artifact/DEB10BUILD/ErrorLog/log_lintian.txt)

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

The rtnetlink.h header has changed in the kernel.  Let's pull it in
we need this for OFFLOAD and TRAP

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Some linux kernels are starting to support the idea of knowledge
about the underlying asic.  Add a boolean that we can set/unset
to track whether or not we think the router has this functionality
available.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
The linux kernel is getting RTM_F_TRAP and RTM_F_OFFLOAD for
kernel routes that have an underlying asic offload.  Write the
code to receive these notifications from the linux kernel and
to store that data for display about the routes.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
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/fed6a9534bb5df7f10bd31ddcd1adaff/raw/1e541bff93f412547af62ae7b585a759082d3bdb/cr_7155_1600804676.diff | git apply

diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h
index 9b814c92d..ce898a55d 100644
--- a/include/linux/rtnetlink.h
+++ b/include/linux/rtnetlink.h
@@ -21,164 +21,163 @@
 
 /* Types of messages */
 
-enum {
-	RTM_BASE	= 16,
+enum { RTM_BASE = 16,
 #define RTM_BASE	RTM_BASE
 
-	RTM_NEWLINK	= 16,
+       RTM_NEWLINK = 16,
 #define RTM_NEWLINK	RTM_NEWLINK
-	RTM_DELLINK,
+       RTM_DELLINK,
 #define RTM_DELLINK	RTM_DELLINK
-	RTM_GETLINK,
+       RTM_GETLINK,
 #define RTM_GETLINK	RTM_GETLINK
-	RTM_SETLINK,
+       RTM_SETLINK,
 #define RTM_SETLINK	RTM_SETLINK
 
-	RTM_NEWADDR	= 20,
+       RTM_NEWADDR = 20,
 #define RTM_NEWADDR	RTM_NEWADDR
-	RTM_DELADDR,
+       RTM_DELADDR,
 #define RTM_DELADDR	RTM_DELADDR
-	RTM_GETADDR,
+       RTM_GETADDR,
 #define RTM_GETADDR	RTM_GETADDR
 
-	RTM_NEWROUTE	= 24,
+       RTM_NEWROUTE = 24,
 #define RTM_NEWROUTE	RTM_NEWROUTE
-	RTM_DELROUTE,
+       RTM_DELROUTE,
 #define RTM_DELROUTE	RTM_DELROUTE
-	RTM_GETROUTE,
+       RTM_GETROUTE,
 #define RTM_GETROUTE	RTM_GETROUTE
 
-	RTM_NEWNEIGH	= 28,
+       RTM_NEWNEIGH = 28,
 #define RTM_NEWNEIGH	RTM_NEWNEIGH
-	RTM_DELNEIGH,
+       RTM_DELNEIGH,
 #define RTM_DELNEIGH	RTM_DELNEIGH
-	RTM_GETNEIGH,
+       RTM_GETNEIGH,
 #define RTM_GETNEIGH	RTM_GETNEIGH
 
-	RTM_NEWRULE	= 32,
+       RTM_NEWRULE = 32,
 #define RTM_NEWRULE	RTM_NEWRULE
-	RTM_DELRULE,
+       RTM_DELRULE,
 #define RTM_DELRULE	RTM_DELRULE
-	RTM_GETRULE,
+       RTM_GETRULE,
 #define RTM_GETRULE	RTM_GETRULE
 
-	RTM_NEWQDISC	= 36,
+       RTM_NEWQDISC = 36,
 #define RTM_NEWQDISC	RTM_NEWQDISC
-	RTM_DELQDISC,
+       RTM_DELQDISC,
 #define RTM_DELQDISC	RTM_DELQDISC
-	RTM_GETQDISC,
+       RTM_GETQDISC,
 #define RTM_GETQDISC	RTM_GETQDISC
 
-	RTM_NEWTCLASS	= 40,
+       RTM_NEWTCLASS = 40,
 #define RTM_NEWTCLASS	RTM_NEWTCLASS
-	RTM_DELTCLASS,
+       RTM_DELTCLASS,
 #define RTM_DELTCLASS	RTM_DELTCLASS
-	RTM_GETTCLASS,
+       RTM_GETTCLASS,
 #define RTM_GETTCLASS	RTM_GETTCLASS
 
-	RTM_NEWTFILTER	= 44,
+       RTM_NEWTFILTER = 44,
 #define RTM_NEWTFILTER	RTM_NEWTFILTER
-	RTM_DELTFILTER,
+       RTM_DELTFILTER,
 #define RTM_DELTFILTER	RTM_DELTFILTER
-	RTM_GETTFILTER,
+       RTM_GETTFILTER,
 #define RTM_GETTFILTER	RTM_GETTFILTER
 
-	RTM_NEWACTION	= 48,
+       RTM_NEWACTION = 48,
 #define RTM_NEWACTION   RTM_NEWACTION
-	RTM_DELACTION,
+       RTM_DELACTION,
 #define RTM_DELACTION   RTM_DELACTION
-	RTM_GETACTION,
+       RTM_GETACTION,
 #define RTM_GETACTION   RTM_GETACTION
 
-	RTM_NEWPREFIX	= 52,
+       RTM_NEWPREFIX = 52,
 #define RTM_NEWPREFIX	RTM_NEWPREFIX
 
-	RTM_GETMULTICAST = 58,
+       RTM_GETMULTICAST = 58,
 #define RTM_GETMULTICAST RTM_GETMULTICAST
 
-	RTM_GETANYCAST	= 62,
+       RTM_GETANYCAST = 62,
 #define RTM_GETANYCAST	RTM_GETANYCAST
 
-	RTM_NEWNEIGHTBL	= 64,
+       RTM_NEWNEIGHTBL = 64,
 #define RTM_NEWNEIGHTBL	RTM_NEWNEIGHTBL
-	RTM_GETNEIGHTBL	= 66,
+       RTM_GETNEIGHTBL = 66,
 #define RTM_GETNEIGHTBL	RTM_GETNEIGHTBL
-	RTM_SETNEIGHTBL,
+       RTM_SETNEIGHTBL,
 #define RTM_SETNEIGHTBL	RTM_SETNEIGHTBL
 
-	RTM_NEWNDUSEROPT = 68,
+       RTM_NEWNDUSEROPT = 68,
 #define RTM_NEWNDUSEROPT RTM_NEWNDUSEROPT
 
-	RTM_NEWADDRLABEL = 72,
+       RTM_NEWADDRLABEL = 72,
 #define RTM_NEWADDRLABEL RTM_NEWADDRLABEL
-	RTM_DELADDRLABEL,
+       RTM_DELADDRLABEL,
 #define RTM_DELADDRLABEL RTM_DELADDRLABEL
-	RTM_GETADDRLABEL,
+       RTM_GETADDRLABEL,
 #define RTM_GETADDRLABEL RTM_GETADDRLABEL
 
-	RTM_GETDCB = 78,
+       RTM_GETDCB = 78,
 #define RTM_GETDCB RTM_GETDCB
-	RTM_SETDCB,
+       RTM_SETDCB,
 #define RTM_SETDCB RTM_SETDCB
 
-	RTM_NEWNETCONF = 80,
+       RTM_NEWNETCONF = 80,
 #define RTM_NEWNETCONF RTM_NEWNETCONF
-	RTM_DELNETCONF,
+       RTM_DELNETCONF,
 #define RTM_DELNETCONF RTM_DELNETCONF
-	RTM_GETNETCONF = 82,
+       RTM_GETNETCONF = 82,
 #define RTM_GETNETCONF RTM_GETNETCONF
 
-	RTM_NEWMDB = 84,
+       RTM_NEWMDB = 84,
 #define RTM_NEWMDB RTM_NEWMDB
-	RTM_DELMDB = 85,
+       RTM_DELMDB = 85,
 #define RTM_DELMDB RTM_DELMDB
-	RTM_GETMDB = 86,
+       RTM_GETMDB = 86,
 #define RTM_GETMDB RTM_GETMDB
 
-	RTM_NEWNSID = 88,
+       RTM_NEWNSID = 88,
 #define RTM_NEWNSID RTM_NEWNSID
-	RTM_DELNSID = 89,
+       RTM_DELNSID = 89,
 #define RTM_DELNSID RTM_DELNSID
-	RTM_GETNSID = 90,
+       RTM_GETNSID = 90,
 #define RTM_GETNSID RTM_GETNSID
 
-	RTM_NEWSTATS = 92,
+       RTM_NEWSTATS = 92,
 #define RTM_NEWSTATS RTM_NEWSTATS
-	RTM_GETSTATS = 94,
+       RTM_GETSTATS = 94,
 #define RTM_GETSTATS RTM_GETSTATS
 
-	RTM_NEWCACHEREPORT = 96,
+       RTM_NEWCACHEREPORT = 96,
 #define RTM_NEWCACHEREPORT RTM_NEWCACHEREPORT
 
-	RTM_NEWCHAIN = 100,
+       RTM_NEWCHAIN = 100,
 #define RTM_NEWCHAIN RTM_NEWCHAIN
-	RTM_DELCHAIN,
+       RTM_DELCHAIN,
 #define RTM_DELCHAIN RTM_DELCHAIN
-	RTM_GETCHAIN,
+       RTM_GETCHAIN,
 #define RTM_GETCHAIN RTM_GETCHAIN
 
-	RTM_NEWNEXTHOP = 104,
+       RTM_NEWNEXTHOP = 104,
 #define RTM_NEWNEXTHOP	RTM_NEWNEXTHOP
-	RTM_DELNEXTHOP,
+       RTM_DELNEXTHOP,
 #define RTM_DELNEXTHOP	RTM_DELNEXTHOP
-	RTM_GETNEXTHOP,
+       RTM_GETNEXTHOP,
 #define RTM_GETNEXTHOP	RTM_GETNEXTHOP
 
-	RTM_NEWLINKPROP = 108,
-#define RTM_NEWLINKPROP	RTM_NEWLINKPROP
-	RTM_DELLINKPROP,
-#define RTM_DELLINKPROP	RTM_DELLINKPROP
-	RTM_GETLINKPROP,
-#define RTM_GETLINKPROP	RTM_GETLINKPROP
-
-	RTM_NEWVLAN = 112,
-#define RTM_NEWNVLAN	RTM_NEWVLAN
-	RTM_DELVLAN,
-#define RTM_DELVLAN	RTM_DELVLAN
-	RTM_GETVLAN,
-#define RTM_GETVLAN	RTM_GETVLAN
-
-	__RTM_MAX,
+       RTM_NEWLINKPROP = 108,
+#define RTM_NEWLINKPROP RTM_NEWLINKPROP
+       RTM_DELLINKPROP,
+#define RTM_DELLINKPROP RTM_DELLINKPROP
+       RTM_GETLINKPROP,
+#define RTM_GETLINKPROP RTM_GETLINKPROP
+
+       RTM_NEWVLAN = 112,
+#define RTM_NEWNVLAN RTM_NEWVLAN
+       RTM_DELVLAN,
+#define RTM_DELVLAN RTM_DELVLAN
+       RTM_GETVLAN,
+#define RTM_GETVLAN RTM_GETVLAN
+
+       __RTM_MAX,
 #define RTM_MAX		(((__RTM_MAX + 3) & ~3) - 1)
 };
 
@@ -186,7 +185,7 @@ enum {
 #define RTM_NR_FAMILIES	(RTM_NR_MSGTYPES >> 2)
 #define RTM_FAM(cmd)	(((cmd) - RTM_BASE) >> 2)
 
-/* 
+/*
    Generic structure for encapsulation of optional route information.
    It is reminiscent of sockaddr, but with sa_family replaced
    with attribute type.
@@ -226,7 +225,7 @@ struct rtmsg {
 
 	unsigned char		rtm_table;	/* Routing table id */
 	unsigned char		rtm_protocol;	/* Routing protocol; see below	*/
-	unsigned char		rtm_scope;	/* See below */	
+	unsigned char rtm_scope;		/* See below */
 	unsigned char		rtm_type;	/* See below	*/
 
 	unsigned		rtm_flags;
@@ -257,12 +256,13 @@ enum {
 
 /* rtm_protocol */
 
-#define RTPROT_UNSPEC		0
-#define RTPROT_REDIRECT		1	/* Route installed by ICMP redirects;
-					   not used by current IPv4 */
-#define RTPROT_KERNEL		2	/* Route installed by kernel		*/
-#define RTPROT_BOOT		3	/* Route installed during boot		*/
-#define RTPROT_STATIC		4	/* Route installed by administrator	*/
+#define RTPROT_UNSPEC 0
+#define RTPROT_REDIRECT                                                        \
+	1		/* Route installed by ICMP redirects;                  \
+			   not used by current IPv4 */
+#define RTPROT_KERNEL 2 /* Route installed by kernel		*/
+#define RTPROT_BOOT 3   /* Route installed during boot		*/
+#define RTPROT_STATIC 4 /* Route installed by administrator	*/
 
 /* Values of protocol >= RTPROT_STATIC are not interpreted by kernel;
    they are just passed from user and back as is.
@@ -271,23 +271,23 @@ enum {
    avoid conflicts.
  */
 
-#define RTPROT_GATED		8	/* Apparently, GateD */
-#define RTPROT_RA		9	/* RDISC/ND router advertisements */
-#define RTPROT_MRT		10	/* Merit MRT */
-#define RTPROT_ZEBRA		11	/* Zebra */
-#define RTPROT_BIRD		12	/* BIRD */
-#define RTPROT_DNROUTED		13	/* DECnet routing daemon */
-#define RTPROT_XORP		14	/* XORP */
-#define RTPROT_NTK		15	/* Netsukuku */
-#define RTPROT_DHCP		16	/* DHCP client */
-#define RTPROT_MROUTED		17	/* Multicast daemon */
-#define RTPROT_KEEPALIVED	18	/* Keepalived daemon */
-#define RTPROT_BABEL		42	/* Babel daemon */
-#define RTPROT_BGP		186	/* BGP Routes */
-#define RTPROT_ISIS		187	/* ISIS Routes */
-#define RTPROT_OSPF		188	/* OSPF Routes */
-#define RTPROT_RIP		189	/* RIP Routes */
-#define RTPROT_EIGRP		192	/* EIGRP Routes */
+#define RTPROT_GATED 8       /* Apparently, GateD */
+#define RTPROT_RA 9	  /* RDISC/ND router advertisements */
+#define RTPROT_MRT 10	/* Merit MRT */
+#define RTPROT_ZEBRA 11      /* Zebra */
+#define RTPROT_BIRD 12       /* BIRD */
+#define RTPROT_DNROUTED 13   /* DECnet routing daemon */
+#define RTPROT_XORP 14       /* XORP */
+#define RTPROT_NTK 15	/* Netsukuku */
+#define RTPROT_DHCP 16       /* DHCP client */
+#define RTPROT_MROUTED 17    /* Multicast daemon */
+#define RTPROT_KEEPALIVED 18 /* Keepalived daemon */
+#define RTPROT_BABEL 42      /* Babel daemon */
+#define RTPROT_BGP 186       /* BGP Routes */
+#define RTPROT_ISIS 187      /* ISIS Routes */
+#define RTPROT_OSPF 188      /* OSPF Routes */
+#define RTPROT_RIP 189       /* RIP Routes */
+#define RTPROT_EIGRP 192     /* EIGRP Routes */
 
 /* rtm_scope
 
@@ -317,8 +317,8 @@ enum rt_scope_t {
 #define RTM_F_PREFIX		0x800	/* Prefix addresses		*/
 #define RTM_F_LOOKUP_TABLE	0x1000	/* set rtm_table to FIB lookup result */
 #define RTM_F_FIB_MATCH	        0x2000	/* return full fib lookup match */
-#define RTM_F_OFFLOAD		0x4000	/* route is offloaded */
-#define RTM_F_TRAP		0x8000	/* route is trapping packets */
+#define RTM_F_OFFLOAD 0x4000		/* route is offloaded */
+#define RTM_F_TRAP 0x8000		/* route is trapping packets */
 
 /* Reserved table identifiers */
 
@@ -540,7 +540,7 @@ struct ifinfomsg {
 };
 
 /********************************************************************
- *		prefix information 
+ *		prefix information
  ****/
 
 struct prefixmsg {
@@ -554,13 +554,7 @@ struct prefixmsg {
 	unsigned char	prefix_pad3;
 };
 
-enum 
-{
-	PREFIX_UNSPEC,
-	PREFIX_ADDRESS,
-	PREFIX_CACHEINFO,
-	__PREFIX_MAX
-};
+enum { PREFIX_UNSPEC, PREFIX_ADDRESS, PREFIX_CACHEINFO, __PREFIX_MAX };
 
 #define PREFIX_MAX	(__PREFIX_MAX - 1)
 
@@ -594,32 +588,31 @@ struct tcmsg {
  */
 #define TCM_IFINDEX_MAGIC_BLOCK (0xFFFFFFFFU)
 
-enum {
-	TCA_UNSPEC,
-	TCA_KIND,
-	TCA_OPTIONS,
-	TCA_STATS,
-	TCA_XSTATS,
-	TCA_RATE,
-	TCA_FCNT,
-	TCA_STATS2,
-	TCA_STAB,
-	TCA_PAD,
-	TCA_DUMP_INVISIBLE,
-	TCA_CHAIN,
-	TCA_HW_OFFLOAD,
-	TCA_INGRESS_BLOCK,
-	TCA_EGRESS_BLOCK,
-	TCA_DUMP_FLAGS,
-	__TCA_MAX
-};
+enum { TCA_UNSPEC,
+       TCA_KIND,
+       TCA_OPTIONS,
+       TCA_STATS,
+       TCA_XSTATS,
+       TCA_RATE,
+       TCA_FCNT,
+       TCA_STATS2,
+       TCA_STAB,
+       TCA_PAD,
+       TCA_DUMP_INVISIBLE,
+       TCA_CHAIN,
+       TCA_HW_OFFLOAD,
+       TCA_INGRESS_BLOCK,
+       TCA_EGRESS_BLOCK,
+       TCA_DUMP_FLAGS,
+       __TCA_MAX };
 
 #define TCA_MAX (__TCA_MAX - 1)
 
-#define TCA_DUMP_FLAGS_TERSE (1 << 0) /* Means that in dump user gets only basic
-				       * data necessary to identify the objects
-				       * (handle, cookie, etc.) and stats.
-				       */
+#define TCA_DUMP_FLAGS_TERSE                                                   \
+	(1 << 0) /* Means that in dump user gets only basic                    \
+		  * data necessary to identify the objects                     \
+		  * (handle, cookie, etc.) and stats.                          \
+		  */
 
 #define TCA_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg))))
 #define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg))
@@ -738,7 +731,7 @@ enum rtnetlink_groups {
 	RTNLGRP_NEXTHOP,
 #define RTNLGRP_NEXTHOP		RTNLGRP_NEXTHOP
 	RTNLGRP_BRVLAN,
-#define RTNLGRP_BRVLAN		RTNLGRP_BRVLAN
+#define RTNLGRP_BRVLAN RTNLGRP_BRVLAN
 	__RTNLGRP_MAX
 };
 #define RTNLGRP_MAX	(__RTNLGRP_MAX - 1)
@@ -778,7 +771,7 @@ enum {
 #define RTEXT_FILTER_BRVLAN	(1 << 1)
 #define RTEXT_FILTER_BRVLAN_COMPRESSED	(1 << 2)
 #define	RTEXT_FILTER_SKIP_STATS	(1 << 3)
-#define RTEXT_FILTER_MRP	(1 << 4)
+#define RTEXT_FILTER_MRP (1 << 4)
 
 /* End of information exported to user level */
 
diff --git a/lib/zclient.h b/lib/zclient.h
index 050877f27..0f33f32cb 100644
--- a/lib/zclient.h
+++ b/lib/zclient.h
@@ -486,14 +486,14 @@ struct zapi_route {
  * forwarding.  This flag makes no sense unless you are in
  * an asic offload situation
  */
-#define ZEBRA_FLAG_TRAPPED            0x80
+#define ZEBRA_FLAG_TRAPPED 0x80
 /*
  * This flag tells everyone that the route has been
  * successfully offloaded to an asic for forwarding.
  * This flag makes no sense unless you are in an asic
  * offload situation.
  */
-#define ZEBRA_FLAG_OFFLOADED          0x100
+#define ZEBRA_FLAG_OFFLOADED 0x100
 
 	/* The older XXX_MESSAGE flags live here */
 	uint32_t message;

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.

@LabN-CI
Copy link
Collaborator

LabN-CI commented Sep 22, 2020

💚 Basic BGPD CI results: SUCCESS, 0 tests failed

Results table
_ _
Result SUCCESS git merge/7155 5a3cf85
Date 09/22/2020
Start 16:35:43
Finish 17:01:46
Run-Time 26:03
Total 1815
Pass 1815
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2020-09-22-16:35:43.txt
Log autoscript-2020-09-22-16:36:40.log.bz2
Memory 503 480 429

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-14317/

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:

Checkout code: Successful with additional warnings
<stdin>:31: trailing whitespace.
/* 
<stdin>:40: trailing whitespace.
	unsigned char		rtm_scope;	/* See below */	
<stdin>:117: trailing whitespace.
 *		prefix information 
<stdin>:126: trailing whitespace.
enum 
warning: 4 lines add whitespace errors.
Report for rtnetlink.h | 14 issues
===============================================
< ERROR: trailing whitespace
< #189: FILE: /tmp/f1-8864/rtnetlink.h:189:
< ERROR: trailing whitespace
< #229: FILE: /tmp/f1-8864/rtnetlink.h:229:
< WARNING: line over 80 characters
< #263: FILE: /tmp/f1-8864/rtnetlink.h:263:
< WARNING: line over 80 characters
< #264: FILE: /tmp/f1-8864/rtnetlink.h:264:
< WARNING: line over 80 characters
< #265: FILE: /tmp/f1-8864/rtnetlink.h:265:
< ERROR: trailing whitespace
< #543: FILE: /tmp/f1-8864/rtnetlink.h:543:
< ERROR: trailing whitespace
< #557: FILE: /tmp/f1-8864/rtnetlink.h:557:

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-14317/artifact/DEB10BUILD/ErrorLog/log_lintian.txt)

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

Copy link
Contributor

@mjstapp mjstapp left a comment

Choose a reason for hiding this comment

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

Had a few questions

include/linux/rtnetlink.h Show resolved Hide resolved
include/linux/rtnetlink.h Show resolved Hide resolved
lib/route_types.pl Show resolved Hide resolved
zebra/zebra_vty.c Show resolved Hide resolved
@mjstapp mjstapp merged commit ccda0ea into FRRouting:master Sep 23, 2020
@donaldsharp donaldsharp deleted the TRAP branch June 23, 2021 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants