forked from kytos/of_lldp
-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
enhancementNew feature or requestNew feature or requestepic_of_lldp_flows_per_interfaceof_lldp flows per interfaceof_lldp flows per interface
Description
Testing Kytos with a Noviflow switch which have a BFD logical port returns the following error:
2022-11-07 16:03:59,491 - INFO [kytos.napps.kytos/of_core] (MainThread) Modified Interface('novi_lport1002', 1002, Switch('00:00:00:00:00:00:00:02')) 00:00:00:00:00:00:00:02:1002
2022-11-07 16:04:00,914 - ERROR [kytos.napps.kytos/of_core] (MainThread) OFPT_ERROR: type ErrorType.OFPET_BAD_ACTION, error code 4, from switch 00:00:00:00:00:00:00:02, xid 2997175759/0xb2a545cf
This happens because Noviflow logicalport of the type BFD does not support PacketOut (quoting the Noviflow docs: It is NOT possible to MATCH on BFD Logical ports, nor is it possible to output to a BFD Logical port - NF200157). On the other hand, there is no easy way to identify this type of port:
- we cannot avoid sending LLDP to all logicalports, because LAG ports would benefit from it
- PORT_DESC does not provide means to identify BFD logicalports (which does not support match and output) - i.e., the port_desc with a logical port comes with incorrect supported capabilities (NO_RECV = False; NO_FWD = False; NO_PACKET_IN=False)
- speed is not safe to use in order to ignore those ports, because LAG logicalports also comes with wrong speed
One possible solution would be to handle this when it happens and avoid sending future LLDP on ports that returned BAD_ACTION (should we stop sending until the operator clears that port? test from time to time to resume normal operation?). Maybe a lightweight blueprint to cover this point.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestepic_of_lldp_flows_per_interfaceof_lldp flows per interfaceof_lldp flows per interface