kytos-ng / sdntrace_cp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

chore: adapt to support `untagged` and `any` on EVCs from `mef_eline`

Alopalao opened this issue · comments

sdn_trace is being updated (on this issue) to support Tag.value as str (untagged and any)

  • openapi.yml need to be adapted now that Tag is not required and its value can take a string.
  • New possibles strings for EVCs uni.user_tag.value are "any" and "untagged" which are going to send flows with changed values "4096/4096" and 0 respectively. This data can be seen better in this google sheet

Edited: as discussion progresses

As @Alopalao initially highlighted will likely maintain dl_vlan: 0, initially I pointed out as a str, but as the discussion/review is unfolding here kytos-ng/flow_manager#135 we'll likely stick with str only for masks.

After last update, consistency check is working fine for these changes just a little note.
Something unexpected is happening with untagged and any. For this EVC, for example:

    {"name": "my evc1",
    "dynamic_backup_path": true,
    "enabled": true,
    "uni_a": {"tag": {"tag_type": 1, "value": "any"},
                  "interface_id": "00:00:00:00:00:00:00:01:1"},
    "uni_z": {"tag": {"tag_type": 1, "value": "untagged"},
                  "interface_id": "00:00:00:00:00:00:00:02:1"}}

After deleting every flow and restarting the console, all the flows are installed correctly. Immediately after it, this event happens 6 times:

2023-03-14 15:43:52,074 - WARNING [kytos.napps.kytos/mef_eline] (mef_eline) Invalid trace from uni_a: [{'dpid': '00:00:00:00:00:00:00:01', 'out': None, 'port': 1, 'time': '2023-03-14 15:43:52.071198', 'type': 'incomplete', 'vlan': 'any'}]

After ~6 minutes, the messages stop, the EVC is deployed and flows are installed again (duration is reset). Switch 3 ends up having 2 extra flows.

 cookie=0xaa1ecdcf00a7084f, duration=432.306s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=20000,in_port="s3-eth3",dl_vlan=2 actions=set_field:4098->vlan_vid,output:"s3-eth2"
 cookie=0xaa1ecdcf00a7084f, duration=432.304s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=20000,in_port="s3-eth2",dl_vlan=2 actions=set_field:4098->vlan_vid,output:"s3-eth3"
 cookie=0xaa1ecdcf00a7084f, duration=427.220s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=20000,in_port="s3-eth3",dl_vlan=1 actions=set_field:4097->vlan_vid,output:"s3-eth2"
 cookie=0xaa1ecdcf00a7084f, duration=427.219s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=20000,in_port="s3-eth2",dl_vlan=1 actions=set_field:4097->vlan_vid,output:"s3-eth3"

Note: I am using the topology from e2e test helper RingTopo