telstra / open-kilda

OpenKilda is an open-source OpenFlow controller initially designed for use in a global network with high control-plane latency and a heavy emphasis on latency-centric data path optimisation.
Apache License 2.0
78 stars 53 forks source link

Discovery of one-way ISL leads to missing rules when in multitable mode #3906

Open rtretyak opened 3 years ago

rtretyak commented 3 years ago

Given: switches in multitable mode. A potential ISL, that can pass traffic only in 1 direction

  1. Discover an ISL only in 1 direction (mandatory that it does not pass disco packets in reverse direction)
  2. Observe ISL added to the system in Failed state (expected)
  3. Validate switches on both ends of ISL Expected: no anomalies, all rules are in 'proper' section Actual: Switches have missing rules. novi NS missing: 8020000000000007, 8030000000000007, 8040000000000007 novi WB missing: 80200000000000d1 ovs: 8020000000000002 (NOTE: ISL should go through a-switch, one rule on the a-switch is deleted)

Notes: Missing rules automatically get installed when ISL gets fully discovered. The absence of those rules while ISL is only 1-way discovered is not crucial, so the main consequence is its influence on monitoring systems, that start to show 'missings'

sergii-iakovenko commented 3 years ago

The same issue affects Server42 ISL RTT rules - if a new ISL is discovered only in 1 direction, then Network topology doesn't install Server42 ISL RTT rules. Therefore the switch validation process reports missing ISL RTT rules for such ISLs.

The team discussed and agreed the possible solution: