Details
-
Bug
-
Status: Resolved
-
Highest
-
Resolution: Done
-
None
-
None
-
None
Description
switch-idle-timeout used to work to detect when switch enters in idle state, for example when OF channel communication gets blocked by a firewall.
When blocking communication from switch to controller:
sudo iptables -A OUTPUT -p tcp -d {controllerIP} --dport 6633 -j DROP
The controller should set the OF connection to idle after default switch-idle-timeout=15 sec:
2020-02-25T02:52:58,126 | INFO | ofppool-0 | SystemNotificationsListenerImpl | 397 - org.opendaylight.openflowplugin.impl - 0.6.3 | Switch Idle state occurred, node=/10.1.64.222:47564|auxId=0
And after that the OF connection goes down (see here oxygen karaf.log):
2020-02-25T02:53:00,126 | WARN | ofppool-0 | SystemNotificationsListenerImpl | 397 - org.opendaylight.openflowplugin.impl - 0.6.3 | Exception while waiting for echoReply from [/10.1.64.222:47564] in TIMEOUTING state: Waited 2000 milliseconds for com.google.common.util.concurrent.SettableFuture@33929ad[status=PENDING] 2020-02-25T02:53:00,127 | INFO | ofppool-0 | SystemNotificationsListenerImpl | 397 - org.opendaylight.openflowplugin.impl - 0.6.3 | ConnectionEvent:Closing connection as device is idle. Echo sent at Tue Feb 25 02:52:58 UTC 2020. Device:/10.1.64.222:47564, NodeId:openflow:18096668435427573921
The above does not happen in Neon, Sodium or Magnesium.
Attachments
# | Subject | Branch | Project | Status | CR | V |
---|---|---|---|---|---|---|
87967,1 | OPNFLWPLUG-1085: Switch-idle events weren't consumed by inbound handler during read time-out, hence moved idle handler above inbound handler from end of channel pipeline | stable/magnesium | openflowplugin | Status: MERGED | +2 | +1 |
88090,4 | OPNFLWPLUG-1085: Switch-idle events weren't consumed by inbound handler during read time-out, hence moved idle handler above inbound handler from end of channel pipeline | master | openflowplugin | Status: MERGED | +2 | +1 |