Problems getting Ryu to work with Routeflow

743 views
Skip to first unread message

Alan Barr

unread,
Jun 20, 2013, 3:13:17 PM6/20/13
to routeflo...@googlegroups.com
Hello, 

I have been attempting to get ryu-rfproxy to work with routeflow. I have mainly focused my efforts on using rftest1, however I am having no luck. I was hoping someone would be able to     provide a bit of guidance on this matter? 

Unfortunately I found that either the documentation was lacking somewhat, or limitations meant I had to take a slightly different approach - my installation approach is included below. I am attempting to get it working on a VM of Ubuntu 12.04.
My installation of Routeflow with Ryu was based on the instructions at https://github.com/joestringer/ryu-rfproxy It works fine with rftest1 in the "default"/pox setup. However when I attempt to use rftest1 with ryu-rfproxy it fails - the ping does not succeed. I have included logs from ryu-manager and rftest1 at the bottom of this post.

The individual components in the install are at the following versions:
Ryu
commit: 43b439770b6a14be993e7c3aec54d431ba1ff609
version 2.0

Routeflow
commit: 9265351a08c7ce38ef82bef537d3b0f4c13f89bb

ovs
commit: 89f3c258fe969df2fde29c21423cd705f4d8b472
version 1.11.90

I appreciate any guidance you have on why this configuration is not working or how I could better debug the setup?

####################################################
# The following is my setup
####################################################

sudo apt-get install python-simplejson python-qt4 python-twisted-conch automake autoconf gcc uml-utilities libtool build-essential git pkg-config

sudo apt-get install python-eventlet python-webob python-routes python-gevent

sudo RouteFlow/build.sh -ic -o git ryu

export PYTHONPATH=<Routeflow_dir>


sudo ovsdb-server /usr/local/etc/openvswitch/conf.db \
--remote=punix:/usr/local/var/run/openvswitch/db.sock \
--remote=db:Open_vSwitch,manager_options \
--private-key=db:SSL,private_key \
--certificate=db:SSL,certificate \
--bootstrap-ca-cert=db:SSL,ca_cert --pidfile --detach --log-file

sudo ovs-vsctl --no-wait init

sudo ovs-vswitchd --pidfile --detach

sudo ovs-vsctl show

####################################################
# modifications to rftest1 for ryu-rfproxy
####################################################

# manually start rfproxy
ryu-manager ryu-rfproxy/rfproxy

# start rftest1
sudo rftest/rftest1

# rftest1 has the following changes:
diff --git a/rftest/rftest1 b/rftest/rftest1
index 9d3da84..e854c1e 100755
--- a/rftest/rftest1
+++ b/rftest/rftest1
@@ -102,11 +102,11 @@ chmod +x /var/lib/lxc/rfvm1/rootfs/root/run_rfclient.sh
 
 lxc-start -n rfvm1 -d
 
-echo_bold "-> Starting the controller and RFPRoxy..."
-cd pox
-./pox.py log.level --=INFO topology openflow.topology openflow.discovery rfproxy rfstats &
-cd -
-wait_port_listen $CONTROLLER_PORT
+#echo_bold "-> Starting the controller and RFPRoxy..."
+#cd pox
+#./pox.py log.level --=INFO topology openflow.topology openflow.discovery rfproxy rfstats &
+#cd -
+#wait_port_listen $CONTROLLER_PORT
 
 echo_bold "-> Starting RFServer..."
 ./rfserver/rfserver.py rftest/rftest1config.csv &
@@ -115,7 +115,7 @@ echo_bold "-> Starting the control plane network (dp0 VS)..."
 ovs-vsctl add-br dp0
 ovs-vsctl add-port dp0 rfvm1.1
 ovs-vsctl add-port dp0 rfvm1.2
-ovs-vsctl set Bridge dp0 other-config:datapath-id=7266767372667673
+ovs-vsctl set Bridge dp0 other-config:datapath-id=7266767372667673 protocols=OpenFlow10,OpenFlow12,OpenFlow13
 ovs-vsctl set-controller dp0 tcp:127.0.0.1:$CONTROLLER_PORT
 ifconfig dp0 up
 
@@ -127,7 +127,7 @@ sleep 2
 ovs-vsctl add-br switch1
 ovs-vsctl add-port switch1 b1.0
 ovs-vsctl add-port switch1 b2.0
-ovs-vsctl set Bridge switch1 other-config:datapath-id=0000000000000099
+ovs-vsctl set Bridge switch1 other-config:datapath-id=0000000000000099 protocols=OpenFlow10,OpenFlow12,OpenFlow13
 ovs-vsctl set-controller switch1 tcp:127.0.0.1:$CONTROLLER_PORT
 ifconfig switch1 up
 

####################################################
# Output from rfproxy
####################################################
loading app ryu-rfproxy/rfproxy.py

loading app ryu.controller.ofp_handler

creating context dpset

instantiating app ryu-rfproxy/rfproxy.py

RFProxy running.

instantiating app ryu.controller.ofp_handler

BRICK dpset

  PROVIDES EventDP TO {'RFProxy': ['dpset']}

  CONSUMES EventOFPPortStatus

  CONSUMES EventOFPStateChange

  CONSUMES EventOFPSwitchFeatures

BRICK ofp_event

  PROVIDES EventOFPPortStatus TO {'dpset': ['main']}

  PROVIDES EventOFPStateChange TO {'dpset': ['main', 'dead']}

  PROVIDES EventOFPPacketIn TO {'RFProxy': ['main']}

  PROVIDES EventOFPSwitchFeatures TO {'dpset': ['config']}

  CONSUMES EventOFPSwitchFeatures

  CONSUMES EventOFPErrorMsg

  CONSUMES EventOFPEchoRequest

  CONSUMES EventOFPHello

BRICK RFProxy

  CONSUMES EventDP

  CONSUMES EventOFPPacketIn

connected socket:<eventlet.greenio.GreenSocket object at 0x9c264ac> address:('127.0.0.1', 39845)

hello ev <ryu.controller.ofp_event.EventOFPHello object at 0x9c267cc>

move onto config mode

EVENT ofp_event->dpset EventOFPSwitchFeatures

switch features ev version: 0x3 msg_type 0x6 xid 0x791e0885 OFPSwitchFeatures(capabilities=71,datapath_id=8243406406160905843L,n_buffers=256,n_tables=254,ports={1: OFPPort(port_no=1, hw_addr='\x9a\xcc\x9e\x13\xc7\x08', name='rfvm1.1\x00\x00\x00\x00\x00\x00\x00\x00\x00', config=0, state=0, curr=2112, advertised=0, supported=0, peer=0, curr_speed=1410065408, max_speed=0), 2: OFPPort(port_no=2, hw_addr='\x86\xadUj\x93\x0f', name='rfvm1.2\x00\x00\x00\x00\x00\x00\x00\x00\x00', config=0, state=0, curr=2112, advertised=0, supported=0, peer=0, curr_speed=1410065408, max_speed=0), 4294967294L: OFPPort(port_no=4294967294L, hw_addr='B\xcf\x91b@M', name='dp0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', config=0, state=0, curr=0, advertised=0, supported=0, peer=0, curr_speed=0, max_speed=0)},reserved=0)

move onto main mode

EVENT ofp_event->dpset EventOFPStateChange

DPSET: register datapath <ryu.controller.controller.Datapath object at 0x9c2624c>

EVENT dpset->RFProxy EventDP

Datapath is up (dp_id=7266767372667673)

Registering datapath port (dp_id=7266767372667673, dp_port=1)

Registering datapath port (dp_id=7266767372667673, dp_port=2)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=4294967294)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=2)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=4294967294)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=2)

connected socket:<eventlet.greenio.GreenSocket object at 0x9c26d4c> address:('127.0.0.1', 39857)

hello ev <ryu.controller.ofp_event.EventOFPHello object at 0x9c2b2ec>

move onto config mode

EVENT ofp_event->dpset EventOFPSwitchFeatures

switch features ev version: 0x3 msg_type 0x6 xid 0xf6692637 OFPSwitchFeatures(capabilities=71,datapath_id=153,n_buffers=256,n_tables=254,ports={1: OFPPort(port_no=1, hw_addr='6\xd3\xd4\xb1\xe4\xa8', name='b1.0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', config=0, state=0, curr=2112, advertised=0, supported=0, peer=0, curr_speed=1410065408, max_speed=0), 2: OFPPort(port_no=2, hw_addr='6\xbd\xef\xfa\x1bP', name='b2.0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', config=0, state=0, curr=2112, advertised=0, supported=0, peer=0, curr_speed=1410065408, max_speed=0), 4294967294L: OFPPort(port_no=4294967294L, hw_addr='\xaes}\xa5\x97I', name='switch1\x00\x00\x00\x00\x00\x00\x00\x00\x00', config=0, state=0, curr=0, advertised=0, supported=0, peer=0, curr_speed=0, max_speed=0)},reserved=0)

move onto main mode

EVENT ofp_event->dpset EventOFPStateChange

DPSET: register datapath <ryu.controller.controller.Datapath object at 0x9c2684c>

EVENT dpset->RFProxy EventDP

Datapath is up (dp_id=0000000000000099)

Registering datapath port (dp_id=0000000000000099, dp_port=1)

Registering datapath port (dp_id=0000000000000099, dp_port=2)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=4294967294)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=4294967294)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=2)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=2)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=4294967294)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=2)

EVENT ofp_event->RFProxy EventOFPPacketIn

Received mapping packet (vm_id=0x12a0a0a0a0a0, vm_port=1, vs_id=7266767372667673, vs_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Received mapping packet (vm_id=0x12a0a0a0a0a0, vm_port=2, vs_id=7266767372667673, vs_port=2)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=2)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=4294967294)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=4294967294)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=4294967294)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=4294967294)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped RFVS port (vs_id=7266767372667673, vs_port=2)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=2)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=4294967294)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=1)

EVENT ofp_event->RFProxy EventOFPPacketIn

Unmapped datapath port (dp_id=0000000000000099, dp_port=1)

EVENT ofp_event->dpset EventOFPStateChange

DPSET: unregister datapath <ryu.controller.controller.Datapath object at 0x9c2624c>

EVENT dpset->RFProxy EventDP

Datapath is down (dp_id=7266767372667673)

EVENT ofp_event->dpset EventOFPStateChange

DPSET: unregister datapath <ryu.controller.controller.Datapath object at 0x9c2684c>


#######################################################
# Output from rftest1
#######################################################
[1m-> Starting rftest1[0m

[1m-> Stopping and resetting LXC VMs...[0m

rfvm1 is not running

b1 is not running

b2 is not running

[1m-> Deleting data from previous runs...[0m

MongoDB shell version: 2.0.4

connecting to: db

false

[1m-> Setting up the management bridge (lxcbr0)...[0m

[1m-> Setting up MongoDB...[0m

mongodb stop/waiting

mongodb start/running, process 13043

.[1m-> Starting the rfvm1 virtual machine...[0m

[1m-> Starting RFServer...[0m

[1m-> Starting the control plane network (dp0 VS)...[0m

[1m-> Starting the sample network...[0m

INFO:rfserver:Configuring RFVS (dp_id=0x7266767372667673)

[1m---[0m

[1mThis test is up and running.[0m

[1mTry pinging host b2 from host b1:[0m

[1m  $ sudo lxc-console -n b1[0m

[1mLogin and run:[0m

[1m  $ ping 172.31.2.2[0m

[1mYou can stop this test by pressing Ctrl+C.[0m

[1m---[0m

INFO:rfserver:Registering datapath port as idle (dp_id=0x99, dp_port=1)

INFO:rfserver:Configuring datapath (dp_id=0x99)

INFO:rfserver:Registering datapath port as idle (dp_id=0x99, dp_port=2)

INFO:rfserver:Asking client for mapping message for port (vm_id=0x12a0a0a0a0a0, vm_port=1)

INFO:rfserver:Registering client port and associating to datapath port (vm_id=0x12a0a0a0a0a0, vm_port=1, eth_addr = 12:a1:a1:a1:a1:a1, dp_id=0x99, dp_port=1)

INFO:rfserver:Asking client for mapping message for port (vm_id=0x12a0a0a0a0a0, vm_port=2)

INFO:rfserver:Registering client port and associating to datapath port (vm_id=0x12a0a0a0a0a0, vm_port=2, eth_addr = 12:a2:a2:a2:a2:a2, dp_id=0x99, dp_port=2)

INFO:rfserver:Mapping client-datapath association (vm_id=0x12a0a0a0a0a0, vm_port=1, dp_id=0x99, dp_port=1, vs_id=0x7266767372667673, vs_port=1)

INFO:rfserver:Mapping client-datapath association (vm_id=0x12a0a0a0a0a0, vm_port=2, dp_id=0x99, dp_port=2, vs_id=0x7266767372667673, vs_port=2)

[1m-> Stopping child processes...[0m

./rftest1_for_ryu: line 47: 13061 Killed                  ./rfserver/rfserver.py rftest/rftest1config.csv

[1m-> Stopping and resetting LXC VMs...[0m

[1m-> Deleting data from previous runs...[0m


####################################################
# rfweb_server
####################################################
The network tab of rfweb_server is blank, and the messages tab is as seen in the attached file.

Messages_rfweb_server.PNG

Joe Stringer

unread,
Jun 23, 2013, 9:06:32 AM6/23/13
to routeflo...@googlegroups.com, Srijan Mishra
Hi Alan,

Apologies on taking my time getting back to you. We're still
investigating this issue. I know there are several things going on,
all to do with the handling of events and threading. Srijan has
helpfully found a more promising error in this area, which I have
copied below:-

Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/gevent/greenlet.py", line 390, in run
result = self._run(*self.args, **self.kwargs)
File "/home/srijan/gsoc13/RouteFlow/rflib/ipc/MongoIPC.py", line 80,
in _listen_worker
connection = mongo.Connection(*self.address)
File "/usr/local/lib/python2.7/dist-packages/pymongo/connection.py",
line 220, in __init__
max_pool_size, document_class, tz_aware, _connect, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py",
line 337, in __init__
raise ConnectionFailure(str(e))
ConnectionFailure: could not connect to 192.169.1.1:27017: timed out
<Greenlet at 0x1740910: <bound method
MongoIPCMessageService._listen_worker of
<rflib.ipc.MongoIPC.MongoIPCMessageService instance at
0x197ba28>>('rfserver<->rfproxy',
<rflib.ipc.RFProtocolFactory.RFProtocolFactory ins,
<rfproxy.RFProcessor instance at 0x19adf38>)> failed with
ConnectionFailure

To explain the above, when the ryu-rfproxy instance starts, it
attempts to spawn a new greenlet 'thread' to handle IPC messaging with
RFServer (using rflib/ipc/MongoIPC.py library). This appears to be
complaining that the thread could not connect to the local MongoDB
instance for some reason.

I've also done a bit of trawling around, and it seems there are a few
related changes. I've just tried installing on Linux Mint 15, which
follows Ubuntu Raring (13.04), and there is a new version of
python-greenlet (0.4.0 rather than 0.3.3) in my repositories. I think
this is still used by Ryu-1.8 and perhaps Ryu-1.9.

Furthermore, around April, the Ryu developers reorganised the way they
use python-gevent. I suspect that they have not only shifted away from
gevent and greenlet, but are also now using the 'eventlet' library.
This is why I thought the problem may arise with Ryu-2.0. However, I
have tried to swap the ryu-rfproxy greenlet code out for the
equivalent ryu.lib.hub code and this has made no difference to me. I'm
not quite sure how Srijan got the above output though, so I can't
compare after changing to the new event library.
> --
> You received this message because you are subscribed to the Google Groups
> "RouteFlow" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to routeflow-disc...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

Joe Stringer

unread,
Jun 23, 2013, 9:44:29 AM6/23/13
to routeflo...@googlegroups.com
Ah, it was a minor issue with my script (not forcing ryu-manager to
run in the background).

I believe I've fixed the Ryu-2.0 issue. I pushed the fixes to
git://github.com/routeflow/ryu-rfproxy.git . I also updated the
vandervecken branch at git://github.com/routeflow/routeflow.git to
install the appropriate dependencies, and only install Ryu-2.0.
Hopefully this will reduce breakage in the future.

Srijan Mishra

unread,
Jun 23, 2013, 12:31:32 PM6/23/13
to Joe Stringer, routeflo...@googlegroups.com
Hi,

I used python debugging module pdb to trace what was going wrong. I added pdb.set_trace() function just before ipc.listen(RFSERVER_RFPROXY_CHANNEL, RFProtocolFactory(), RFProcessor(), False) function in RFProxy of rfproxy.py. It provided me step by step flow of control in the application.
--
Srijan Mishra

Andre Amorim

unread,
Jun 24, 2013, 2:01:01 AM6/24/13
to routeflo...@googlegroups.com
With security in mind I feel More comfortable with ruby TABLES than python since I've been with those guys for decade.

Srijan Mishra

unread,
Jun 24, 2013, 3:17:31 AM6/24/13
to routeflo...@googlegroups.com
Hi,

There are four dependencies for ryu that are not mentioned in default installation process - gevent, eventlet, webob, routes.
Shouldn't be it added to the build process?  

Joe Stringer

unread,
Jun 24, 2013, 9:04:09 AM6/24/13
to routeflo...@googlegroups.com
I have added greenlet (it seems new ryu only uses greenlet, not
gevent), eventlet, webob and routes to the ryu build script in the
vandervecken branch. Perhaps it would be best for these fixes to be
merged into the master branch, as they are not invasive. I can initate
this process.

Thanks for reporting this Srijan.

Alan Barr

unread,
Jun 24, 2013, 12:20:41 PM6/24/13
to routeflo...@googlegroups.com
I rebuilt on a fresh Ubuntu 12.04 VM using the vandervecken branch of https://github.com/routeflow/RouteFlow (otherwise, using the same commands/changes I posted above). I can confirm that rftest1 now successfully pings for me.

Thanks for the help :)

Its not overly important to me, but just to note the Network tab being served via rfweb_server.py is still blank, unlike with using the Pox rfproxy.

Joe Stringer

unread,
Jun 24, 2013, 10:16:36 PM6/24/13
to routeflo...@googlegroups.com
Awesome! Glad you can make some progress.

Regarding rfweb_server.py, the information for the "Network" tab is
supplied by an additional module in the pox-rfproxy implementation -
pox/ext/rfstats.py . There is not currently an equivalent module on
the Ryu RFProxy. This is why the tab appears blank when not using the
POX RFProxy.

Hsiang Huang

unread,
Oct 8, 2013, 4:58:38 AM10/8/13
to routeflo...@googlegroups.com
Hi all

I'm now trying to get ryu with routeflow and find this discussion.
Then I followed the steps but it did not work.
I just download the vandervecken branch of
https://github.com/routeflow/RouteFlow on a fresh Ubuntu 12.04 VM
and install all the dependencies.
When I did 'make rfclient' and then it went wrong.
I did not install ryu yet.

The following is the error message.

g++ -Wall -W -I/home/routeflow/RouteFlow-vandervecken/rflib -I/home/routeflow/RouteFlow-vandervecken/rflib/ipc -I/home/routeflow/RouteFlow-vandervecken/rflib/types -I/usr/local/include/mongo -c  FPMServer.cc -o /home/routeflow/RouteFlow-vandervecken/build/obj/rfclient/FPMServer.o
FPMServer.cc: In member function ‘fpm_msg_hdr_t* FPMServer::read_fpm_msg(char*, size_t)’:
FPMServer.cc:134:59: error: ‘assert’ was not declared in this scope
FPMServer.cc:134:59: note: suggested alternatives:
/usr/include/boost/mpl/assert.hpp:75:28: note:   ‘mpl_::assert’
/usr/include/boost/mpl/assert.hpp:75:28: note:   ‘mpl_::assert’
FPMServer.cc:160:38: error: ‘assert’ was not declared in this scope
FPMServer.cc:160:38: note: suggested alternatives:
/usr/include/boost/mpl/assert.hpp:75:28: note:   ‘mpl_::assert’
/usr/include/boost/mpl/assert.hpp:75:28: note:   ‘mpl_::assert’
make[1]: *** [/home/routeflow/RouteFlow-vandervecken/build/obj/rfclient/FPMServer.o] Error 1
make[1]: Leaving directory `/home/routeflow/RouteFlow-vandervecken/rfclient'
make: *** [rfclient] Error 1

I don't know if there is some update in the vandervecken branch
or I forget to do something that should be done.

Thanks for the help.


Joe Stringer於 2013年6月25日星期二UTC+8上午10時16分36秒寫道:

Srijan Mishra

unread,
Oct 8, 2013, 9:44:28 AM10/8/13
to routeflo...@googlegroups.com
Hello Hsiang,

This seems to be a problem with your mpl (or boost) installation.  Its an issue with environment variables not being initialized values properly.This may occur if assert.h is not included or is not in your include path.
I feel re-installing the dependencies may help.


You received this message because you are subscribed to a topic in the Google Groups "RouteFlow" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/routeflow-discuss/iOk9Emu7rHI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to routeflow-disc...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.



--
Srijan Mishra

Hsiang Huang

unread,
Oct 8, 2013, 10:21:39 PM10/8/13
to routeflo...@googlegroups.com
Hello Srijan,

Thank you for your advice, I'll try to do that.
I also tried building routeflow (master branch) on the same Ubuntu 12.04 VM,
and the master branch can be built ('make rfclient') correctly.
As the README.md shows, there is no difference between the dependencies of the two branches.
So it really confused me.

Anyway, thanks for help.

Hsiang

Srijan Mishra

unread,
Oct 9, 2013, 1:06:53 PM10/9/13
to routeflo...@googlegroups.com
Try installing using the script build.sh in the branch. It will install all the correct dependencies and compile everything for you.

Joe Stringer

unread,
Oct 9, 2013, 5:30:29 PM10/9/13
to routeflo...@googlegroups.com
Also it's worth noting that we do a bunch of the vandervecken development on a livecd, there's more detail below, including the ISO download link:


Message has been deleted

a18204...@gmail.com

unread,
May 17, 2016, 9:40:05 AM5/17/16
to RouteFlow
Hi,

I have downloaded routeflow-vandervecken and ryu-rfproxy-vandervecken on ubuntu12.04. when I run: sudo ./rftest2 , messages "Unmapped datapath port (dp_id=0000000000000099, dp_port=1)" is sitll always printed. hosts on mininet can not ping each other.  How can I solve it ? thank you !

在 2013年10月10日星期四 UTC+8上午5:30:29,Joe Stringer写道:
Reply all
Reply to author
Forward
0 new messages