Re: [nox-dev] routing module

2011-09-01 Thread Srini Seetharaman
No, you need to write code to make it behave as a IP router.
Please look at this earlier thread:
http://noxrepo.org/pipermail/nox-dev/2011-April/007494.html

On Thu, Sep 1, 2011 at 7:23 PM, linbo li...@csnet1.cs.tsinghua.edu.cn wrote:
 I want to know whether nox  implement the function that enalbe two hosts in
 different subnets ping each other?

 Here is my topo:

 host1
 host2  host3
 host4
  |
  |
 |      |
  OFSWE1--OFSWC1---OFSWE2=== ==



 192.168.1.0/24   192.168.2.0/24

 _||___


 1.Can host1 ping host3,the routing module can do this?

 2.and I also want to know how the routing module to recompute the route
 path when  a link failure happend?

 Hope someone can help me.

 Thank you!

 2011-09-02
 
 linbo
 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev


___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] 00042|nox|ERR:bind: Address already in use

2011-08-15 Thread Srini Seetharaman
 No it got stuck at
 00040|openflow|DBG:Passive tcp interface bound to port 6636
 00041|nox|INFO:nox bootstrap complete

When you do not specify any module, the controller does not move any
further. If you run it as ./nox_core -v -i ptcp:6635 pytutorial,
then you will be activity when traffic is initiated or when switches
connect to it.
___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] check if a link is in route

2011-08-01 Thread Srini Seetharaman
Hi Karim
I don't think the is_on_path_location method does what you require.

I guess you can look at Routing_module::setup_route and write your own
method to iterate thro' the links in a route. If you already did that,
it'll help the list to send a copy of your implementation.

Thanks
Srini.

On Fri, Jul 15, 2011 at 4:55 AM, karim torkmen karim.torkm...@gmail.com wrote:
 Hi all,
 I want to know if there is any method  that allows to know if a given link
 is in a given route and what do the following methods of the routing module
 bool is_on_path_location(const RouteId id, uint16_t src_port, uint16_t
 dst_port) and  void clean_route(const RoutePtr, RoutePtr, bool)  do.
 Thanks a lot,
 karim
 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


[nox-dev] Issues in Ubuntu 10.04 with boost_filesystem-mt

2011-06-14 Thread Srini Seetharaman
Hi
I am trying to compile the latest head of NOX-Zaku on an Ubuntu 10.04
machine. I didn't receive any errors when I ran boot.sh. But, when I
ran configure, I got the following error:

checking whether the Boost::UnitTestFramework library is available... yes
configure: error: Could not link against boost_filesystem-mt !

I don't see any solution for others that have faced similar issues in
the past. Do I need to run configure with additional command-line
options or should I be installing any other package?

Thanks
Srini.
___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] Issues in Ubuntu 10.04 with boost_filesystem-mt

2011-06-14 Thread Srini Seetharaman
Hi Murphy
I already had libboost-filesystem-dev installed.

I now went ahead and installed libboost-all-dev. That seemed to have
helped and I've managed to get it to configure.

Thanks
Srini.

On Tue, Jun 14, 2011 at 2:29 PM, Murphy McCauley jam...@nau.edu wrote:
 Do you have libboost-filesystem-dev installed?

 -- Murphy

 On Tuesday, June 14, 2011 02:25:47 PM Srini Seetharaman wrote:
 Hi
 I am trying to compile the latest head of NOX-Zaku on an Ubuntu 10.04
 machine. I didn't receive any errors when I ran boot.sh. But, when I
 ran configure, I got the following error:

 checking whether the Boost::UnitTestFramework library is available... yes
 configure: error: Could not link against boost_filesystem-mt !

 I don't see any solution for others that have faced similar issues in
 the past. Do I need to run configure with additional command-line
 options or should I be installing any other package?

 Thanks
 Srini.
 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] how to use Authentication component

2011-06-11 Thread Srini Seetharaman
I'm not sure. Maybe someone else in the list knows the right way to import
it.

On Sat, Jun 11, 2011 at 3:01 AM, 颜玮 yan...@bupt.edu.cn wrote:

  I am wirting a program to print the location of each host.And,i think
 *Authenticator* can help me with that. My plan is to call *
 get_authed_locations(self,dladdr,nwaddr)* in *pyauth.py*,i don't know
 wether this way can work or not,if i am wrong,please correct me.
 When i imported authenticator component to my file using“*from
 nox.netapps.authenticator import pyauth*”,something when wrong,the error
 info :

 00041|nox|DBG:authtest:
 Current state: ERROR
 Required state: INSTALLED
 Dependencies: 'python' OK, 'python' OK
 Error:
 cannot import a Python module
 'nox.coreapps.examples.authtest':
 Traceback (most recent call last):
   File ./nox/coreapps/examples/authtest.py, line 2, in
 module
 from nox.netapps.authenticator import pyauth
   File ./nox/netapps/authenticator/pyauth.py, line 25, in
 module
 _pyauth = swig_import_helper()
   File ./nox/netapps/authenticator/pyauth.py, line 21, in
 swig_import_helper
 _mod = imp.load_module('_pyauth', fp, pathname,
 description)
 ImportError: ./nox/netapps/authenticator/_pyauth.so:
 undefined symbol: vigil::Host_auth_event::Host_auth_event(vigil::datapathid,
 unsigned short, vigil::ethernetaddr, unsigned int, long long, long long,
 unsigned int, vigil::Host_event::Reason)


 00042|nox|ERR:Cannot change the state of 'authtest' to INSTALLED:
 'authtest' ran into an error:
 cannot import a Python module 'nox.coreapps.examples.authtest':
 Traceback (most recent call last):
   File ./nox/coreapps/examples/authtest.py, line 2, in module
 from nox.netapps.authenticator import pyauth
   File ./nox/netapps/authenticator/pyauth.py, line 25, in
 module
 _pyauth = swig_import_helper()
   File ./nox/netapps/authenticator/pyauth.py, line 21, in
 swig_import_helper
 _mod = imp.load_module('_pyauth', fp, pathname, description)
 ImportError: ./nox/netapps/authenticator/_pyauth.so: undefined
 symbol: vigil::Host_auth_event::Host_auth_event(vigil::datapathid, unsigned
 short, vigil::ethernetaddr, unsigned int, long long, long long, unsigned
 int, vigil::Host_event::Reason)

 Am i importing the component in the right way?
 can anybody help me with that?


___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] Doubt about len parameter in packet in event

2011-06-10 Thread Srini Seetharaman
Hi Luciano
I guess you're using the ofp_packet_in-total_len value? That is
indeed the length of the packet that came into the port which
generated the pkt_in.

If you're looking to compute the overall traffic sent from a server,
you can also use the flow_exp message and sum it for all the flows
sent by that server.

On Wed, May 25, 2011 at 11:05 PM,  lignac...@inf.ufrgs.br wrote:
 Hello,

 I have developed a script to distribute flows among three servers using
 mininet + FlowVisor + Nox. I tested the scripts with Iperf and Wireshark and
 apparently it is working well. My only question is related to the len
 parameter in packet_in event. I am using this parameter to calculate the
 traffic sent for each server. Can I really use this parameter? Does it
 represent the length of the packet?

 PS. I just sum the len´s value when the switch receives a IP_TYPE packet.

 Thank you.

 My best regards.

 Luciano Ignaczak

 
 This message was sent using IMP, the Internet Messaging Program.


 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] how can nox controller get rtt time?

2011-06-10 Thread Srini Seetharaman
Hi Yi-Shou
You could possibly use the following to approx for RTT
time: timestamp(barrier_reply) - timestamp(fwd pkt_in), assuming the
barrier_request is sent with the pkt_out of the reverse direction ICMP.

On Wed, May 11, 2011 at 8:16 AM, false ladj...@yahoo.com.tw wrote:

 Hi,

 I have a problem about the nox controller get rtt time from NetFPGA based
 OpenFlow switch.
 Assuming there are two hosts connecting to a LAN network is established by
 NetFPGA
 based OF switch, and hosts can not communication with nox controller which
 control the NetFPGA based OF swtich because hosts do not connect to
 internet.
 Then, if hosts can not tell rtt time to nox controller, does the nox
 controller has any methods can know rtt time between hosts?

 Any suggest will be helpful! Thank you!

 Yi-Shou

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] how to use Authentication component

2011-06-10 Thread Srini Seetharaman
You may be able to listen for Host_event (with filter
Host_event.action == Action.ADD), and track the datapath_id and port
of each host.

In the python side, I think it is Host_bind_event.

2011/6/10 颜玮 yan...@bupt.edu.cn:
 Hi all,
 I met difficulty in using Authontication component,and i need your help.
 here is my problem:
 I want to know the location of each host,and i think there must be a
 function in Authentication component that i can ues,but i don't know which
 one. Any one knows?
 also,should i import the component in my codefile like from
 nox.netapps.authenticator.pyauth import *   ?

 ---
 yan
 6/10

 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev


___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] Rewrite MAC Address OpenFlow

2011-06-09 Thread Srini Seetharaman
Hi Alexander
Can you be more specific about what error you're getting?

You are not specifying any output action. Try adding that too like:
 actions = [ [openflow.OFPAT_SET_DL_DST, 00:00:00:00:00:02],
,[openflow.OFPAT_OUTPUT, [0, outport]] ]

What switch are you using?

Thanks
Srini.

On Fri, May 27, 2011 at 10:40 PM, alexander scaranti
alexander.scara...@gmail.com wrote:
 Hi,

 I'm not able to change the MAC address of an HTTP packet OpenFlow
 follows the code I'm using to try to change, but it is coming out in
 error:
 actions = [openflow.OFPAT_SET_DL_DST, 00:00:00:00:00:02]
 self.install_datapath_flow (dpid, flow, 5, 0, actions, bufid,
 openflow.OFP_DEFAULT_PRIORITY, inport, packet)

 I am developing a python load balancer. What am I doing wrong?

 Thanks,

 Alexander Scaranti
 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] [openflow-discuss] OpenFlow Error (type=1, code=7) (type=1, code=8)

2011-05-02 Thread Srini Seetharaman
Hi Marwen
I believe this is a problem with your NOX code. Could you please mail
to the nox-dev list relevant pieces of your code and folks can help
you figure out what is going wrong?

Please drop openflow-discuss list from the future replies.

Thanks
Srini.

On Mon, May 2, 2011 at 3:24 AM, marwen marwen marwen.e...@gmail.com wrote:
 Hi Niky,
 Thank you for your reply.
 I verified that is a problem of sending two instruction to the switch with
 the same buffer_id. and after that the buffer_id is changed to 'None' that's
 why I have this error messages.
 In my Nox application I put in the parameters of install_datapath_flow
 function the same buffer_id received from the switchs.
 But I don't know if this problem is related to Openflow switches or the Nox
 application. and can I resolve this problem.
 Best regards
 Marwen

 2011/5/1 Niky Riga nr...@bbn.com

 Hi Marwen,
 According to the OpenFlow 1.0.0 specification doc
 (http://www.openflow.org/documents/openflow-spec-v1.0.0.pdf page 39)

 type=1 error is a bad request error (OFPET_BAD_REQUEST) and
 codes 7 and 8 mean buffer empty and buffer unknown
 (OFPBRC_BUFFER_EMPTY, /* Specified buffer has already been used. */
 OFPBRC_BUFFER_UNKNOWN /* Specified buffer does not exist. */)

 Make sure that you only send one instruction to the switch for each
 bufferid, you
 can specify multiple actions in the same instruction.

 Hope this helps,
 Niky

 marwen marwen wrote:

 Hi all,

 I'm using OpenFlow 1.0 but I have this ERROR

 openflow-event|ERR: received Openflow error packet from
 dpid=000d: type=1, code=7

 and sometimes I have this ERROR

 openflow-event|ERR: received Openflow error packet from
 dpid=000a: type=1, code=8

 Please can you help me to resolve this problem

 Thank you
 Best regards
 Marwen

 

 ___
 openflow-discuss mailing list
 openflow-disc...@lists.stanford.edu
 https://mailman.stanford.edu/mailman/listinfo/openflow-discuss




 ___
 openflow-discuss mailing list
 openflow-disc...@lists.stanford.edu
 https://mailman.stanford.edu/mailman/listinfo/openflow-discuss


___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] Routing problem

2011-04-27 Thread Srini Seetharaman
Hi Ibrahim
Ping will not work because NOX routing module does not provide
conventional IP routing. You will need to code it yourself.

There is another thread that had similar concern:
http://www.mail-archive.com/nox-dev@noxrepo.org/msg02563.html

For IP routing to work across subnets:
- The IP router should reply to ARP from both subnets
- Any pkt with dst MAC being that of the IP router should
  be fwded to real destination, only after dest MAC is replaced.
- For finding the ultimate dest MAC, the IP router should
  perform ARP request for the ultimate dest IP

None of the above is performed by the NOX routing module. If you do
manage to develop the code for this, please feel free to mail
appropriate modules/code to the list.

Thanks
Srini.

On Wed, Apr 27, 2011 at 2:39 AM, ibrahim mun
ibrahim.me...@alumnos.upm.es wrote:
 Hi Martin , Ali, All,



 I'm getting crazy with nox routing  module, I was looking in nox mailing
 list to figure out the problem and from your discussion It seems I wasn't
 doing things wrong!



 I have the following  topology on mininet:




  host1 host2  host3
 OFSWC3---host7   host8   host9
  |   |  |
 |    |    |
   |   |
  OFSWE1--OFSWC1---OFSWC2---OFSWE2=
  |   |
 |
 |   |   |
  host4  host5
 host6
    host10  host11  host12



 192.168.0.0/24 |
 192.168.2.0 |    192.168.1.0/24

 _||___



 I tried to run routing to ping h12 from h1 but it doesn't work (I can ping
 h2 from h1)

 I changed routing tables, defined default gw for all hosts, removed the loop
 in core switches but still not working.

 I tried to run flowvisor to slice the net and two nox controllers as :
 switch to control the edges OFSWE1, OFSWE2


     : routing to control the core OFSWC1,OFSWC2



 I tried many more things but never achieved the connectivity !



 1. If it wasn't possible to do this at oct/2009, does it possible now with
 openflow 1.0 and Nox 0.9.0?

 2. How can I achieve the connectivity between different subnets? could
 replacing edge routers with non openflow routers solve the problem?



 Thank you very much,



 --Ibrahim





 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev


___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] how to add a flow entry through nox to the openflow switch

2011-04-26 Thread Srini Seetharaman
Hi linbo
Could you please verify the connectivity by setting up an ethernet
bridge (using brctl) between the eth1 and eth2? If the ping worked
fine in the bridge, it should work fine with OpenFlow switching.

Thanks
Srini.

2011/4/26 linbo li...@csnet1.cs.tsinghua.edu.cn:
 Yes,I tried  the command  ./nox_core -v -i ptcp:6633 pyswitch,and ping
 can work well
 Thank you~

 2011-04-26
 
 linbo
 
 发件人: Kyriakos Zarifis
 发送时间: 2011-04-26  16:11:35
 收件人: linbo
 抄送: nox-dev; openflow-discuss
 主题: Re: [nox-dev] how to add a flow entry through nox to the openflow switch
 Hi,
 which NOX components are you running? You need do have some component(s)
 that will install flow entries on the switch for the ping to go through
 have a look here:
 http://noxrepo.org/noxwiki/index.php/FAQ#What_does_the_traversal_of_a_packet_through_a_NOX_controlled_network_look_like.3F

 2011/4/26 linbo li...@csnet1.cs.tsinghua.edu.cn

 Hi ,all
  I want to verify the  openflow and controller work well or not,but I get
 something wrong.
 here is my problem:
 1、the openflow switch has connetected to nox ,and the topology is as
 follow:
 openflow-controller:eth0 - 192.168.1.1/24
 openflow-switch:eth0 - 192.168.1.2/24
 openflow-switch:eth1 - no IP (would act as a switch port)
 openflow-switch:eth2 - no IP (would act as a switch port)
 openflow-host1:eth0 - 192.168.2.1/24
 openflow-host2:eth0 - 192.168.2.2/24


 2、when i ping host1 from host2  ,I can't see any ping replies coming.

 i check out the flow table of the switch ,and  the flow table of the
 swtich is empty。
 so how can I add  a flow entry through nox to the openflow switch to let
 the ping work welll

 Thank you!

 2011-04-26
 
 linbo
 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev



 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev


___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] Is there command line which can add flow table to openflow on NOX?

2011-04-25 Thread Srini Seetharaman
Hi
There is no command line command for NOX to perform the actions. You
need to write code in C++ or Python to achieve any action you need.

dpctl is the command that will let you do all that you need.

Thanks
Srini.

On Mon, Apr 25, 2011 at 7:36 PM, ??? dongwx134...@huawei.com wrote:
 Hi:everyone

 I am a person new to NOX and OpenFlow. Thanks you very much.

 I use OpenFlow1.0 and original NOX0.6 building system,as shown below.

  ===
        + NOX +
         ===
        |189.81.50.99/24
        |
        |
     ETH1 | 189.81.50.77/24
                 =
   PC1--  +OpenFlow+--PC2
 140.1.1.1/24 Eth0=Eth2    140.1.1.2/24

 We can add flow using './dpctl add-flow ' on OpenFlow,but I can not find any
 command on NOX,including add-flow command、del-flow command and so on.

 Is there command line on NOX? If it exists,please tell me, thanks a lot.

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] [openflow-discuss] Pyswitch VLAN

2011-04-25 Thread Srini Seetharaman
Hi Max
This mail is more appropriate for the nox-dev list that I've copied here.

 I now can ping two machines across a VLAN using NOX and pyswitch. However, 
 the latter does not seem to create a flow for the VLAN pings as each of them 
 shows up at the controller. I assume the pyswitch isn't aware of VLAN.

Yes, pyswitch and much of the code in NOX does not track VLANs.

 Now having looked at the code, I was wondering where I could find a writeup 
 on how to add my own extensions and documentation on all the relevant API 
 calls and their options.

If no one wrote to you thus far, I guess there is nothing ready for
public use. Please mail the nox-dev list if you manage to get this
resolved and working on your own. Thanks!

Srini.
___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] Spanning tree module has error in NOX

2011-03-16 Thread Srini Seetharaman
Hi Yi-Shou
The spanning_tree module was written for earlier version of NOX. I don't
think it was ever tested with the latest version.

Please let us know if you there are certain changes you can make to the
spanning_tree module to make it work with NOX-Zaku. We can post that code
online in the wiki.

Thanks
Srini.

On Wed, Mar 16, 2011 at 7:05 AM, false ladj...@yahoo.com.tw wrote:

 i,

 I want to use spanning tree module in NOX, And I find the basic spanning
 tree web page,
 the URL like the following:
 http://www.openflow.org/wk/index.php/Basic_Spanning_Tree

 but I got some problem in NOX, like the following:
 error message
 'spanning_tree' ran into an error:
 cannot import a Python module 'nox.netapps.spanning_tree.spanning_tree':
 Traceback (most recent call last):
   File ./nox/netapps/spanning_tree/spanning_tree.py, line 17, in module
 from nox.netapps.bindings_storage.pybindings_storage import
 pybindings_storage
   File ./nox/netapps/bindings_storage/pybindings_storage.py, line 7, in
 module
 import _pybindings_storage
 ImportError: ./nox/netapps/bindings_storage/_pybindings_storage.so:
 undefined symbol:
 vigil::applications::Bindings_Storage::get_links(vigil::datapathid,
 boost::functionvoid ()(std::__debug::listvigil::applications::Link,
 std::allocatorvigil::applications::Link ), std::allocatorvoid 
 const)
 -

 My nox version is zaku-0.9.0-full beta, do I need to update something or
 what code do I need to add?

 Can anybody tell me how to solve this problem?
 Any suggest will be helpful. Thank you.

 Yi-Shou



 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev


___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev


Re: [nox-dev] [openflow-discuss] OpenFlow- NOX compiling problem

2011-03-02 Thread Srini Seetharaman
Hi Leonardo
This question is more appropriate for the nox-dev mailing list.

Could you please retry git clone git://noxrepo.org/nox ? The old
version you downloaded is for versions of OpenFlow earlier than 1.0.
We don't really support it at this point (I hope your NetFPGA switch
is also ver1.0)

Thanks
Srini.

On Wed, Mar 2, 2011 at 7:01 AM, Leonardo Linguaglossa
theleo...@gmail.com wrote:
 Hello everybody,
 I am new to OpenFlow and NOX controller and I am trying to install NOX from
 source.

 My configuration is a NetFPGA Cube, with all package installed and also the
 openflow is already installed, but I am having problems about the
 installation of Nox.

 At first I followed what is said in the install guide using git, but I
 received:

git clone git://noxrepo.org/nox
 Cloning into noxcore...
 fatal: The remote end hung up unexpectedly


 So I tried to download the source and do the installation in this way, but
 after doing the ./configure (gone well), when I do the make command, the
 output is:


 openflow-event.cc: At global scope:
 openflow-event.cc:68: error: expected ‘,’ or ‘...’ before ‘*’ token
 openflow-event.cc:68: error: ISO C++ forbids declaration of
 ‘ofp_flow_expired’ with no type
 openflow-event.cc: In function
 ‘vigil::Event*unnamed::handle_flow_expired(vigil::datapathid, int)’:
 openflow-event.cc:72: error: ‘ofe’ was not declared in this scope
 openflow-event.cc:72: error: ‘buf’ was not declared in this scope
 openflow-event.cc: In function ‘vigil::Event*
 vigil::openflow_packet_to_event(vigil::datapathid,
 std::auto_ptrvigil::Buffer)’:
 openflow-event.cc:277: error: ‘OFPT_FLOW_EXPIRED’ was not declared in this
 scope
 openflow-event.cc:278: error: no matching function for call to
 ‘handle_packet(vigil::Event* ()(vigil::datapathid, int),
 vigil::datapathid, const ofp_header*, std::auto_ptrvigil::Buffer)’
 make[5]: *** [openflow-event.lo] Error 1
 make[5]: Leaving directory `/home/netfpga2/nox/nox-0.4.0~beta/src/lib'
 make[4]: *** [all] Error 2
 make[4]: Leaving directory `/home/netfpga2/nox/nox-0.4.0~beta/src/lib'
 make[3]: *** [all-recursive] Error 1
 make[3]: Leaving directory `/home/netfpga2/nox/nox-0.4.0~beta/src'
 make[2]: *** [all] Error 2
 make[2]: Leaving directory `/home/netfpga2/nox/nox-0.4.0~beta/src'
 make[1]: *** [all-recursive] Error 1
 make[1]: Leaving directory `/home/netfpga2/nox/nox-0.4.0~beta'
 make: *** [all] Error 2

 I hope you could help me, because I don't know how to overcome this problem.
 Regards,

 Leonardo

 ___
 openflow-discuss mailing list
 openflow-disc...@lists.stanford.edu
 https://mailman.stanford.edu/mailman/listinfo/openflow-discuss



___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] [openflow-discuss] NOX, FlowVisor, SNAC qeustion

2011-02-06 Thread Srini Seetharaman
Hi Min-Hyup Kang:
Generally SNAC is used as the controller for the production network
and NOX is used as the controller for experiments. When you want to
run both (production traffic and experiments) in your network then you
need to use the FlowVisor. All 3 software can run on the same PC if
you wish.

You should install the 1.0 version of SNAC.

Thanks
Srini.

2011/2/6 Min-Hyup Kang kang-min-h...@hanmail.net

  Dear All,

 I have a basic question.

 I am planning to run controller for SNAC.(OS:Ubuntu Server version 10.10).

 but If I run NOX, SNAC, I know FlowVisor should run. Is it right ?

 so, I installed NOX(0.6) FlowVisor(git clone 
 git://openflowswitch.org/flowvisor.git)

 and I use Pronto 3290 Openflow Switch.

 1. Can I run NOX,SNAC and FlowVisor on A PC ?

 2. What Should I install SNAC version ? 0.8.9 ? 1.0 ?

 Thank you for your attention !



___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Handling corrupted TCP header

2011-01-14 Thread Srini Seetharaman
Hi KK
The patch looks right. I will push that to SNAC too.

Thanks
Srini.

On Fri, Jan 14, 2011 at 10:47 AM, kk yap yap...@stanford.edu wrote:
 Okay, I think the high level point is we should expose malformed
 packets and let others decide how to handle it.  Can someone review
 this patch before I push?

 Regards
 KK

 On 14 January 2011 01:25, Rob Sherwood rob.sherw...@stanford.edu wrote:
 Fwiw, I agree with what both Masa and KK.

 Masa's point: OFPP_TABLE shouldn't be a special case: i.e., it should
 be able to generate packet_in's on the second pss

 KK's point: this should be more explicitly called out in the spec.

 I think if you were to suggest a specific wording in the next week,
 this could still make it into the 1.1 spec.

 - Rob
 .



 On Thu, Jan 13, 2011 at 7:06 PM, Masayoshi Kobayashi
 mkoba...@stanford.edu wrote:
 KK,

 I think the implementer will read the spec the other way around.
 Spec requires nothing special about OFPP_TABLE action (it does not say
 don't generate pkt_in, if there is no match). So the switch
 just follows the default behavior, i.e., pkt_in will be generated.

 I would expect the reference design also does the same.

  Masa

 On 01/13/2011 06:38 PM, kk yap wrote:

 Because the action of pkt_out is OFPP_TABLE.
 (the packet in pkt_out does not match to the entry that is installed by
 flow_mod, since the matching entry says nw_proto=0).

 Is there anything in the spec that says that the switch should send
 another packet-in if there is no matching entry for a OFPP_TABLE?  I
 am failing to find that.  Can someone point to why this behavior is
 specified by the spec?

 Regards
 KK

 On 13 January 2011 18:28, Masayoshi Kobayashimkoba...@stanford.edu
  wrote:

 KK,

 I thought about it a little.  Why is the switch doing step 7?

 Because the action of pkt_out is OFPP_TABLE.
 (the packet in pkt_out does not match to the entry that is installed by
 flow_mod, since the matching entry says nw_proto=0).

  Masa

 On 01/13/2011 06:06 PM, kk yap wrote:

 Hi Srini,

 I thought about it a little.  Why is the switch doing step 7?

 Anyway, I do agree that NOX is not handling malformed packets right.
 I have included an invalid field in the struct flow, and created a
 component that ignore invalid packets.  If anyone will double-check
 and test the patches attached, I will push it.

 Regards
 KK

 On 13 January 2011 16:13, Srini Seetharamanseeth...@stanford.edu
  wrote:

 I explained this to KK in person. For others, here is the sequence of
 events:

 1. Packet arrives with (nw_proto=6, tp_src=0, tp_dst=0). Store in bufid
 'X'
 2. flow.cc identifies that the arrived TCP packet is corrupted, and
 generates
    pkt_in event with flow structure having (nw_proto=0, tp_src=0,
 tp_dst=0)
 3. Authenticator generates a flow_in with flow_in.flow being same as
 above
 3. routing.cc generates a flow_mod for the flow_in with the match
 pattern
    defined using the fields of the flow_in.flow
 4. Switch inserts a flow table entry for matching (nw_proto=0,
 tp_src=0, tp_dst=0)
 5. routing.cc generates a pkt_out for the bufid 'X' with action =
 OFPP_TABLE
 6. Switch notices that the packet in bufid 'X' has no matching flow
 table
 entry,
    because there is a mismatch on the nw_proto field
 7. Switch generates a new pkt_in event
 8. Go to step (2)

 This is the infinite loop.

 Srini.

 On Thu, Jan 13, 2011 at 1:08 PM, kk yapyap...@stanford.edu    wrote:

 Hi Srini,

 I think you are fixing this in the wrong place.  Putting nw_proto=0
 does not cause an infinite loop.  Where is the loop happening?  Can
 you provide more detailed NOX output so that we can even start looking
 at this.

 Regards
 KK

 On 13 January 2011 11:02, Srini Seetharamanseeth...@stanford.edu
  wrote:

 We don't know who sent it, but it came from outside our network. If
 it
 is easy to take down a network by just sending 1 invalid packet, I'd
 be worried!

 On Thu, Jan 13, 2011 at 10:59 AM, kk yapyap...@stanford.edu
  wrote:

 Hi Srini,

 What is this packet?  The length of TCP is zero?!?!  I wish to
 understand the circumstance for which we are getting the packet
 before
 commenting on the right way to handle this.

 Regards
 KK


 On 13 January 2011 10:38, Srini Seetharamanseeth...@stanford.edu
  wrote:

 When someone sends the attached packet to a switch, it generates an
 infinite loop of packet_ins in our production network. This is
 because
 this incoming tcp packet has nw_proto=6 and tcp port numbers of
 0,
 but outgoing flow_mod has nw_proto of 0 and tcp port numbers of
 0.
 So, the packet_out generates a new packet_in and this loop
 continues
 forever.

 I see the following code in src/lib/flow.cc (both in NOX-Zaku and
 SNAC). I believe this is what is causing the nw_proto to be 0 in
 the
 flow_mod. I'm not sure who wrote that piece of  code. This is not
 handling corrupted packets well and rejecting this packet as a
 invalid
 TCP packet. Does anyone see problems with removing the else
 clause?

    if (nw_proto == 

[nox-dev] Handling corrupted TCP header

2011-01-13 Thread Srini Seetharaman
When someone sends the attached packet to a switch, it generates an
infinite loop of packet_ins in our production network. This is because
this incoming tcp packet has nw_proto=6 and tcp port numbers of 0,
but outgoing flow_mod has nw_proto of 0 and tcp port numbers of 0.
So, the packet_out generates a new packet_in and this loop continues
forever.

I see the following code in src/lib/flow.cc (both in NOX-Zaku and
SNAC). I believe this is what is causing the nw_proto to be 0 in the
flow_mod. I'm not sure who wrote that piece of  code. This is not
handling corrupted packets well and rejecting this packet as a invalid
TCP packet. Does anyone see problems with removing the else clause?

if (nw_proto == ip_::proto::TCP) {
const tcp_header *tcp = pull_tcp(b);
if (tcp) {
tp_src = tcp-tcp_src;
tp_dst = tcp-tcp_dst;
} else {
/* Avoid tricking other code into thinking that
 * this packet has an L4 header. */
nw_proto = 0;
}
}

FYI, pull_tcp is defined as below:
static const tcp_header * pull_tcp(Buffer b)
{
if (const tcp_header *tcp = b.try_attcp_header(0)) {
int tcp_len = TCP_OFFSET(tcp-tcp_ctl) * 4;
if (tcp_len = sizeof *tcp) {
return reinterpret_castconst tcp_header*(b.try_pull(tcp_len));
}
}
return 0;
}
attachment: packet_with_bad_tcp_offset.PNG___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Handling corrupted TCP header

2011-01-13 Thread Srini Seetharaman
We don't know who sent it, but it came from outside our network. If it
is easy to take down a network by just sending 1 invalid packet, I'd
be worried!

On Thu, Jan 13, 2011 at 10:59 AM, kk yap yap...@stanford.edu wrote:
 Hi Srini,

 What is this packet?  The length of TCP is zero?!?!  I wish to
 understand the circumstance for which we are getting the packet before
 commenting on the right way to handle this.

 Regards
 KK


 On 13 January 2011 10:38, Srini Seetharaman seeth...@stanford.edu wrote:
 When someone sends the attached packet to a switch, it generates an
 infinite loop of packet_ins in our production network. This is because
 this incoming tcp packet has nw_proto=6 and tcp port numbers of 0,
 but outgoing flow_mod has nw_proto of 0 and tcp port numbers of 0.
 So, the packet_out generates a new packet_in and this loop continues
 forever.

 I see the following code in src/lib/flow.cc (both in NOX-Zaku and
 SNAC). I believe this is what is causing the nw_proto to be 0 in the
 flow_mod. I'm not sure who wrote that piece of  code. This is not
 handling corrupted packets well and rejecting this packet as a invalid
 TCP packet. Does anyone see problems with removing the else clause?

    if (nw_proto == ip_::proto::TCP) {
        const tcp_header *tcp = pull_tcp(b);
        if (tcp) {
            tp_src = tcp-tcp_src;
            tp_dst = tcp-tcp_dst;
        } else {
            /* Avoid tricking other code into thinking that
             * this packet has an L4 header. */
            nw_proto = 0;
        }
    }

 FYI, pull_tcp is defined as below:
    static const tcp_header * pull_tcp(Buffer b)
    {
        if (const tcp_header *tcp = b.try_attcp_header(0)) {
            int tcp_len = TCP_OFFSET(tcp-tcp_ctl) * 4;
            if (tcp_len = sizeof *tcp) {
                return reinterpret_castconst 
 tcp_header*(b.try_pull(tcp_len));
            }
        }
        return 0;
    }

 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org




___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] dl_vlan not correct?

2011-01-05 Thread Srini Seetharaman
Hi Aaron
Only pure-OF switches (like Pronto switch with Indigo firmware) will
send the VLAN tag to the controller. With others, the tag is usually
added / stripped by the VLAN configs on the switch. So, you'll not get
to see them.

Srini.

On Wed, Jan 5, 2011 at 2:23 PM, Aaron Rosen aro...@clemson.edu wrote:
 Hello,

 I'm trying to extract the dl_vlan value from packets on a trunk port. When I
 plug my computer into the trunk port and run tcpdump I see the correct
 802.1Q values. Though when I attach this port to my openflow switch (running
 the pronto firmware) I can't get the correct values at my controller.

 In my controller I'm running these few lines of code to print out what's in
 the packet.

 test = extract_flow(packet)
 print test.keys()
 print test.values()

 From this: I'm getting the following output

 ['dl_type', 'nw_dst', 'dl_vlan_pcp', 'dl_src', 'nw_proto', 'nw_tos',
 'tp_dst', 'tp_src', 'dl_dst', 'dl_vlan', 'nw_src']
 [2048, 4294967295, 0, array('B', [0, 27, 177, 2, 100, 167]), 17, 0, 698,
 698, array('B', [255, 255, 255, 255, 255, 255]), 65535, 2189371010]

 I'm getting 65535 for every packet and that is not correct from what I'm
 seeing with tcpdump and not what I'm expecting.

 Can someone point out where I'm going wrong.

 Thanks,

 Aaron

 --
 Aaron O. Rosen
 Masters Student - Network Communication
 306B Fluor Daniel
 843.425.9777


 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org



___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] dl_vlan not correct?

2011-01-05 Thread Srini Seetharaman
I'm a bit confused by what you see with Indigo. Here's what I said:
- HP switch: Packet_ins seen at the controller will not have the VLAN
tag, but outgoing packets in the dataplane will have the appropriate
tag.
- Indigo switch: Packet_ins seen at the controller will have the VLAN
tag if tagged packets are sent to it. For outgoing packets to have the
tag, the controller has to add the tag (as an additional action).

On Wed, Jan 5, 2011 at 2:37 PM, Aaron Rosen aro...@clemson.edu wrote:
 Hi Srini,

 In my topology I have an HP switch which I have configured a port to tag
 several vlans. If I plug my laptop into this port I'm able to see the
 correct vlan values. Now If I plug a switch into this port that is running
 the indigo firmware when the controller gets the packets I'm seeing 0x
 as the value instead of the correct value I see with my laptop using
 wireshark.

 (According to your response this should be fine? )

 Aaron

 On Wed, Jan 5, 2011 at 5:31 PM, Srini Seetharaman seeth...@stanford.edu
 wrote:

 Hi Aaron
 Only pure-OF switches (like Pronto switch with Indigo firmware) will
 send the VLAN tag to the controller. With others, the tag is usually
 added / stripped by the VLAN configs on the switch. So, you'll not get
 to see them.

 Srini.

 On Wed, Jan 5, 2011 at 2:23 PM, Aaron Rosen aro...@clemson.edu wrote:
  Hello,
 
  I'm trying to extract the dl_vlan value from packets on a trunk port.
  When I
  plug my computer into the trunk port and run tcpdump I see the correct
  802.1Q values. Though when I attach this port to my openflow switch
  (running
  the pronto firmware) I can't get the correct values at my controller.
 
  In my controller I'm running these few lines of code to print out what's
  in
  the packet.
 
  test = extract_flow(packet)
  print test.keys()
  print test.values()
 
  From this: I'm getting the following output
 
  ['dl_type', 'nw_dst', 'dl_vlan_pcp', 'dl_src', 'nw_proto', 'nw_tos',
  'tp_dst', 'tp_src', 'dl_dst', 'dl_vlan', 'nw_src']
  [2048, 4294967295, 0, array('B', [0, 27, 177, 2, 100, 167]), 17, 0, 698,
  698, array('B', [255, 255, 255, 255, 255, 255]), 65535, 2189371010]
 
  I'm getting 65535 for every packet and that is not correct from what I'm
  seeing with tcpdump and not what I'm expecting.
 
  Can someone point out where I'm going wrong.
 
  Thanks,
 
  Aaron
 
  --
  Aaron O. Rosen
  Masters Student - Network Communication
  306B Fluor Daniel
  843.425.9777
 
 
  ___
  nox-dev mailing list
  nox-dev@noxrepo.org
  http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
 
 



 --
 Aaron O. Rosen
 Masters Student - Network Communication
 306B Fluor Daniel
 843.425.9777



___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] how to break loop?

2010-12-23 Thread Srini Seetharaman
Hi Xiefeng
I believe the routing module will find the unique shortest path when
there is a loop. However, it will cause a broadcast storm when the
packet needs a FLOOD action. Please try using the spanning tree module
to resolve the loop:
http://www.openflowswitch.org/wk/index.php/Basic_Spanning_Tree

On Thu, Dec 23, 2010 at 1:36 AM, 谢峰 xiefen...@gmail.com wrote:
 Hi, all
 If the network topology with a loop, the routing module can't calculate the
 shortest path exactly. So it will cause problem, how to solve it?

 xiefeng


 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org



___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Setting up flows at startup

2010-12-16 Thread Srini Seetharaman
Hi Fengxie
Please look in src/nox/netapps/discovery/discovery.py for the phrase
link detected. That discovery module keeps track of the topology by
sending our LLDPs.

Srini.

On Thu, Dec 16, 2010 at 3:58 AM, 谢峰 xiefen...@gmail.com wrote:
 Hello, Akbar, Murphy

 I want to dump the topology so that I can see the topology in the console.
 how should I do? Can I add some code into the routing.cc file, but I don't
 know exactly what the detailed nodes information stored in. Can you help me.

 thanks.

 regards

 fengxie

 2010/12/16 Syed Akbar Mehdi akbar.me...@seecs.nust.edu.pk

 Thanks Murphy. This makes more sense, since datapaths may connect and
 leave at various times.

 On Thu, Dec 16, 2010 at 4:38 PM, Murphy McCauley jam...@nau.edu wrote:

 Welcome to nox-dev, Akbar.

 You should actually do this when the switches connect (in response to the
 datapath join event) rather than at NOX/component startup, as the switches
 won't have connected at that point.

 -- Murphy

 On Dec 16, 2010, at 3:19 AM, Syed Akbar Mehdi wrote:

  Hi,
 
  I am writing Nox components using C++. I want to install some 'default'
  flows at startup (e.g. if I want to say that all ARP packets should be 
  sent
  to the controller). I understand that I should probably put the relevant
  code in either configure() or install() (which one should it be?). How do 
  I
  get the IDs of all datapaths that are connected to the controller when
  initialize() or configure() is called for a component?
 
  Regards,
  Akbar
  ___
  nox-dev mailing list
  nox-dev@noxrepo.org
  http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org



 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org




 --
 Feng Xie
 Ph.D. Candidate
 Network Security Lab, Research Institute of Information Technology
 Tsinghua National Laboratory for Information Science and Technology
 Dept. of Automation, Tsinghua Univ., Beijing, China, 100084.
 Tel.: +86-010-6277-2656
 Email: xiefen...@gmail.com


 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org



___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] dump the topology in the console

2010-12-16 Thread Srini Seetharaman
Hi Fengxie
Please look in src/nox/netapps/discovery/discovery.py for the phrase
link detected. That discovery module keeps track of the topology by
sending out LLDPs.

Srini.

On Thu, Dec 16, 2010 at 6:02 AM, 谢峰 xiefen...@gmail.com wrote:
 Hello, all,

 I want to dump the topology so that I can see the topology in the console.
 how should I do? Should I add some codes into the routing.cc or nox_main.cc
 file, but I don't know exactly what the detailed nodes information stored
 in. Can anybody help me.

 thanks.

 regards

 fengxie

 --
 Feng Xie
 Ph.D. Candidate
 Network Security Lab, Research Institute of Information Technology
 Tsinghua National Laboratory for Information Science and Technology
 Dept. of Automation, Tsinghua Univ., Beijing, China, 100084.
 Tel.: +86-010-6277-2656
 Email: xiefen...@gmail.com


 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org



___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] how to creat a topology?

2010-12-13 Thread Srini Seetharaman
Hi FengXie
You may want to use mininet to achieve the scale you need:
http://www.openflowswitch.org/foswiki/bin/view/OpenFlow/Mininet

On Mon, Dec 13, 2010 at 7:45 AM, 谢峰 xiefen...@gmail.com wrote:
 Hi all,

 I want to do some experiments to test the performance of the routing
 algorithm that nox routing component used.

 so I need a huge topology with  a lot of switchs and hosts. Is anyone knows
 how to add switchs and hosts manually.

 thanks!

 FengXie

 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org



___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Error feedback from adding flows

2010-12-13 Thread Srini Seetharaman
There seems to be Error_event that is thrown. Maybe you can bind a
handler for that. For the details of Error_event, please see
include/error-event.hh

On Fri, Dec 10, 2010 at 12:12 AM, Derek Cormier
derek.corm...@lab.ntt.co.jp wrote:
 Hello,

 I'm looking for a way to see if adding a flow failed. In the OpenFlow
 protocol, it says an ofp_error_msg message is returned. Is there any event I
 can register for to catch this? I would also like to catch an error of type
 OFPET_FLOW_MOD_FAILED. I'm using a python component.

 Thanks!
 -Derek

 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] working of switch api on link failure

2010-12-06 Thread Srini Seetharaman
 Pardon my laziness in not reading the patches.  I am confused here.  Two 
 points:
 1) Switch does not depend on topology or discovery, so how do you get
 link failure?

Oh, with switch, I use the port_status_change event and clear flow
rules (and the archived Mac_source for the port).

 2) There is no spanning tree implementation in NOX (distributed by
 default), i.e., you cannot have a redundant network with NOX.  So, how
 can you possibly hope to find the host on a different route when a
 link failure occurs?  On that note, why does handling link failure
 even matters?

If a silent host (connected to port X) had moved to port Y, then your
table will still think the host is located on port X. Even if there
existed a chance of reaching host thro' port Y, the controller won't
really try that.

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] working of switch api on link failure

2010-12-06 Thread Srini Seetharaman
Sachin brought up a valid point that the switch and routing modules
are lacking on actions to take when a port or link goes down. Note
that the code available right now in NOX may cause packet loss if the
dst host moved to a new location and stays silent at the new location
(Ageing or host table flushing needs to be implemented for this to
work)

Whether you want MAC entries to expire like a learning switch, or
whether you want to proactively flush out entries made, is left to
you. The code for the latter is in the patch I mailed earlier.

Thanks
Srini.

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Hosts with Same IP

2010-11-17 Thread Srini Seetharaman
HI Rohit
I'm not sure if this is a question appropriate to the nox-dev list. I
believe the list is intended for questions regarding developing over
NOX.

You may want to lookup a previous work called Plug-n-serve, followed
by an improved system called Aster*x, that builds a server farm with
all hosts having same alias IP address, while having different MAC
address. To achieve what you are suggesting, you might have to rewrite
MAC addresses at the gateway point instead of trying to use ARP
revocation to change the MAC address for each request.

Srini.

On Wed, Nov 17, 2010 at 10:37 AM, Rohit Manohar rdman...@ncsu.edu wrote:
 I am trying to simulate Server-Load Distribution. I have a farm of
 host behind a switch who should be addressable by a single IP because
 they are part of the same server service advertised to the outside
 world. The switch will decide which flow to assign to which host
 depending upon the link utilization of the hosts. So, during the
 topology setup, can I assign the same IP address to the farm of hosts?

 Regards,
 --
 Rohit Manohar
 Graduate Student
 North Carolina State University
 Raleigh, US.

 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Flow Table Eviction Policy

2010-11-16 Thread Srini Seetharaman
You are right, the switch sends back a OFPFMFC_ALL_TABLES_FULL error
message to the controller. The controller can either choose to delete
some of the flows, or it can just wait for some of the flows to
naturally expire before sending new flow_mods.

On Tue, Oct 26, 2010 at 7:16 PM,  aza...@cs.toronto.edu wrote:
 Hi,

 Is there a defined way the switches for the switches to respond if the
 flow table is already full or is the response just an error the table is
 full and then the controller needs to handle that gracefully by choosing a
 flow to remove?

 Thanks,
 Adam


 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Version Problem

2010-11-15 Thread Srini Seetharaman
Hi Rohit
Did you say you're using OpenFlow 1.0 for the switch? Which
branch/repo of NOX did you install?

On Sun, Nov 14, 2010 at 7:02 PM, Rohit Manohar rdman...@ncsu.edu wrote:
 I have installed nox and want to use a virtual testing environment using
 qemu. I have used Openflow1.0 to make the nox controller. When I try
 ./secchan nl:0 tcp:10.0.2.2:2525 I get an error 'Version Negotiation failed.
 We support version 0x97 to 0x97 inclusive but peer supports no later than
 version 0x01.

 Which version on openflow should I use to make the nox-contorller?

 --
 Rohit Manohar
 Graduate Student
 North Carolina State University
 Raleigh, US.

 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org



___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] [openflow-discuss] discovery errors using nox destiny as a learning switch with flowvisor 0.6.4 and HP switches in VLAN aggregation mode

2010-11-12 Thread Srini Seetharaman
Hi KK/Chris
This patch by itself won't work because it doesn't keep track of VLAN
IDs to reuse in the packet_out for the LLDP. Let me rewrite one for
that and send you after testing it in our HP network in Flashlab.

Srini.

On Fri, Nov 12, 2010 at 1:48 PM, kk yap yap...@stanford.edu wrote:
 Hi,

 I must say this patch sits very much on the gray zone.  I personally
 think we can take it in as long as it does not affect other switch
 implementation.  Of course, I am assuming discovery will not use VLAN
 tag for other purposes here.  I am happy to push this as long as I can
 have someone else's stamp of approval.

 Srini, once we are a working patch, i.e., one without error.  Do send
 that for commit review.

 Regards
 KK

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Adding flow entry

2010-10-14 Thread Srini Seetharaman
Hi Sachin
If you are looking to just create entries without writing any NOX
code, then you need to use dpctl. Please do following:

$ git clone git://openflowswitch.org/openflow.git
$ cd openflow
$ git checkout -b of1.0 origin/release/1.0.0
$ ./boot.sh; ./configure; make
$ cd utilities
$ ./dpctl --help (To see list of commands)
$ ./dpctl command tcp:switch:listener_port

...where the OpenVSwitch datapath was started with ptcp:listener_port
option. You can use this command to write entries (add-flow)

Srini.

On Thu, Oct 14, 2010 at 2:19 AM, sachin sharma
sharon_sac...@yahoo.co.in wrote:
 Dear All,

 I have connected one nox (version number 0.6) to two openVswitch ( Version
 1.0).
 I am interested to create centralized nox where it can add or delete flow
 entries to both the switches. Now for this initial phase, I am interested to
 write entries related to each switch manually without any control plane
 algorithm. So, how can I do this? Is there a specific command to do that or
 I
 would have to write a code in nox related to each switch?


 Many thanks in advance for the answer!

 Best Regards,
 Sachin Sharma



 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] discovery

2010-09-07 Thread Srini Seetharaman
Hi Ali
The following three lines in the code ensure that the HP isn't
dropping the LLDP packets. So, it is not that issue.

# To insure that the LLDP src mac address is not a multicast
# address, since we have no control on choice of dpid
eth.src = '\x00' + struct.pack('!Q',dpid)[3:8]

 1. Creates a lldp packet with the 6 least significant bytes of the dpid as a
 tlv (see line 65 and 66 of discovery.py).
 2. The received lldp packet's tlv field is then used to compute a chassis id
 (line 276), this chassis id is only 6 bytes long

You are right. The problem is that you are unable to associate
multiple Openflow instances on the same HP switch with the same
controller because the TLV contains only the least significant 48
bits. I thought this was solved with NOX-destiny branch which has
support for 64 bit dpid. I'll let the NOX team put in the patch.

 Also, I noticed that the switchstats.py in the switchstats component has the
 following call:
 self.ctxt.send_port_stats_request(dp)
 Shouldn't this call be:
 self.ctxt.send_port_stats_request(dp, openflow.OFPP_NONE)

I believe the default value of OFPP_NONE for the second argument is
set elsewhere.

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] NOX performance benchmarks

2010-09-06 Thread Srini Seetharaman
Hi Nikhil
If you want a program to benchmark controller, checkout cbench:
http://openflow.org/wk/index.php/GEC8Tutorial#Benchmark_Your_Controller

On Mon, Sep 6, 2010 at 9:49 PM, Martin Casado cas...@nicira.com wrote:
 Hey Nikhil,

 A few things to consider.

 - Nox is *not* a very efficient controller.  The event model using argument
 binding and function pointers adds a lot of overhead, and significant time
 is wasted checking fd's which don't have any events pending.  There are
 other scalability limitations as the number of active OpenFlow connections
 increases over a few hundred.   If you want to test against a more efficient
 controller, the trivial C controller shipped with the reference solution and
 Open vSwitch is probably your best bet.

 - Both event processing latency, and throughput are useful metrics for an
 OpenFlow controller.  Latency provides and indication of how fast a
 controller can respond to a single event.  And throughput is useful to
 understand how the controller handles load.  Amin Tootoonchian has done some
 pretty interesting latency work with Nox in which he was able to get
 something like 17us end-to-end latency using a tickless kernel with
 high-fidelity timers.  Throughput with Nox is definitely CPU limited and can
 only be test with multiple active OpenFlow connections.

 - Single instance throughput is probably not a very interesting metric for
 most real deployment environments.  Latency, and the ability for the
 controller to scale-out are more germane measurements.  Testing the latter
 is difficult because it converges on the consistency overhead of the control
 logic implemented using the controller, and not the controller platform
 itself.

 .martin

 Hi,
 I'm looking for a way to do an apples-to-apples comparison of the
 performance of various controllers out there. From what I have heard NOX is
 a very efficient controller with some impressive performance numbers.

 Are there standard benchmark tools that are used to evaluate the performance
 of NOX? If so, are they publicly available?
 Thanks,
 Nikhil

 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org



___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Sample application that is interactive

2010-08-25 Thread Srini Seetharaman
Hi Ian
A few demos are public:
http://www.openflowswitch.org/wk/index.php/OpenRoads_%28n-casting%29
http://www.openflowswitch.org/wk/index.php/Aggregation

They all use the OpenFlow GUI:
http://www.openflowswitch.org/wp/gui/

But depending on what exactly you're looking for, it might be simplest
if you start from scratch with a controller app that takes simple
keyboard input.

Srini.

On Wed, Aug 25, 2010 at 12:52 PM, Ian Ku ia...@cs.ucla.edu wrote:
 Hi KK,

    Thanks for the quick response!
    Are those demos currently open for download? If so, what are they
 called and where can I take a look at them:)
    SNAC is probably not an option now since I still need to change
 the logic of my own NOX component, and was wondering if there is a way
 I can let the component do different things based on some user input.
    Thanks again:)

 Ian

 On Wed, Aug 25, 2010 at 12:17 PM, kk yap yap...@stanford.edu wrote:
 Hi Ian,

 We have constructed demos that interact with the demos.  Or you can
 look at SNAC.

 Regards
 KK

 PS I am wondering what is the correct mailing list for this
 question, since nox-dev is really mainly used by NOX developers.

 On 25 August 2010 10:22, Ian Ku ia...@cs.ucla.edu wrote:
 Hi all,

   I was wondering if there is any sample application that is
 interactive, i.e. a application that accepts user input to add/remove
 flow entries.
   If no, are there any suggestions/guild-lines in which how such an
 application can be done?
   Thanks!

 Ian Ku

 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org



 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Nox + Invalid Ethernet Addr

2010-08-18 Thread Srini Seetharaman
Thanks, Michael, for sending the pcap and the debugging info offline.
I believe we may have uncovered a NOX bug. I'll let KK and team
confirm that.

The source address you have translates to:
 val=array.array('B', [0, 48, 5, 204, 90, 232])
 val = val.tostring()
 val
'\x000\x05\xccZ\xe8'

The destination MAC addr you have translates to:
 val=array.array('B', [0, 38, 85, 218, 58, 64])
 val = val.tostring()
 val
'\x00U\xda:@'

Unfortunately, the destination MAC address has a : character in
binary. This causes NOX to incorrectly interpret this val string as a
text (instead of binary) at Line 78 of src/nox/lib/util.py, and then
perform a text conversation (instead of binary). This leads to the
invalid ethernet address.

KK and team will patch this. In the meantime, please try the hacky
patch that I mailed you and write back to the list if that solves your
problem.

Thanks
Srini.

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] problem in installation snac contoller

2010-07-04 Thread Srini Seetharaman
 ar...@parham-lab1:~$ sudo aptitude install libboost-filesystem1.34.1
 [sudo] password for parham:
 Reading package lists... Done
 Building dependency tree
 Reading state information... Done
 Reading extended state information
 Initialising package states... Done
 Writing extended state information... Done
 No candidate version found for libboost-filesystem1.34.1
 No candidate version found for libboost-filesystem1.34.1

Unfortunately, SNAC has a hard dependency on
libboost-filesystem1.34.1. Thus, we encourage users to run SNAC on
Debian systems with this package or Ubuntu 9.10. It does not support
Ubuntu 10+ at this point. We will let you know once we figure out any
another workaround.

 Setting up openflow-pki (0.8.9-rev4) ...
 /usr/local/bin/ofp-pki: /usr/local/share/openflow/pki already exists and 
 --force not specified
 dpkg: error processing openflow-pki (--configure):
  subprocess installed post-installation script returned error exit status 1
 Errors were encountered while processing:
  openflow-pki
 E: Sub-process /usr/bin/dpkg returned an error code (1)
 A package failed to install.  Trying to recover:
 Setting up openflow-pki (0.8.9-rev4) ...
 /usr/local/bin/ofp-pki: /usr/local/share/openflow/pki already exists and 
 --force not specified

The openflow-pki is already installed at the location mentioned. What
James suggest should help get over this issue.

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] Nox controller to control mutliple Vlans

2010-06-18 Thread Srini Seetharaman
This is a problem caused because NOX uses only the 48 least
significant bits of the datapathid, and in HP switches the datapathid
of each VLAN differs only in the most significant bit. Jean (HP) might
be able to provide a firmware to bypass this issue.

On Fri, Jun 18, 2010 at 8:23 AM, Niky Riga nr...@bbn.com wrote:
 Hi,

 I am trying to setup a test but I am not sure the setup is valid.
 What I want to do, is have multiple Vlans being controlled by the same
 controller, so that we can switch packets between different Vlans.

 We have an HP switch. After creating the Vlans, we pointed each vlan
 to the same controller. What I see in the controller is that the switch
 registers for a specific Vlan,  and when it tries to register again for a
 different Vlan it uses the same dpid and thus unregister and registers for
 the other Vlan(i.e. for a separate set of ports). Each switch, at any point
 in time is registered for only one Vlan.

 Is this the intended behavior, or there is misconfiguration somewhere?

 It seems that it should be possible that the same controller, can control
 different Vlans, somehow 

 Thanks,
 Niky Riga

 ___
 nox-dev mailing list
 nox-dev@noxrepo.org
 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] A question regarding Authenticator module

2010-03-12 Thread Srini Seetharaman
Just to add to Guanyao's observations: I wanted to mention that the
host having two bindings is something we run across often in our
Stanford setup. However, we notice it only when the topology is
changed during runtime.

Srini.

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


[nox-dev] Routing with NOX0.6

2010-02-23 Thread Srini Seetharaman
I notice that the routing module is behaving differently with NOX0.6
causing each switch en route to generate independent packet_ins, while
NOX0.4 generates only 1 packet_in. This behavior incurs higher flow
setup time.

I have a topology of client - hpsw3 - hpsw1 - server . I
performed a wget operation from client to server. Following is the
control traffic sent/received by the controller (Timestamp was what my
tcpdump captured):

1266984715.446715   PACKET_IN   hpsw3
1266984715.446895   FLOW_MODhpsw3
1266984715.446936   PACKET_OUT  hpsw3

1266984715.452756   PACKET_IN   hpsw1
1266984715.452913   FLOW_MODhpsw1
1266984715.452937   PACKET_OUT  hpsw1

Ideally, I would've expected to see the controller to push out the
second FLOW_MOD soon enough (and not 6 ms after the PACKET_OUT).

When I use NOX0.4, the action sequence is:
1266987591.116579PACKET_INhpsw3
1266987591.116725FLOW_MOD hpsw3
1266987591.116755FLOW_MOD hpsw1
1266987591.116787PACKET_OUT   hpsw3

Any idea if there is a code change?

Thanks
Srini.

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org