[E] [ODL Discuss] about error in offramedecoder in openflowjava.


Sangwook Ha
 

The OpenFlow connection configuration files are located in CONTROLLER_HOME/etc/opendaylight/datastore/initial/config
  • default-openflow-connection-config.xml: port 6653 (standard OpenFlow port)
  • legacy-openflow-connection-config.xml: port 6633 (legacy OpenFlow port)
And you can customize switch-idle-timeout in the configuration files.
For example, if you are using port 6633 and want to set it to 300 seconds, then you can modify legacy-openflow-connection-config.xml like this:

  <port>6633</port>
  <switch-idle-timeout>300000</switch-idle-timeout>
  <transport-protocol>TCP</transport-protocol>

But this only works if the channel is interrupted. If the OpenFlow channel is disconnected by the simulator when it's stopped, then the switch will disappear from the controller regardless of the value.
So you may have to block the OpenFlow channel before you stop the simulator, for example using iptables filter rules.

Thanks,
Sangwook


On Tue, Oct 26, 2021 at 9:00 PM Hojin Lee via lists.opendaylight.org <hj2913=ajou.ac.kr@...> wrote:
Hi, i'm a student using odl controller and OPNET simulator. 

in my simulation, i pause the simulator and then do some calculation in my scenario. 
but in this time, because simulator is stopped, idleevent occures and close the connection

so,to get longer switch idle time, i clone the openflowjava and openflow plugin in the github. 
i changed that value from 15000 to 50000 in openflowjava-release-carbon-sr4\openflow-protocol-spi\src\main\yang/openflow-switch-connection-config.yang , openflowplugin-release-carbon-sr4\openflowplugin-controller-config\src\main\resources\initial/42-openflowplugin.xml to check it works.

but when i start simulation and pause my simulator. about 15~20seconds the error occures like this picture. error comment written in korea means that connection is forcibly disconnected by remote host. 


also, this error occures when i modify the Idlehandler.java to remove idle-event or remove connectioncontext.closeconnection to maintain the connection even when the idle event occures.
I tracked this error but can not find which code make this error. this picture is tracking picture.
 

if you know how to extends switch-idle-time or know how to remove idle event, please tell me. 
thank you for reading