kytos-ng / mef_eline

Kytos NApp to create and manage point-to-point L2 circuits
https://kytos-ng.github.io/api/mef_eline.html
MIT License
0 stars 9 forks source link

Possible EVC duplication for UNIs with no TAGs #569

Open Alopalao opened 1 week ago

Alopalao commented 1 week ago

mef_eline checks for EVC duplicates when a UNI has not TAG in the method _check_no_tag_duplication() from main.py. This method is not thread-safe and it is placed before adding the EVC to self.circuits. Two EVCs with UNIs without TAGs created simultaneously is theoretically possible.

Possible Solution:

~Add "none" to default_special_tags property from Interface.~

viniarck commented 1 week ago

@Alopalao, good finding, yes self._check_no_tag_duplication needs to have a mef_eline global threading.Lock. That should suffice.

The "none" option on special goes against what we consider special, special "any", "untagged" they all have OpenFlow semantics, while "none" would be confusing with EPL.