Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Overview

SimpleFabric application is built to replace legacy leaf networks where lP subnets are collocated with each leaf L2 switches and do simple IP routing to upper gateway to Internet

Image Modified

Features

L2 Forwarding

...

  • 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" }

        ]

      }

    }

  }

}

...

Topology configurations and events are all maintained by SimpleFabricManager SimpleFabricService/Manager and notified to sub modules to apply updates.

...