I could not establish connection over SSL with Ryu.
I tried based on this tutorial.
http://ryu.readthedocs.org/en/latest/tls.html
[OpenFlow switch Side]
OS: Ubuntu 15.04 32bit
OpenvSwitch: 2.3.1
I typed these commands.
$ sudo ovs-pki init
$ sudo ovs-pki req+sign ctl controller
$ sudo ovs-pki req+sign sc switch
$ sudo ovs-vsctl set-ssl ./sc-privkey.pem ./sc-cert.pem
/var/lib/openvswitch/pki/controllerca/cacert.pem
$ sudo ovs-vsctl add-br br0
$ sudo ovs-vsctl set-controller br0 ssl:192.168.3.20:6633
[OpenFlow controller Side]
OS: Ubuntu 15.04 64bit
Python: 2.7.9
Ryu: 08cbbfbfffb4d3ad817da01d3a3d9e3f0d09aca8
Copy ctl-privkey.pem, ctl-cert.pem, and cacert.pem from OpenFlow switch
Side.
And I typed this command.
$ ryu-manager --ctl-privkey ctl-privkey.pem --ctl-cert ctl-cert.pem
--ca-certs cacert.pem --verbose ../switch_ready.py
switch_ready.py code is here.
-------------------------
from ryu.base import app_manager
from ryu.controller import ofp_event
from ryu.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER
from ryu.controller.handler import set_ev_cls
from ryu.ofproto import ofproto_v1_3
from ryu.lib.packet import packet
from ryu.lib.packet import ethernet
class SimpleSwitch13(app_manager.RyuApp):
OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION]
def __init__(self, *args, **kwargs):
super(SimpleSwitch13, self).__init__(*args, **kwargs)
self.mac_to_port = {}
@set_ev_cls(ofp_event.EventOFPSwitchFeatures, CONFIG_DISPATCHER)
def switch_features_handler(self, ev):
print ('switch_features_handler')
-------------------------
After the command, messages below displayed.
-------------------------
loading app ../switch_ready.py
loading app ryu.controller.ofp_handler
instantiating app ../switch_ready.py of SimpleSwitch13
instantiating app ryu.controller.ofp_handler of OFPHandler
BRICK SimpleSwitch13
CONSUMES EventOFPSwitchFeatures
BRICK ofp_event
PROVIDES EventOFPSwitchFeatures TO {'SimpleSwitch13': set(['config'])}
CONSUMES EventOFPEchoRequest
CONSUMES EventOFPPortDescStatsReply
CONSUMES EventOFPHello
CONSUMES EventOFPErrorMsg
CONSUMES EventOFPSwitchFeatures
hub: uncaught exception: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line
52, in _launch
func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line
112, in wrap_and_handle
handle(ssl.wrap_socket(sock, **ssl_args), addr)
File
"/home/honma/.local/lib/python2.7/site-packages/eventlet/green/ssl.py",
line 343, in wrap_socket
return GreenSSLSocket(sock, *a, **kw)
File
"/home/honma/.local/lib/python2.7/site-packages/eventlet/green/ssl.py",
line 65, in __init__
ca_certs, do_handshake_on_connect and six.PY2, *args, **kw)
File "/usr/lib/python2.7/ssl.py", line 579, in __init__
self.do_handshake()
File
"/home/honma/.local/lib/python2.7/site-packages/eventlet/green/ssl.py",
line 241, in do_handshake
super(GreenSSLSocket, self).do_handshake)
File
"/home/honma/.local/lib/python2.7/site-packages/eventlet/green/ssl.py",
line 110, in _call_trampolining
return func(*a, **kw)
File "/usr/lib/python2.7/ssl.py", line 808, in do_handshake
self._sslobj.do_handshake()
SSLEOFError: EOF occurred in violation of protocol (_ssl.c:590)
hub: uncaught exception: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line
52, in _launch
func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line
112, in wrap_and_handle
handle(ssl.wrap_socket(sock, **ssl_args), addr)
File
"/home/honma/.local/lib/python2.7/site-packages/eventlet/green/ssl.py",
line 343, in wrap_socket
return GreenSSLSocket(sock, *a, **kw)
File
"/home/honma/.local/lib/python2.7/site-packages/eventlet/green/ssl.py",
line 65, in __init__
ca_certs, do_handshake_on_connect and six.PY2, *args, **kw)
File "/usr/lib/python2.7/ssl.py", line 579, in __init__
self.do_handshake()
File
"/home/honma/.local/lib/python2.7/site-packages/eventlet/green/ssl.py",
line 241, in do_handshake
super(GreenSSLSocket, self).do_handshake)
File
"/home/honma/.local/lib/python2.7/site-packages/eventlet/green/ssl.py",
line 110, in _call_trampolining
return func(*a, **kw)
File "/usr/lib/python2.7/ssl.py", line 808, in do_handshake
self._sslobj.do_handshake()
SSLEOFError: EOF occurred in violation of protocol (_ssl.c:590)
hub: uncaught exception: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line
52, in _launch
func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line
112, in wrap_and_handle
handle(ssl.wrap_socket(sock, **ssl_args), addr)
File
"/home/honma/.local/lib/python2.7/site-packages/eventlet/green/ssl.py",
line 343, in wrap_socket
return GreenSSLSocket(sock, *a, **kw)
File
"/home/honma/.local/lib/python2.7/site-packages/eventlet/green/ssl.py",
line 65, in __init__
ca_certs, do_handshake_on_connect and six.PY2, *args, **kw)
File "/usr/lib/python2.7/ssl.py", line 579, in __init__
self.do_handshake()
File
"/home/honma/.local/lib/python2.7/site-packages/eventlet/green/ssl.py",
line 241, in do_handshake
super(GreenSSLSocket, self).do_handshake)
File
"/home/honma/.local/lib/python2.7/site-packages/eventlet/green/ssl.py",
line 110, in _call_trampolining
return func(*a, **kw)
File "/usr/lib/python2.7/ssl.py", line 808, in do_handshake
self._sslobj.do_handshake()
SSLEOFError: EOF occurred in violation of protocol (_ssl.c:590)
-------------------------
Is there any wrong with my procedure ?
Regards,
Masashi Honma.
------------------------------------------------------------------------------
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel