Hi,all:
Hi. I'm trying to use ODL to controller routes on a server:
1. add an BGP instance on ODL controller
2. setup an IPv4 BGP session between the ODL controller and a server with quagga
3. add an application neighbor to this BGP instance
4. add an application route to the application rib
then I check the route on quagga server, it works.
but after I restart quagga, ODL dosen't update the route to quagga server again.
I restart ODL, ODL dosen't update the route to quagga server again.
if I DELETE the route and re-POST to ODL,the route works agagin.
My question is:How can I make the route work after quagga restart or ODL restart?
some information:
ODL Host: 10.82.79.13 (Debian 8.7 4.9.0-0.bpo.2-amd64)
ODL version: distribution-karaf-0.5.5-20170903.233516-485.zip
odl-bgpcep-bgp version: 0.6.5-SNAPSHOT
Quagga Host: 10.82.79.10(Debian 8.7 4.9.0-0.bpo.2-amd64)
Quagga version: 0.99.23.1-1+deb8u3
quagga config:
router bgp 16310
bgp router-id 10.82.79.10
bgp graceful-restart
bgp bestpath as-path multipath-relax
aggregate-address 10.30.0.0/16 summary-only
timers bgp 3 9
neighbor 10.82.79.13 remote-as 16163
neighbor 10.82.79.13 port 1790
neighbor 10.82.79.13 advertisement-interval 3
neighbor 10.82.79.13 timers 3 9
neighbor 10.82.79.13 soft-reconfiguration inbound
neighbor 10.82.79.13 route-map from_controller in
access-list 163 permit ip any any
!
route-map from_controller permit 163
match ip address 163
set local-preference 200
set community local-AS
!
route-map from_controller permit 263
ODL:
GET http://{{controller}}:8181/restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/test10
{
"protocol": [
{
"identifier": "openconfig-policy-types:BGP",
"name": "test10",
"bgp-openconfig-extensions:bgp": {
"global": {
"graceful-restart": {
"config": {
"enabled": true,
"restart-time": 9
}
},
"route-selection-options": {
"config": {
"advertise-inactive-routes": true,
"ignore-next-hop-igp-metric": true
}
},
"use-multiple-paths": {
"ibgp": {
"config": {
"maximum-paths": 8
}
},
"ebgp": {
"config": {
"allow-multiple-as": true,
"maximum-paths": 8
}
},
"state": {
"enabled": true
},
"config": {
"enabled": true
}
},
"config": {
"as": 16163,
"router-id": "163.163.163.10"
}
},
"neighbors": {
"neighbor": [
{
"neighbor-address": "163.163.163.10",
"add-paths": {
"config": {
"send-max": 8,
"receive": true
}
},
"config": {
"peer-group": "application-peers"
}
},
{
"neighbor-address": "10.82.79.10",
"timers": {
"config": {
"hold-time": 9,
"keepalive-interval": 3,
"minimum-advertisement-interval": 3
}
},
"add-paths": {
"config": {
"send-max": 8,
"receive": true
}
},
"config": {
"peer-as": 16310,
"peer-type": "EXTERNAL",
"simple-routing-policy": "learn-none"
}
}
]
}
}
}
]
}
GET:http://{{controller}}:8181/restconf/operational/bgp-rib:bgp-rib/rib/test10
{
"rib": [
{
"id": "test10",
"peer": [
{
"peer-id": "bgp://163.163.163.10",
"effective-rib-in": {
"tables": [
{
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family",
"bgp-inet:ipv4-routes": {
"ipv4-route": [
{
"path-id": 0,
"prefix": "10.31.0.0/16",
"attributes": {
"as-path": {},
"origin": {
"value": "igp"
},
"local-pref": {
"pref": 200
},
"ipv4-next-hop": {
"global": "10.62.100.12"
}
}
}
]
},
"attributes": {}
}
]
},
"peer-role": "internal",
"adj-rib-in": {
"tables": [
{
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family",
"bgp-inet:ipv4-routes": {
"ipv4-route": [
{
"path-id": 0,
"prefix": "10.31.0.0/16",
"attributes": {
"as-path": {},
"origin": {
"value": "igp"
},
"local-pref": {
"pref": 200
},
"ipv4-next-hop": {
"global": "10.62.100.12"
}
}
}
]
},
"attributes": {
"uptodate": false
}
}
]
}
},
{
"peer-id": "bgp://10.82.79.10",
"simple-routing-policy": "learn-none",
"peer-role": "ebgp",
"supported-tables": [
{
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family"
}
],
"adj-rib-in": {
"tables": [
{
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family",
"bgp-inet:ipv4-routes": {},
"attributes": {
"uptodate": true
}
}
]
},
"adj-rib-out": {
"tables": [
{
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family",
"bgp-inet:ipv4-routes": {},
"attributes": {}
}
]
}
}
],
"loc-rib": {
"tables": [
{
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family",
"bgp-inet:ipv4-routes": {
"ipv4-route": [
{
"path-id": 0,
"prefix": "10.31.0.0/16",
"attributes": {
"as-path": {},
"origin": {
"value": "igp"
},
"local-pref": {
"pref": 200
},
"ipv4-next-hop": {
"global": "10.62.100.12"
}
}
}
]
}
}
]
}
}
]
}