- transit traffic (traffic from one BGP peer outside local SDN network traverses local SDN network and goes to another BGP peer) are proactively installed by SDN-IP application
- one host wants to talk to another host, both two hosts are in SDN network.
- one host in SDN network wants to talk to another host in Internet.
- one host from Internet wants to talk to another host in SDN network.
Even if you only want run reactive routing for local traffic, which means case 2 above. You still need to run SDN-IP APP.
one example of the configuration file is:
{ "ports" : { "of:00000000000000a1/4" : { "interfaces" : [ { "ips" : [ "201.0.0.254/24" ], "mac" : "00:00:00:00:00:01" } ] }, "of:00000000000000a2/3" : { "interfaces" : [ { "ips" : [ "202.0.0.254/24" ], "mac" : "00:00:00:00:00:01" } ] }, "of:00000000000000a6/3" : { "interfaces" : [ { "ips" : [ "206.0.0.200/24" ], "mac" : "00:00:00:00:00:01" } ] }, "of:0000000000000a13/4" : { "interfaces" : [ { "ips" : [ "213.0.0.200/24" ], "mac" : "00:00:00:00:00:01" } ] } }, "apps" : { "org.onosproject.reactive.routing" : { "reactiveRouting" : { "ip4LocalPrefixes" : [ { "ipPrefix" : "201.0.0.0/24", "type" : "PUBLIC", "gatewayIp" : "201.0.0.254" }, { "ipPrefix" : "202.0.0.0/24", "type" : "PUBLIC", "gatewayIp" : "202.0.0.254" }, { "ipPrefix" : "206.0.0.0/24", "type" : "PRIVATE", "gatewayIp" : "206.0.0.254" }, { "ipPrefix" : "213.0.0.0/24", "type" : "PRIVATE", "gatewayIp" : "213.0.0.254" } ], "ip6LocalPrefixes" : [ ], "virtualGatewayMacAddress" : "00:00:00:00:00:01" } } } }
If you want to make all the scenarios work, including 1. 2. 3. 4. Then you should config both SDN-IP APP and ReactiveRouting APP. One config example is:
{ "ports" : { "of:00000000000000a8/5" : { "interfaces" : [ { "ips" : [ "10.0.5.101/24" ], "mac" : "00:00:00:00:00:01" } ] }, "of:0000000000000a32/4" : { "interfaces" : [ { "ips" : [ "10.0.4.101/24" ], "mac" : "00:00:00:00:00:01" } ] }, "of:0000000000000a28/3" : { "interfaces" : [ { "ips" : [ "10.0.6.101/24" ], "mac" : "00:00:00:00:00:01" } ] }, "of:00000000000000a1/4" : { "interfaces" : [ { "ips" : [ "201.0.0.200/24" ], "mac" : "00:00:00:00:00:01" } ] }, "of:00000000000000a2/3" : { "interfaces" : [ { "ips" : [ "202.0.0.200/24" ], "mac" : "00:00:00:00:00:01" } ] }, "of:00000000000000a6/3" : { "interfaces" : [ { "ips" : [ "206.0.0.200/24" ], "mac" : "00:00:00:00:00:01" } ] }, "of:0000000000000a13/4" : { "interfaces" : [ { "ips" : [ "213.0.0.200/24" ], "mac" : "00:00:00:00:00:01" } ] } }, "apps" : { "org.onosproject.router" : { "bgp" : { "bgpSpeakers" : [ { "connectPoint" : "of:0000000000000a24/1", "peers" : [ "10.0.4.1", "10.0.5.1", "10.0.6.1" ] } ] } }, "org.onosproject.reactive.routing" : { "reactiveRouting" : { "ip4LocalPrefixes" : [ { "ipPrefix" : "201.0.0.0/24", "type" : "PUBLIC", "gatewayIp" : "201.0.0.254" }, { "ipPrefix" : "202.0.0.0/24", "type" : "PUBLIC", "gatewayIp" : "202.0.0.254" }, { "ipPrefix" : "206.0.0.0/24", "type" : "PRIVATE", "gatewayIp" : "206.0.0.254" }, { "ipPrefix" : "213.0.0.0/24", "type" : "PRIVATE", "gatewayIp" : "213.0.0.254" } ], "ip6LocalPrefixes" : [ ], "virtualGatewayMacAddress" : "00:00:00:00:00:01" } } } }
Since "201.0.0.0/24" and "202.0.0.0/24" are public IP prefixes, you should also config them inside BGP speakers inside SDN network.