| Device Configuration |
| ==================== |
| Each switch in Trellis requires a device config. |
| |
| .. code-block:: json |
| :linenos: |
| |
| { |
| "devices" : { |
| "of:0000000000000001" : { |
| "segmentrouting" : { |
| "ipv4NodeSid" : 101, |
| "ipv4Loopback" : "192.168.0.201", |
| "ipv6NodeSid" : 111, |
| "ipv6Loopback" : "2000::c0a8:0201", |
| "routerMac" : "00:00:00:00:02:01", |
| "isEdgeRouter" : true, |
| "adjacencySids" : [] |
| }, |
| "basic" : { |
| "name" : "Leaf-R1", |
| "driver" : "ovs-ofdpa" |
| } |
| } |
| } |
| } |
| |
| - ``of:0000000000000001``: DPID of the device. |
| - ``ipv4NodeSid``: IPv4 node segment ID, which is used as an MPLS label in forwarding IPv4 traffic. Can be arbitrary and should be globally unique. |
| - ``ipv4Loopback``: IPv4 loopback address. Can be arbitrary, should be globally unique and should not be part of the same subnet(s) defined on the data plane ports (see port config). |
| - ``ipv6NodeSid``: IPv6 node segment ID, which is used as an MPLS label in forwarding IPv6 traffic. Can be arbitrary and should be globally unique. Only required when using IPv6. |
| - ``ipv6Loopback``: IPv6 loopback address. Can be arbitrary, should be globally unique and should not be part of the same subnet(s) defined on the data plane ports (see port config). |
| Only required when using IPv6. |
| - ``routerMac``: Router MAC address. Can be arbitrary and should be globally unique. |
| This MAC address will be used to reply the ARP request for the loopback IP or the Interface IP that will be introduced later. |
| (We recommend using the MAC address of the device's management interface as the router MAC.) |
| - ``isEdgeRouter``: True for leaf switches. False for spine switches. |
| - ``adjacencySids``: Deprecated. Just put an empty array for now. |
| - ``name``: Name of the device. It is an arbitrary name to identify the device easily. |
| - ``driver``: This tells ONOS which OpenFlow driver should be loaded for this device. It overrides the driver selected by ONOS automatically when the device connects. |
| |
| - When using OpenvSwitch, set this to ``ovs-ofdpa`` |
| - When using hardware switches, set this to ``ofdpa3`` or eliminate ``driver`` entirely as the correct driver configuration will be set automatically by ONOS |
| |
| .. note:: |
| Most of the Trellis configurations support dynamic configuration updates. |
| Unfortunately, Trellis currently **do not support dynamic device configuration updates**. |
| You will have to restart the device when if corresponding device configuration changes. |
| |
| Having said that, when introducing a completely new device in the network, |
| the device configurations pushed before the device's connection should apply correctly. |