Redundant ECSP Services HowTo

This document describes how to configure the ECSP services in a redundant train setup. The consists are depicted in Figure 1.

The result of the inauguration will be a network where ETBN1 in consist 1 has ETBN-ID 1, the IP-address 10.128.0.1 (based on the ETBN-ID and since the network is configured as TCMS). ETBN1 in consist 2 will attain ETBN-ID 2 and IP 10.128.0.2. ETBN2 in consist 2 will attain ETBN-ID 3 and IP 10.128.0.3. CN1 in consist 1 will attain the network IP 10.128.64.0/18, and CN1 in consist 2 IP 10.128.128.0/18.

Note that in the diagram below, the nodes are named ETBN1, ETBN2 and ETBN1, while in the configuration examples below, the device hostnames are etbn1cst1, etbn1cst2 and etbn2cst2. This is to differentiate between a few concepts: the names in the diagram refer to the local ETBN ID (set using the local-id command), while the hostnames refer to both the local ETBN ID as well as the consist that the node is in.

        .-------.    .------------------------.
       /  cst1   \  /           cst2           \
       '---------'  '--------------------------'
        .-------.      .-------.    .-------.
      --+       +------+       +----+       +--      dir1 = (ethX5, ethX6)
  <-dir1| ETBN1 |      | ETBN1 |    | ETBN2 |dir2->  dir2 = (ethX7, ethX8)
      --+       +------+       +----+       +--
        '---+---'      '---+---'    '---+---'
            |              |            |
            |          --+-+------------+---- cst2-cn1 vlan10 (ethX3)
            |            |
            |          ECSC2
            |
          --+---+----- cst1-cn1 vlan10 (ethX3)
            |
          ECSC1

Figure 1: Acceessing ECSP in a redundant consist setup.

Note

The two redundant nodes in consist 2 must have the same configuration with respect to uuid and node. In this example we also have the same ecn configuration. They must, however, have different values for the local-id setting.

Note

Both nodes in consist 2 need to have VRRP configured and enabled on the CN side.

Configuration

The first configuration example shows how to configure ETBN1 in consist 1.

etbn1cst1:#> configure
etbn1cst1:/config/#> vlan 10
Creating new VLAN vid:10 with name: vlan10
etbn1cst1:/config/vlan-10/#> untagged ethX3
etbn1cst1:/config/vlan-10/#> end
etbn1cst1:/config/#> iface vlan10
etbn1cst1:/config/iface-vlan10/#> no inet
etbn1cst1:/config/iface-vlan10/#> inet static 10.0.0.10/18
etbn1cst1:/config/iface-vlan10/inet-static-10.0.0.10/#> end
etbn1cst1:/config/iface-vlan10/#> end
etbn1cst1:/config/#> ttdp
Activating TTDP with default settings.
etbn1cst1:/config/ttdp/#> uuid 11111111-1111-1111-1111-111111111111
etbn1cst1:/config/ttdp/#> node 1 ecn 1
etbn1cst1:/config/ttdp/#> ecn 1 vlan10
etbn1cst1:/config/ttdp/#> dir1 ethX5,ethX6
Remember to manually set mdi/mdi-x mode
 in port settings for all agg ports.
etbn1cst1:/config/ttdp/#> dir2 ethX7,ethX8
Remember to manually set mdi/mdi-x mode
 in port settings for all agg ports.
etbn1cst1:/config/ttdp/#> local-id 1
etbn1cst1:/config/ttdp/#> ecsp-iface vlan10
etbn1cst1:/config/ttdp/#> ecsp-addr 10.0.0.10
etbn1cst1:/config/ttdp/#> ecsc-addr 10.0.0.42
etbn1cst1:/config/ttdp/#> end
TTDP: Created VLAN 492. Note that this VLAN will not be deleted automatically
  if TTDP is deactivated.
etbn1cst1:/config/#> vlan 2
Creating new VLAN vid:2 with name: vlan2
etbn1cst1:/config/vlan-2/#> no multicast-snooping
etbn1cst1:/config/vlan-2/#> untagged lag-dir1,lag-dir2
etbn1cst1:/config/vlan-2/#> end

Continue by configuring the ports.

etbn1cst1:/config/#> port ethX5
etbn1cst1:/config/port-ethX5/#> speed-duplex 100-full
etbn1cst1:/config/port-ethX5/#> no auto-negotiate
etbn1cst1:/config/port-ethX5/#> fastlink
etbn1cst1:/config/port-ethX5/#> mdix-mode mdi
etbn1cst1:/config/port-ethX5/#> end
etbn1cst1:/config/#> port ethX6
etbn1cst1:/config/port-ethX6/#> speed-duplex 100-full
etbn1cst1:/config/port-ethX6/#> no auto-negotiate
etbn1cst1:/config/port-ethX6/#> fastlink
etbn1cst1:/config/port-ethX6/#> mdix-mode mdi
etbn1cst1:/config/port-ethX6/#> end
etbn1cst1:/config/#> port ethX7
etbn1cst1:/config/port-ethX7/#> speed-duplex 100-full
etbn1cst1:/config/port-ethX7/#> no auto-negotiate
etbn1cst1:/config/port-ethX7/#> fastlink
etbn1cst1:/config/port-ethX7/#> mdix-mode mdi
etbn1cst1:/config/port-ethX7/#> end
etbn1cst1:/config/#> port ethX8
etbn1cst1:/config/port-ethX8/#> speed-duplex 100-full
etbn1cst1:/config/port-ethX8/#> no auto-negotiate
etbn1cst1:/config/port-ethX8/#> fastlink
etbn1cst1:/config/port-ethX8/#> mdix-mode mdi
etbn1cst1:/config/port-ethX8/#> end
etbn1cst1:/config/#> end
Applying configuration.
Configuration activated.
Remember "copy run start" to save to flash (NVRAM).
etbn1cst1:/#>

Next, configure the ETBNs for consist 2. It contains of one consist network managed by two nodes.

Start with ETBN1 in consist 2 and configure vlans and the TTDP part.

etbn1cst2:#> configure
etbn1cst2:/config/#> vlan 10
Creating new VLAN vid:10 with name: vlan10
etbn1cst2:/config/vlan-10/#> untagged ethX3
etbn1cst2:/config/vlan-10/#> end
etbn1cst2:/config/#> iface vlan10
etbn1cst2:/config/iface-vlan10/#> no inet
etbn1cst2:/config/iface-vlan10/#> inet static 10.0.0.10/18
etbn1cst2:/config/iface-vlan10/inet-static-10.0.0.10/#> end
etbn1cst2:/config/iface-vlan10/#> end
etbn1cst2:/config/#> ttdp
Activating TTDP with default settings.
etbn1cst2:/config/ttdp/#> uuid 22222222-2222-2222-2222-222222222222
etbn1cst2:/config/ttdp/#> node 1 ecn 1
etbn1cst2:/config/ttdp/#> node 2 ecn 1
etbn1cst2:/config/ttdp/#> ecn 1 vlan10
etbn1cst2:/config/ttdp/#> dir1 ethX5,ethX6
Remember to manually set mdi/mdi-x mode
  in port settings for all agg ports.
etbn1cst2:/config/ttdp/#> dir2 ethX7,ethX8
Remember to manually set mdi/mdi-x mode
  in port settings for all agg ports.
etbn1cst2:/config/ttdp/#> local-id 1
etbn1cst2:/config/ttdp/#> ecsp-iface vlan10
etbn1cst2:/config/ttdp/#> ecsp-addr 10.0.0.10
etbn1cst2:/config/ttdp/#> ecsp-leader-addr 10.0.0.100
etbn1cst2:/config/ttdp/#> ecsc-addr 10.0.0.52
etbn1cst2:/config/ttdp/#> end
TTDP: Created VLAN 492. Note that this VLAN will not be deleted automatically
  if TTDP is deactivated.
etbn1cst2:/config/#> vlan 2
Creating new VLAN vid:2 with name: vlan2
etbn1cst2:/config/vlan-2/#> no multicast-snooping
etbn1cst2:/config/vlan-2/#> untagged lag-dir1,lag-dir2
etbn1cst2:/config/vlan-2/#> end

Continue by configuring the ports.

etbn1cst2:/config/#> port ethX5
etbn1cst2:/config/port-ethX5/#> speed-duplex 100-full
etbn1cst2:/config/port-ethX5/#> no auto-negotiate
etbn1cst2:/config/port-ethX5/#> fastlink
etbn1cst2:/config/port-ethX5/#> mdix-mode mdi
etbn1cst2:/config/port-ethX5/#> end
etbn1cst2:/config/#> port ethX6
etbn1cst2:/config/port-ethX6/#> speed-duplex 100-full
etbn1cst2:/config/port-ethX6/#> no auto-negotiate
etbn1cst2:/config/port-ethX6/#> fastlink
etbn1cst2:/config/port-ethX6/#> mdix-mode mdi
etbn1cst2:/config/port-ethX6/#> end
etbn1cst2:/config/#> port ethX7
etbn1cst2:/config/port-ethX7/#> speed-duplex 100-full
etbn1cst2:/config/port-ethX7/#> no auto-negotiate
etbn1cst2:/config/port-ethX7/#> fastlink
etbn1cst2:/config/port-ethX7/#> mdix-mode mdi
etbn1cst2:/config/port-ethX7/#> end
etbn1cst2:/config/#> port ethX8
etbn1cst2:/config/port-ethX8/#> speed-duplex 100-full
etbn1cst2:/config/port-ethX8/#> no auto-negotiate
etbn1cst2:/config/port-ethX8/#> fastlink
etbn1cst2:/config/port-ethX8/#> mdix-mode mdi
etbn1cst2:/config/port-ethX8/#> end

The next step is to configure VRRP on each node in the redundant consist, i.e., consist 2. Start with ETBN1 which will have the MASTER role. The MASTER role is gained by setting the priority for the VRRP instance higher than on ETBN2 (see VRRP).

etbn1cst2:/config/#> router
etbn1cst2:/config/router/#> vrrp cn1
Creating new VRRP instance: cn1
Invalid settings: Interface not set.
etbn1cst2:/config/router/vrrp-cn1/#> iface vlan1
Warning: No ports have been added to the configured VLAN.
VRRP will not work as expected with this configuration.
Invalid settings: Invalid IPv4 address.
etbn1cst2:/config/router/vrrp-cn1/#> address 10.0.0.100
Invalid settings: VRID invalid. Valid values: 1 to 255.
etbn1cst2:/config/router/vrrp-cn1/#> vrid 132
etbn1cst2:/config/router/vrrp-cn1/#> version 3
etbn1cst2:/config/router/vrrp-cn1/#> priority 150
etbn1cst2:/config/router/vrrp-cn1/#> interval 1
etbn1cst2:/config/router/vrrp-cn1/#> preempt delay 1
etbn1cst2:/config/router/vrrp-cn1/#> end
etbn1cst2:/config/router/#> end
etbn1cst2:/config/#> end
Applying configuration.
Configuration activated.
Remember "copy run start" to save to flash (NVRAM).
etbn1cst2:/#>

Now, repeat the exact steps above in the ETBN2 in consist 2.

etbn2cst2:#> configure
etbn2cst2:/config/#> vlan 10
Creating new VLAN vid:10 with name: vlan10
etbn2cst2:/config/vlan-10/#> untagged ethX3
etbn2cst2:/config/vlan-10/#> end
etbn2cst2:/config/#> iface vlan10
etbn2cst2:/config/iface-vlan10/#> no inet
etbn2cst2:/config/iface-vlan10/#> inet static 10.0.0.20/18
etbn2cst2:/config/iface-vlan10/inet-static-10.0.0.20/#> end
etbn2cst2:/config/iface-vlan10/#> end
etbn2cst2:/config/#> ttdp
Activating TTDP with default settings.
etbn2cst2:/config/ttdp/#> uuid 22222222-2222-2222-2222-222222222222
etbn2cst2:/config/ttdp/#> node 1 ecn 1
etbn2cst2:/config/ttdp/#> node 2 ecn 1
etbn2cst2:/config/ttdp/#> ecn 1 vlan10
etbn2cst2:/config/ttdp/#> dir1 ethX5,ethX6
Remember to manually set mdi/mdi-x mode
  in port settings for all agg ports.
etbn2cst2:/config/ttdp/#> dir2 ethX7,ethX8
Remember to manually set mdi/mdi-x mode
  in port settings for all agg ports.
etbn2cst2:/config/ttdp/#> local-id 2
etbn2cst2:/config/ttdp/#> ecsp-iface vlan10
etbn2cst2:/config/ttdp/#> ecsp-addr 10.0.0.10
etbn2cst2:/config/ttdp/#> ecsp-leader-addr 10.0.0.100
etbn2cst2:/config/ttdp/#> ecsc-addr 10.0.0.52
etbn2cst2:/config/ttdp/#> end
TTDP: Created VLAN 492. Note that this VLAN will not be deleted automatically
  if TTDP is deactivated.
etbn2cst2:/config/#> vlan 2
Creating new VLAN vid:2 with name: vlan2
etbn2cst2:/config/vlan-2/#> no multicast-snooping
etbn2cst2:/config/vlan-2/#> untagged lag-dir1,lag-dir2
etbn2cst2:/config/vlan-2/#> end

Continue by configuring the ports.

etbn2cst2:/config/#> port ethX5
etbn2cst2:/config/port-ethX5/#> speed-duplex 100-full
etbn2cst2:/config/port-ethX5/#> no auto-negotiate
etbn2cst2:/config/port-ethX5/#> fastlink
etbn2cst2:/config/port-ethX5/#> mdix-mode mdi
etbn2cst2:/config/port-ethX5/#> end
etbn2cst2:/config/#> port ethX6
etbn2cst2:/config/port-ethX6/#> speed-duplex 100-full
etbn2cst2:/config/port-ethX6/#> no auto-negotiate
etbn2cst2:/config/port-ethX6/#> fastlink
etbn2cst2:/config/port-ethX6/#> mdix-mode mdi
etbn2cst2:/config/port-ethX6/#> end
etbn2cst2:/config/#> port ethX7
etbn2cst2:/config/port-ethX7/#> speed-duplex 100-full
etbn2cst2:/config/port-ethX7/#> no auto-negotiate
etbn2cst2:/config/port-ethX7/#> fastlink
etbn2cst2:/config/port-ethX7/#> mdix-mode mdi
etbn2cst2:/config/port-ethX7/#> end
etbn2cst2:/config/#> port ethX8
etbn2cst2:/config/port-ethX8/#> speed-duplex 100-full
etbn2cst2:/config/port-ethX8/#> no auto-negotiate
etbn2cst2:/config/port-ethX8/#> fastlink
etbn2cst2:/config/port-ethX8/#> mdix-mode mdi
etbn2cst2:/config/port-ethX8/#> end

Note

In this HowTo, it is assumed that the ETB uses crossover cabling. For this reason, all ETB ports on both ETBNs use the same MDI-X mode. If non-crossover cabling is used, these settings must be changed for two of the inward-facing ETB ports.

Repeat the same steps for ETBN2 with a lower priority to make it backup. In this example the priority for the instance on ETBN2 is set to 100.

etbn2cst2:/config/#> router
etbn2cst2:/config/router/#> vrrp cn1
Creating new VRRP instance: cn1
Invalid settings: Interface not set.
etbn2cst2:/config/router/vrrp-cn1/#> iface vlan1
Warning: No ports have been added to the configured VLAN.
VRRP will not work as expected with this configuration.
Invalid settings: Invalid IPv4 address.
etbn2cst2:/config/router/vrrp-cn1/#> address 10.0.0.100
Invalid settings: VRID invalid. Valid values: 1 to 255.
etbn2cst2:/config/router/vrrp-cn1/#> vrid 132
etbn2cst2:/config/router/vrrp-cn1/#> version 3
etbn2cst2:/config/router/vrrp-cn1/#> priority 100
etbn2cst2:/config/router/vrrp-cn1/#> interval 1
etbn2cst2:/config/router/vrrp-cn1/#> preempt delay 1
etbn2cst2:/config/router/vrrp-cn1/#> end
etbn2cst2:/config/router/#> end
etbn2cst2:/config/#> end
Applying configuration.
Configuration activated.
Remember "copy run start" to save to flash (NVRAM).
etbn2cst2:/#>

Communication Profile Configuration

Finally, for the ECSPs to function properly, a CSTINFO data file is needed on each device. See the Communication Profile documentation for more information about this file and its purpose.

Two such files are provided as examples for this HowTo: CSTINFO data file for consist 1 and CSTINFO data file for consist 2. They are, like the remainder of this document, representative but non-exhaustive examples.

On each node, the CSTINFO data file must be placed in the directory /cfg/ with the name cstinfo.json. This can be done by using any available administrative interface, or by putting the file on the external USB media (in which case it will be available in the /cfg/ directory after rebooting the device).

Note

The two devices in consist 2 - etbn1cst2 and etbn2cst2 - use identical CSTINFO data files. In this example, this is CSTINFO data file for consist 2. If nodes in the same consist have different CSTINFO data, or if only one of them has a data file while the other does not, results will be unpredictable.

Note

Ensure the filenames are correct. That is, the file should be named cstinfo.json and placed in /cfg/ on each device.

When the above configuration is complete, the ECSP in cst1 uses IP address 10.0.0.10 on iface vlan10, while the ECSP in cst2 uses IP address 10.0.0.100 on iface vlan10.

To use the ECSP services on cst1, an ECSC client needs to be running on a host with IP address 10.0.0.42, and to use the ECSP services on cst2, an ECSC client needs to be running on a host with IP address 10.0.0.52.

Inauguration Result

Using the show ttdp command we now verify that we have recevied the intended network configuration. Highlighted in orange are the values that are of interest.

etbn1cst1:/#> show ttdp
TTDP NODE                                                                     
backbone-id  : 0 (tcms)
etbn-id      : 1
etbn-ip      : 10.128.0.1
local-id     : 1
own-mac      : 0c:65:8c:93:00:00
uuid         : 11111111-1111-1111-1111-111111111111
connTableCnt : 0x1d491819
EtbTopoCnt   : 0x80ea82ac
Inauguration : INAUGURATED
Inhibition   : Self: Off,  Others: Off,  Train: Off

CST-NET  IFACE     IP              CONNECTED ETBNs                            
   1     vlan10    10.0.0.10/18    1

NODE ID      MAC ADDRESS            ORIENTATION                               
      1      0c:65:8c:93:00:00      Direct
      2      0c:7a:40:ee:00:00      Direct
      3      0c:c8:64:98:00:00      Direct

CONSIST                               NODES   DIRECTION  NETWORKS             
11111111-1111-1111-1111-111111111111  1       Direct     10.128.64.0/18

etbn1cst1:/#>
etbn1cst2:/#> show ttdp
TTDP NODE                                                                     
backbone-id  : 0 (tcms)
etbn-id      : 2
etbn-ip      : 10.128.0.2
local-id     : 1
own-mac      : 0c:7a:40:ee:00:00
uuid         : 22222222-2222-2222-2222-222222222222
connTableCnt : 0x1d491819
EtbTopoCnt   : 0xf4b2eb52
Inauguration : INAUGURATED
Inhibition   : Self: Off,  Others: Off,  Train: Off

CST-NET  IFACE     IP              CONNECTED ETBNs                            
   1     vlan10    10.0.0.10/18    2,3

NODE ID      MAC ADDRESS            ORIENTATION                               
      1      0c:65:8c:93:00:00      Direct
      2      0c:7a:40:ee:00:00      Direct
      3      0c:c8:64:98:00:00      Direct

CONSIST                               NODES   DIRECTION  NETWORKS             
11111111-1111-1111-1111-111111111111  1       Direct     10.128.64.0/18
22222222-2222-2222-2222-222222222222  2..3    Direct     10.128.128.0/18

etbn1cst2:/#>
etbn2cst2:/#> show  ttdp
TTDP NODE                                                                     
backbone-id  : 0 (tcms)
etbn-id      : 3
etbn-ip      : 10.128.0.3
local-id     : 2
own-mac      : 0c:c8:64:98:00:00
uuid         : 22222222-2222-2222-2222-222222222222
connTableCnt : 0x1d491819
EtbTopoCnt   : 0xf4b2eb52
Inauguration : INAUGURATED
Inhibition   : Self: Off,  Others: Off,  Train: Off

CST-NET  IFACE     IP              CONNECTED ETBNs                            
   1     vlan10    10.0.0.2/18     2,3

NODE ID      MAC ADDRESS            ORIENTATION                               
      1      0c:65:8c:93:00:00      Direct
      2      0c:7a:40:ee:00:00      Direct
      3      0c:c8:64:98:00:00      Direct

CONSIST                               NODES   DIRECTION  NETWORKS             
11111111-1111-1111-1111-111111111111  1       Direct     10.128.64.0/18
22222222-2222-2222-2222-222222222222  2..3    Direct     10.128.128.0/18

etbn2cst2:/#>

Additionally, we can use the nslookup command to verify that the communication profile configuration has been read. A set of URIs has been chosen to verify that the DNS entries has been created.

etbn1cst1:/#> nslookup devDCU2.anyVeh.lCst.lTrn
Server:    127.0.0.1
Address 1: 127.0.0.1 localhost

Name:      devDCU2.anyVeh.lCst.lTrn
Address 1: 10.0.0.111
etbn1cst1:/#> nslookup devHVAC.anyVeh.lCst.lTrn
Server:    127.0.0.1
Address 1: 127.0.0.1 localhost

Name:      devHVAC.anyVeh.lCst.lTrn
Address 1: 10.0.0.100
etbn1cst1:/#> nslookup devCCUO2.anyVeh.lCst.lTrn
Server:    127.0.0.1
Address 1: 127.0.0.1 localhost

Name:      devCCUO2.anyVeh.lCst.lTrn
Address 1: 10.0.0.11
etbn1cst1:/#>