...
A variety of examples of different iBGP topologies are shown in the following figure.
ONOS-1.1 note: A subset of BGP Multiprotocol Extensions Capabilities (RFC 4760) is implemented: IPv4 and IPv6 unicast routes (AFI/SAFI). However, the receiving and processing of IPv6 routes has been tested only over IPv4 BGP peering.
Configuration
SDN-IP currently uses a simple JSON file format to import configuration data. There are two separate files: addresses.json for IP and MAC address data, and sdnip.json for BGP peering session data.
...
When running SDN-IP, each address used by the SDN network to peer with an external router needs to be configured in the addresses.json file.addresses.json file.
ONOS-1.1 note: Multiple IP addresses (including IPv6) can be configured per interface:
Code Block |
---|
{
"addresses" : [
{
...
"ips" : ["10.0.1.101/24", "2001:DB8::1/64"],
...
},
...
]
} |
BGP configuration
The sdnip.json
file contains details of the BGP peering sessions, as well as the connectivity between internal BGP speakers and external BGP peers.
...
In addition to the network configuration described above, there is a separate configuration file for the SDN-IP software component. Currently there is one configurable parameter, the port that SDN-IP listens for incoming BGP connections on. If you wish to configure this parameter, place this file at KARAF_ROOT/etc/org.onosproject.sdnip.SdnIp.cfg
. Note that by default ONOS listens on TCP port number 2000 for incoming BGP connections, which is not the default BGP port number 179.
Code Block |
---|
bgpPort=50002000 |
ONOS-1.1 note: In ONOS-1.1 the above configuration should be placed in file KARAF_ROOT/etc/org.onosproject.routing.bgp.BgpSessionManager.cfg
.
BGP speakers
Each BGP speaker potentially has multiple peering sessions to different external networks. It is possible for these peering sessions to be on different IP subnets, which means each BGP speaker can potentially have multiple IP addresses it is peering on. These addresses must be configured in the sdnip.json file, but they also need to be configured on the interfaces of the BGP speaker, so that it can receive packets sent to it on those addresses.
...
If the routes are not received, check if the internal BGP speaker has received the routes and advertised them to ONOS.
In addition, you could use the following command to see BGP-specific information about the received routes:
Code Block |
---|
onos> bgp-routes |
Once the routes are received, ONOS will start to install MultiPointToSinglePoint intents for each route. You can check this is correct by looking at the number of MultiPointToSinglePoint intents in the intent summary. It should be the same as the number of routes, and all intents should move to the INSTALLED state before long.
...