I was trying to check if BGP is able to send old style BGP Update messages (without
Multi-Protocol Reach NLRI).
If peer advertises just IPv4 MP capability, then ODL uses Multi-Protocol Reach NLRI.
In case IPv4 MP is not advertised, ODL BGP does not sent update at all.
Including pcap showing OPEN messages and karaf.log.
Protocol configuration:
<protocol xmlns="http://openconfig.net/yang/network-instance">
<name>bgp-example</name>
<identifier xmlns:x="http://openconfig.net/yang/policy-types">x:BGP</identifier>
<bgp xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
<global>
<config>
<router-id>172.17.0.3</router-id>
<as>65000</as>
</config>
</global>
</bgp>
</protocol>
Server configuration:
<bgp-peer-acceptor-config xmlns="urn:opendaylight:params:xml:ns:yang:odl-bgp-peer-acceptor-config">
<config-name>default</config-name>
<binding-address>172.17.0.3</binding-address>
<binding-port>179</binding-port>
</bgp-peer-acceptor-config>
Peer config (tried to skip afi-safis, but got NPE at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer$BgpPeerSingletonService.<init>(BgpPeer.java:241)[202:org.opendaylight.bgpcep.bgp-rib-impl:0.8.1):
{
"neighbor": {
"neighbor-address": "172.17.0.4",
"timers": {
"config":
},
"config":
,
"transport": {
"config":
},
"afi-safis": {
"afi-safi": [
]
}
}
}
Route is writen to speaker's loc-rib
GET http://172.17.0.3:8181/restconf/operational/bgp-rib:bgp-rib/rib/bgp-example/loc-rib
{
"loc-rib": {
"tables": [
{
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family",
"bgp-inet:ipv4-routes": {
"ipv4-route": [
{
"prefix": "10.0.0.12/32",
"path-id": 0,
"attributes": {
"origin":
,
"as-path": {},
"local-pref":
,
"ipv4-next-hop":
}
}
]
}
}
]
}
}
But not to adj-rib-out:
{
"adj-rib-out": {
"tables": [
{
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family",
"bgp-inet:ipv4-routes": {},
"attributes": {}
}
]
}
}