&{APP_PEER} IP=${ODL_SYSTEM_IP} BGP_RIB=${RIB_NAME}
${NEW_IPV4_ROUTES_LINE} ${EMPTY}
${OLD_IPV4_ROUTES_LINE} \n"bgp-inet:ipv4-routes": {},
+${BGP_CONFIG_SERVER_CMD} bgp-connect -h ${ODL_SYSTEM_IP} -p 7644 add
+${VPNV4_ADDR_FAMILY} vpnv4
+${DISPLAY_VPN4_ALL} show-bgp --cmd "ip bgp ${VPNV4_ADDR_FAMILY} all"
*** Keywords ***
Start Quagga Processes On ODL
Log ${output}
Should Contain ${output} BGP state = Established
+Setup BGP Peering On ODL
+ [Arguments] ${odl_ip} ${as_id} ${nbr_ip}
+ [Documentation] Setup BGP peering between ODL and given neighbor IP.
+ ... Configuring and starting BGP on ODL node with given AS number
+ ... Adding and verifying BGP neighbor
+ KarafKeywords.Issue Command On Karaf Console ${BGP_CONFIG_SERVER_CMD}
+ BgpOperations.Create BGP Configuration On ODL localas=${as_id} routerid=${odl_ip}
+ BgpOperations.AddNeighbor To BGP Configuration On ODL remoteas=${as_id} neighborAddr=${nbr_ip}
+ ${output} = BgpOperations.Get BGP Configuration On ODL session
+ BuiltIn.Should Contain ${output} ${nbr_ip}
+
+Setup BGP Peering On DCGW
+ [Arguments] ${dcgw_ip} ${as_id} ${nbr_ip} ${vrf_name} ${rd} ${loopback_ip}
+ [Documentation] Setup BGP peering between DCGW and given neighbor IP.
+ ... Configuring,adding neighbor on DCGW node and verifying BGP neighbor.
+ BgpOperations.Configure BGP And Add Neighbor On DCGW ${dcgw_ip} ${as_id} ${dcgw_ip} ${nbr_ip} ${vrf_name} ${rd}
+ ... ${loopback_ip}
+ ${output} = BgpOperations.Execute Show Command On Quagga ${dcgw_ip} ${RUN_CONFIG}
+ BuiltIn.Should Contain ${output} ${nbr_ip}
+
Verify Routes On Quagga
[Arguments] ${dcgw_ip} ${rd} ${ip_list}
[Documentation] Verify routes on quagga
[Documentation] Converts hex message arguments to integers and sums them up and returns the sum.
${final_sum} = BuiltIn.Evaluate sum(map(lambda x: int(x, 16), re.compile('[a-f\d]{2}').findall('${hex_string}'[32:]))) modules=re
[Return] ${final_sum}
+
+Check BGP VPNv4 Nbr On ODL
+ [Arguments] ${dcgw_count} ${flag}=True ${start}=${START_VALUE}
+ [Documentation] Check all BGP VPNv4 neighbor on ODL
+ ${output} = KarafKeywords.Issue Command On Karaf Console ${DISPLAY_VPN4_ALL}
+ : FOR ${index} IN RANGE ${start} ${dcgw_count}
+ \ BuiltIn.Run Keyword If ${flag}==True BuiltIn.Should Contain ${output} ${DCGW_IP_LIST[${index}]}
+ \ ... ELSE BuiltIn.Should Not Contain ${output} ${DCGW_IP_LIST[${index}]}