Configuring Multipath Operation

Overview of MPO

Fast-moving mobile systems expect high-speed connectivity onboard, which implies reliable wireless ground-to-vehicle communication without any interruptions. However, the dynamic nature of the network, the environmental radio frequency conditions and roaming under the various Wi-Fi standards lead to packet losses. Multipath Operation (MPO) enhances reliability by sending duplicate copies of packets across multiple wireless paths. This patented technology duplicates your high priority traffic up to 4x and it reduces hardware failures to increase availability, reduce latency, and lower the effects of interference.

MPO introduce an approach to establish multiple label switched paths (LSPs) between a mobile system and the backend infrastructure of a wireless network. The multiple LSPs enables high priority packets to be sent through redundant paths to reduce packet loss.

Working Functionality of MPO

By default, an MPLS establishes a single tunnel using a single wireless link between the vehicle and infrastructure for data transmission. You can set up four MPLS tunnels to send MPO-protected traffic when you use two radio interfaces on two vehicle radios. When configuring MPO to utilize multiple links for protected traffic, it creates an MPLS tunnel over each available wireless link. Each wireless link replicates MPO-protected traffic. Even if one wireless link fails, the other links replicate the traffic. As of UIW Release 17.14.1, Fast Failover is supported with MPO.

MPO Packet Duplication and Deduplication

For MPO, a duplicate packet is sent through several wireless channels (to various access points). This helps to ensure reliability, and the spatial diversity of the receiving access points greatly increases the chances of at least one of the copies to be received correctly. Deduplication is another aspect of MPO to remove any duplicates of a packet that are received along the different wireless paths.

As a result, the delivered packets currently have sequence numbers assigned to them, thereby allowing the deduplication algorithm to eliminate copies of any packets that it has already received.

The process of Duplication and Deduplication as shown:

Duplication and Deduplication algorithm performs the following:
  • Address packet loss and asymmetric high/variable delay paths.

  • Remove additional packet delays created by buffering.

  • Remove duplicate and out of sequence packets.

  • Improve CPU, resource, and memory efficiency.

Configuring MPO Features Using CLI

To configure the MPO features, use the following CLI commands:

Device# configure fluidity mpo

cos - Configure class-of-service (CoS) of traffic to protect with MPO redundancy (only one CoS at a time) and the valid cos range is from zero to seven and the default value is six.

path - Configure max number of simultaneous redundant path established by only mobile devices. Maximum path link valid range is from one to four and the default value is one.

rssi - Configure min RSSI threshold for a wireless link to be eligible as a redundant path(dB) (mobile devices only). Minimum rssi value valid range is from 0 to 96 and the default value is 20.

telemetry – Configure enable/disable specific MPO telemetry. Telemetry value one of the following: enabled: M=1 or disabled: M=0 (default).

Device# configure fluidity mpo status

disabled: Disable MPO duplication/deduplication.

rx-only: Set mpo status as rx-only. Deduplicate incoming MPLS traffic and do not duplicate outgoing traffic.

enabled: Enable MPO. Duplicate outgoing traffic and de-duplicate incoming MPLS traffic.

Example:
Device# configure fluidity mpo cos C ( C value from 0 to 7 (default 6))
Device# configure fluidity mpo path max N ( N value from 1 to 4 ( default 1))
Device# configure fluidity mpo rssi min R ( R value from 0 to 96 ( default 20))
Device# configure fluidity mpo telemetry T (T can be one of: enabled: M=1
                                             Disabled: M=0 (default))
Device# configure fluidity mpo status S ( S can be one of:
                                          enabled: E=1 F=1
                                          rx-only: E=1 F=0
                                          disabled: E=0 F=1 (default))
The following example shows the UDP Telemetry stream with MPO counters:
Device# configure fluidity mpo telemetry <enabled | disabled>
Device# configure telemetry server 192.168.0.200
Device# configure telemetry export enable
Device# configure fluidity mpo telemetry enabled

To verify an MPO configuration parameter, use the following show command:

Device# show fluidity mpo config

Example:

Device# show fluidity mpo config
                 Status: enabled
                 Path max links: 2
                 RSSI min: 20
                 CoS: 6

Verifying MPO Features Using CLI (MPO Monitoring)

The output of the show mpls config command:

Device# show mpls config
                    5.42.42.43:
                    path_id : 0
                    ilm : 136000
                    nhlfe : 16:
                    lbr : 5.42.42.42
                    age : 6.980000028 { 5.42.42.42 5.42.42.43 }

                    path_id : 1
                    ilm : 136001
                    nhlfe : 18:
                    lbr : 5.42.42.42
                    age : 6.970000026 { 5.42.42.42 5.42.42.43 }

The output of the show fluidity mpo statistics command:

Device# show fluidity mpo statistics (on Mesh End)
            table-size 2:

             MAC address : 40:36:5A:15:C8:50        8C:89:A5:83:EB:71 
             Tx-1        : 0                        208
             Tx-2        : 0                        208
             Rx-Accept-1 : 178                      0
             Rx-Accept-2 : 30                       0
             Rx-Drop-1   : 30                       0
             Rx-Drop-2   : 178                      0
             Lost-1-only : 0                        0
             Lost        : 0                        0

Device# show fluidity mpo statistics (on Mobile Primary unit)
            table-size 2:

            MAC address : 40:36:5A:15:C8:50        8C:89:A5:83:EB:71 
            Tx-1        : 208                      0
            Tx-2        : 208                      0
            Rx-Accept-1 : 0                        182
            Rx-Accept-2 : 0                        26
            Rx-Drop-1   : 0                        26
            Rx-Drop-2   : 0                        182
            Lost-1-only : 0                        0
            Lost        : 0                        0
 

MAC address: Source L2 address of the external network device which is sending packets.

Tx-1 and Tx-2: These counters represent, respectively, the number of packets transmitted on the primary path and secondary paths (cumulative sum for all available secondary paths, that is path IDs 1 to 3).

Rx-Accept-1 and Rx-Accept-2: These counters represent, respectively, the number of packets received and dropped in the de-duplication process either on the primary path or secondary paths.

Lost-1-only: Number of packets received and accepted in the de- duplication process on the secondary paths but not on the primary path.

Lost: The cumulative number of packets lost on both primary path and secondary paths.

The output of the show fluidity network command:

Device# show fluidity network (on Mesh End and Mobile Primary)

                    unit 5.21.201.60  infrastructure meshend primary
                    vehicles 4  total_mobiles 5
                    infrastructure 1  backbone 0  meshend 5.21.201.60

                    Vehicle ID : + 85313616
                    Path : 0
                    Infrastr.ID : 5.21.201.60
                    Via : R1
                    Mobile ID : 5.21.200.80
                    Via : R2
                    H/O seq : 5710
                    H/O age : 36.597
                    #M: 2
                    Primary ID : 5.21.200.80
                    Secondary IDs : 5.21.201.204

                    Vehicle ID : + 85313616
                    Path : 1
                    Infrastr.ID : 5.21.201.60
                    Via : R2
                    Mobile ID : 5.21.201.204
                    Via : R2
                    H/O seq : 5711
                    H/O age : 5.909
                    #M: 2
                    Primary ID : 5.21.200.80
                    Secondary IDs : 5.21.201.204


Note


Intermediate nodes (MP and mobile secondaries) have only a subset of paths.

MPO path ID 0: primary path, others: redundant paths.


The output of the show eng-stats command:

Device# show eng-stats (on mobile primary unit)
....
Fluidity role : primary 
vehicle id : 0
static  : 3.21.201.60 [FC:58:9A:15:C7:D2]
mobile  : 4.21.200.80 [FC:58:9A:15:B9:13]
snr : 42
rssi : -54
dop : 40
chan : 132/40
handoff: 21.518258794
time : 2
Current:
ho_seq: 7  pending: false  age: 21.518303221  primary: 5.21.200.80
[0] - <3.21.201.60 - 4.21.200.80> status SUCCESS seq 6 id 0 age 59.469266332 rssi 42
[1] - <4.21.201.60 - 4.21.201.204> status SUCCESS seq 7 id 1 age 21.518317752 rssi 41
last primary: <3.21.201.60 - 4.21.200.80>
free ids: 7 6 5 4 3 2
current missing path mask: 1111110

HO Table
static  : 3.21.201.60 [FC:58:9A:15:C7:D2]
mobile  : 4.21.200.80 [FC:58:9A:15:B9:13]
rssi : 42
dop : 40
chan : 132/40
updated : 74
skip : 0

static  : 4.21.201.60 [FC:58:9A:15:C7:D3]
mobile  :  4.21.201.204 [FC:58:9A:15:E4:D3]
rssi : 41
dop : 40
chan : 100/40
updated : 18
skip : 0
rssi_delta : 6 3
threshold : 35

MPO Limitations

If MPO is enabled, the following handoff features are not available:

  • Pole Ban and Pole Proximity

  • Coloring

  • Load balancing