...
- name: name of L2Network to be used by IpSubnets
- interfaces: interfaces names of ports of this L2Network
- l2Forward: yes to enable L2 Destination MAC based forwarding (default: yes)
- l2Broadcast: yes to enable L2 Destination FF:FF:FF:FF:FF:FF MAC to be broadcast to all l2Network ports except the incoming port (default: yes)
IpSubnets
- ipPrefix: IP subnet range
- gatewayIp: Virtual Gateway IP address
- gatewayMac: Virtual Gateway Mac MAC address
- l2NetworkName: L2Network this IpSubnet is collocated
BorderRoutesBorder Routes
- ipPrefix: route prefix to be matched on destination IP address (NOTE: IpSubnet ipPrefix matching has priority over borderRoute ipPrefix)
- nextHop: outer gateway IP to which forward the matched packet; should be a valid IP address of IpSubnets
Devices, Ports / Interfaces
To be used for L2Networks's interface fields
Example network-cfg.json file:
{
"devices":{
... list of devices ...
"of:0000000000000011":{ "basic":{ "name":"LS1", "latitude":35, "longitude":-100 } },
"of:0000000000000012":{ "basic":{ "name":"LS2", "latitude":35, "longitude":-90 } },
"of:0000000000000021":{ "basic":{ "name":"SS1", "latitude":40, "longitude":-100 } },
"of:0000000000000022":{ "basic":{ "name":"SS2", "latitude":40, "longitude":-90 } }
},
"ports" : {
... list of port/interfaces ...
"of:0000000000000011/1" : { "interfaces" : [ { "name" : "h11" } ] },
"of:0000000000000011/2" : { "interfaces" : [ { "name" : "h12" } ] },
"of:0000000000000011/3" : { "interfaces" : [ { "name" : "h13" } ] },...
"of:0000000000000011/4" : { "interfaces" : [ { "name" : "h14" } ] },
"of:0000000000000011/5" : { "interfaces" : [ { "name" : "d11" } ] },
"of:0000000000000011/6" : { "interfaces" : [ { "name" : "d12" } ] },
"of:0000000000000011/7" : { "interfaces" : [ { "name" : "LS1_SS1" } ] },
"of:0000000000000011/8" : { "interfaces" : [ { "name" : "LS1_SS2" } ] },
"of:0000000000000012/1" : { "interfaces" : [ { "name" : "h21" } ] } ,
"of:0000000000000012/2" : { "interfaces" : [ { "name" : "h22" } ] },
"of:0000000000000012/3" : { "interfaces" : [ { "name" : "h23" } ] },
"of:0000000000000012/4" : { "interfaces" : [ { "name" : "h24" } ] },
"of:0000000000000012/5" : { "interfaces" : [ { "name" : "d21" } ] },
"of:0000000000000012/6" : { "interfaces" : [ { "name" : "d22" } ] },
"of:0000000000000012/7" : { "interfaces" : [ { "name" : "LS2_SS1" } ] },
"of:0000000000000012/8" : { "interfaces" : [ { "name" : "LS2_SS2" } ] },
"of:0000000000000021/1" : { "interfaces" : [ { "name" : "SS1_LS1" } ] },
"of:0000000000000021/2" : { "interfaces" : [ { "name" : "SS1_LS2" } ] },
"of:0000000000000022/1" : { "interfaces" : [ { "name" : "SS2_LS1" } ] },
"of:0000000000000022/2" : { "interfaces" : [ { "name" : "SS2_LS2" } ] }...
},
"apps" : {
"org.onosproject.simplefabric" : {
"simpleFabric" : {
"l2Networks" : [
{ "name" : "LEAF1", "interfaces" : ["h11", "h12", "h13", "h14", "d11", "d12" ], "l2Forward" : true },
{ "name" : "LEAF2", "interfaces" : ["h21", "h22", "h23", "h24", "d21", "d22" ], "l2Forward" : true }
],
"ipSubnets" : [
{ "ipPrefix" : "10.0.1.0/24", "gatewayIp" : "10.0.1.1", "gatewayMac" : "00:00:10:00:01:01", "l2NetworkName" : "LEAF1" },
{ "ipPrefix" : "10.0.2.0/24", "gatewayIp" : "10.0.2.1", "gatewayMac" : "00:00:10:00:02:01", "l2NetworkName" : "LEAF2" }
],
"borderRoutes" : [
{ "ipPrefix" : "0.0.0.0/0", "nextHop" : "10.0.1.2" }
]
}
}
}
}
...