[nox-dev] Can i use Tcpreplay with NOX
Hi all, I have a network traffic trace-file for a segment of my network and i want to analyze it in time frames i.e analyzing flows after every 10 sec. For this i have installed NOX and openvswitch on a ubuntu virtual machine and have created another virtual machine from which i am replaying by tracefile using tcpreplay on the same interface that both VM share. Packets are received at the switch and corresponding packetin event are generated and i can setup the flow fields. But i cannot add the flows in the switch flow table and error message is generated by openvswitch with type 2 and code 4 and what i am getting that it is openvswitch is enable to differentiate between physical and logical port is their anyway to recitfy this error. Regards, Ali Ahmad ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
[nox-dev] Openflow flowtable Cross comparsion
Hi, I am working on a topology in which multiple open-flow switches are connected to a centralized NOX controller. I wish to cross compare flow table from multiples open flow switches. Do openflow switch has the ability to send its flowtable to controller or there is some easier way to do it . Regards, Ali Ahmad ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
[nox-dev] Sending Entire packet to NOX contoller
Hi all, I have a query that how we can instruct the switch to send the entire packet rather i found solution to this as in "To instruct the switch to send the entire packet to NOX, we have to make some changes to src/lib/openflow.cc. The following statement osc.miss_send_len = htons(OFP_DEFAULT_MISS_SEND_LEN); has to be changed to osc.miss_send_len = htons(0);"(1) But when i changed the parameter in the openflow.cc file and recompiled the NOX it has started dropping the packet giving the error packet to short. My question is that by sending entire packet do we mean sending application level data.. Regards, Ali Ahmad ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] (no subject)
Thanks Kyriakos it worked. Regards, Ali Ahmad Date: Sun, 16 Oct 2011 04:00:58 -0700 Subject: Re: [nox-dev] (no subject) From: kyr.zari...@gmail.com To: aliahmad...@hotmail.com CC: jam...@nau.edu; nox-dev@noxrepo.org Hi Ali, ./nox_core -v -i ptcp:myapp You need a space between "ptcp:" and "myapp" ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] (no subject)
Basically i am running NOX on top of openvswitch on a virtual machine and i have created another machine from which i am replaying traffic on the interface on which openvswitch is attached. I have compiled my app in the netapps src folder and added it in the configure.ac.in before recompiling the nox. But when i run my app with the following arguments no print statement appears in the nox console.Which i have added in packet in event handler. Following is the output at my nox console ./nox_core -i ptcp:myapp NOX 0.9.0(zaku)~full~beta (nox_core), compiled Sep 28 2011 21:28:49 Compiled with OpenFlow 0x01 But when i run it with following arguments ./nox_core -v -i ptcp:myapp 00037|nox|DBG:Application installation report: 00038|nox|DBG:built-in event dispatcher: Current state: INSTALLED Required state: INSTALLED Dependencies: 00039|nox|DBG:built-in DSO deployer: Current state: INSTALLED Required state: INSTALLED Dependencies: 00040|nox|DBG:python: Current state: INSTALLED Required state: INSTALLED Dependencies: 00041|openflow|DBG:Passive tcp interface bound to port 6633 00042|nox|INFO:nox bootstrap complete 00043|openflow|DBG:Passive tcp interface received connection 00044|openflow|DBG:stream: negotiated OpenFlow version 0x01 (we support versions 0x01 to 0x01 inclusive, peer no later than version 0x01) 00045|nox|DBG:Success sending in 'sending switch config' 00046|nox|DBG:Success sending in 'receiving features reply' 00047|nox|DBG:Success receiving in 'receiving features reply' 00048|nox|DBG:Success sending in 'receiving ofmp capability reply' 00049|nox|DBG:Success receiving in 'receiving ofmp capability reply' 00050|nox|DBG:Datapath 004e46324304 sent error in response to capability reply, assuming no management support 00051|nox|DBG:No switch auth module registered, auto-approving switch 00052|nox|DBG:Registering switch with DPID = 4e46324304 00053|openflow-event|DBG:received packet-in event from 004e46324304 (len:128) 00054|openflow-event|DBG:received packet-in event from 004e46324304 (len:128) 00055|openflow-event|DBG:received packet-in event from 004e46324304 (len:128) My Query is that whether my handler for packet-in event is not getting any packet but nox is receiving them or their is error in my code but so why my code is compiled then Subject: Re: [nox-dev] (no subject) From: jam...@nau.edu Date: Sat, 15 Oct 2011 09:57:07 -0700 CC: nox-dev@noxrepo.org To: aliahmad...@hotmail.com It's hard to say, given the information that you've provided. Where did you put the print statements? If you put them in a component (for example, pyswitch), did you then make sure to load that component by specifying it on the commandlne, like below?./nox_core -i ptcp: pyswitch -- Murphy On Oct 15, 2011, at 6:54 AM, ali ahmad wrote:Hy ! I have a problem that though my source code gets complied and packet in events also appears on NOX console but my print statements which i have written in my source code does not appear on NOX console. Please guide me .___ 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] (no subject)
Hy ! I have a problem that though my source code gets complied and packet in events also appears on NOX console but my print statements which i have written in my source code does not appear on NOX console. Please guide me . ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] How to send request and fetch reply
Can u please tell me how to do coding for this because i am new to this .If not possible that than please do give me the links of any tutorials of coding in this domain. Regards,Ali Ahmad > From: yap...@stanford.edu > Date: Tue, 9 Aug 2011 09:45:44 -0700 > Subject: Re: [nox-dev] How to send request and fetch reply > To: aliahmad...@hotmail.com > CC: nox-dev@noxrepo.org > > Just listening for datapath_join_event. NOX send > OFPT_FEATURES_REQUEST when a switch connects and the > OFPT_FEATURES_REPLY is contained in the datapath_join_event. > > Regards > KK > > On 9 August 2011 09:38, ali ahmad wrote: > > Hy! > >I want to know, what's the procedure to send a request to controller > > like OFPT_FEATURES_REQUEST and how to receive the OFPT_FEATURES_REPLY > > message. > > In short what i have to code for the controller to do all this. > > ___ > > 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] How to send request and fetch reply
Hy! I want to know, what's the procedure to send a request to controller like OFPT_FEATURES_REQUEST and how to receive the OFPT_FEATURES_REPLY message.In short what i have to code for the controller to do all this. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] next hop IP
Hi!Can i get the information of mac address of the other router(to which i want to forward the packet) using this function and if so than how can i use this structure.I mean what files i have to include in my controller code and what functions i have to call.Just give me a littbit idea of it. From: ricardo.benne...@gmail.com Date: Fri, 5 Aug 2011 11:24:51 -0400 Subject: Re: [nox-dev] next hop IP To: aliahmad...@hotmail.com CC: nox-dev@noxrepo.org Hi Ali Ahmad. Sorry if I misunderstood your question, but I think you should configure the IP of your router as next hop and the out port by yourself.You can configure your router A to forward packets it doesn't know the destination to router B, specifying the port that connect both routers. Assuming you are using Openflow Switches as routers, you can use the struct ofp_switch_features to obtain information about the switches in your network. Your controller sends an OFPT_FEATURES_REQUEST message and the switch responds with an OFPT_FEATURES_REPLY message, that contains several informations, as the switch MAC address, number of flow_tables, port definitions and others. I never used this, but you could take a look on it, that can help you. With this you maybe won't need ARP to discover your gateway MAC address. I would also suggest you to take a look on http://www.openflow.org/wk/index.php/OpenFlow_Tutorial#Create_Router that can help in some way. Hope it helps. Best Regards. 2011/8/4 ali ahmad Some more things which i want to know how to find out the mac address of the gateway router without using arp?? From: aliahmad...@hotmail.com To: nox-dev@noxrepo.org Date: Fri, 5 Aug 2011 01:26:12 + Subject: [nox-dev] next hop IP Hi!I just want to know if i have to send the packet from the gatway (router) to another router than how will i come to know the ip of the next hop(router) outgoing interface(port number) ___ 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 -- Ricardo Bennesby da Silva Ciência da Computação - UFAM LabCIA - Laboratório de Computação Inteligente e Autonoma ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] next hop IP
Some more things which i want to know how to find out the mac address of the gateway router without using arp?? From: aliahmad...@hotmail.com To: nox-dev@noxrepo.org Date: Fri, 5 Aug 2011 01:26:12 + Subject: [nox-dev] next hop IP Hi!I just want to know if i have to send the packet from the gatway (router) to another router than how will i come to know the ip of the next hop(router) outgoing interface(port number) ___ 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] next hop IP
Hi!I just want to know if i have to send the packet from the gatway (router) to another router than how will i come to know the ip of the next hop(router) outgoing interface(port number) ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
[nox-dev] multiple switches connected to single controller
I have written a code for multiple switches connected to a single controller.I am getting failed in two tests . This is the output which i a getting on testing my code . Running Single Switch Connectivity Test...FAILRunning Single Switch Learning Switch Test...PASSRunning Single Switch Flow-Based Learning Switch Test...FAIL Code that i have written: def learn_and_forward(self, dpid, inport, packet, buf, bufid):"""Learn MAC src port mapping, then flood or send unicast."""# Initial hub behavior: flood packet out everything but input port.# Comment out the line below when starting the exercise.#self.send_openflow(dpid, bufid, buf, openflow.OFPP_FLOOD, inport)srcmac =mac_to_str(packet.src,0) destmac=mac_to_str(packet.dst,0)mac_to_port[srcmac]=inport,dpid if destmac in mac_to_port : data=mac_to_port[destmac] outport=data[0] datapathid=data[1] attrs[core.IN_PORT] =inport attrs[core.DL_DST] =packet.dst self.send_openflow(datapathid, bufid, buf,outport, inport) actions=[[openflow.OFPAT_OUTPUT, [0, outport]]] install_datapath_flow(datapathid, attrs,100,200,actions,bufid,openflow.OFP_DEFAULT_PRIORITY,inport, packet) else: send_openflow(dpid,bufid, buf,openflow.OFPP_FLOOD, inport) ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
Re: [nox-dev] how to manage multiple switches with the help of NOX controller
Thanks for the answers Subject: Re: [nox-dev] how to manage multiple switches with the help of NOX controller From: jam...@nau.edu Date: Mon, 25 Jul 2011 00:10:28 -0700 CC: nox-dev@noxrepo.org To: aliahmad...@hotmail.com Responses in-line. On Jul 24, 2011, at 9:29 PM, ali ahmad wrote: This is what i got, u want to say that its an event whenever the switches get connected to controller , their dpids are recorded at that time. So, now whenever this event occurs it will be handled by the function you hv defined as def handle_datapath_join (self, dpid):self.dpids.add(dpid) it will save all the dpids in the list u hv defined as self.dpids = set() I have two queries (sorry basic coding questions)1) datapath-join is a .hh file instead of writing its actual name in the argument u hv written handle_datapath_join, does this matter? handle_datapath_join is a method on the mycomponent class which I defined. I can name it whatever I want. I set this method as a callback to handle the datapath_join event by using the register_for_datapath_join method inherited from the component superclass (defined in core.py, if I recall correctly). This method takes care of using the correct name. You can read the documentation or code in core.py for some more info. But that's all there is to it. The .hh files don't directly matter when you're working in Python. Reading core.py and the Python examples (and maybe the .i files) is probably going to be way more useful to you than reading the C++ files. In more practical terms: The code I gave works the way it is (mod the bug I mentioned -- it should actually be "def handle_datapath_join (self, dpid, attrs):"). 2)dpids scope is just inside the function def handle_datapath_join (self, dpid):? actually i want to use it inside other function as well The scope of the dpid argument to the method may only exist inside that handler, but I am putting it into the self.dpids set. dpids is a field on mycomponent -- its scope is the entire object. From any method in mycomponent, you can access self.dpids. If you save a reference to the mycomponent object (for example, pyswitch does this by saving self to a global variable called "inst" inside the __init__ method), you can access it from outside the object as well. -- Murphy At last, thanks a lot ,ur help was a great support in the progress of my work. Subject: Re: [nox-dev] how to manage multiple switches with the help of NOX controller From: jam...@nau.edu Date: Sun, 24 Jul 2011 12:34:06 -0700 CC: nox-dev@noxrepo.org To: aliahmad...@hotmail.com The arguments the register functions are callbacks to be called when the corresponding events occur. In the case of my example program, these are two methods implemented on mycomponent (handle_datapath_join). The docstring for register_for_datapath_join (in core.py) has more info: def register_for_datapath_join(self, handler): Register a handler for a datapath join event. The handler will be called with: handler(dpid, attrs).'dpid' is the datapath id of the switch'attrs' is a dictionary with the following keys: N_BUFFERS, N_TABLES, CAPABILITIES, ACTIONS, PORTS The PORTS value is a list of port dictionaries where eachdictionary has the keys listed in the register_for_port_statusdocumentation. Note that this makes apparent a bug in my example program. handle_datapath_join() should have a second parameter ("attrs"). -- Murphy On Jul 24, 2011, at 5:04 AM, ali ahmad wrote:thnks a lot but I am really sorry for bothering u again and again but it would be kind of u if u just tell me that what are these arguments inside the functions u hv inialized self.register_for_datapath_join(self.handle_datapath_join) self.register_for_datapath_leave(self.handle_datapath_leave)Subject: Re: [nox-dev] how to manage multiple switches with the help of NOX controller From: jam...@nau.edu Date: Sun, 24 Jul 2011 04:39:40 -0700 CC: nox-dev@noxrepo.org To: aliahmad...@hotmail.com No and no. You should really ready pyswitch.py -- as I said, it does most of what you need already. However, here's the start of an untested component that doesn't do anything except keep track of dpids: from nox.lib.core import * class mycomponent (Component): def __init__ (self, ctxt): Component.__init__(self, ctxt)self.dpids = set() self.register_for_datapath_join(self.handle_datapath_join) self.register_for_datapath_leave(self.handle_datapath_leave) def handle_datapath_join (self, dpid):self.dpids.add(dpid) def handle_datapath_leave (self, dpid):self.dpids.remove(dpid) def getInterface (self):return self.__class__.__name__ def getFactory (): class Factory:def instance (self, ctxt): return mycomponent(ctxt) return Factory() Good luck. -- Murphy P.S., I am assuming you're dropping the CC to the mailing list by accident. Please be sure to "reply all
Re: [nox-dev] how to manage multiple switches with the help of NOX controller
This is what i got, u want to say that its an event whenever the switches get connected to controller , their dpids are recorded at that time. So, now whenever this event occurs it will be handled by the function you hv defined as def handle_datapath_join (self, dpid):self.dpids.add(dpid) it will save all the dpids in the list u hv defined as self.dpids = set() I have two queries (sorry basic coding questions)1) datapath-join is a .hh file instead of writing its actual name in the argument u hv written handle_datapath_join, does this matter? 2)dpids scope is just inside the function def handle_datapath_join (self, dpid):? actually i want to use it inside other function as well At last, thanks a lot ,ur help was a great support in the progress of my work. Subject: Re: [nox-dev] how to manage multiple switches with the help of NOX controller From: jam...@nau.edu Date: Sun, 24 Jul 2011 12:34:06 -0700 CC: nox-dev@noxrepo.org To: aliahmad...@hotmail.com The arguments the register functions are callbacks to be called when the corresponding events occur. In the case of my example program, these are two methods implemented on mycomponent (handle_datapath_join). The docstring for register_for_datapath_join (in core.py) has more info: def register_for_datapath_join(self, handler): Register a handler for a datapath join event. The handler will be called with: handler(dpid, attrs).'dpid' is the datapath id of the switch'attrs' is a dictionary with the following keys: N_BUFFERS, N_TABLES, CAPABILITIES, ACTIONS, PORTS The PORTS value is a list of port dictionaries where eachdictionary has the keys listed in the register_for_port_statusdocumentation. Note that this makes apparent a bug in my example program. handle_datapath_join() should have a second parameter ("attrs"). -- Murphy On Jul 24, 2011, at 5:04 AM, ali ahmad wrote:thnks a lot but I am really sorry for bothering u again and again but it would be kind of u if u just tell me that what are these arguments inside the functions u hv inialized self.register_for_datapath_join(self.handle_datapath_join) self.register_for_datapath_leave(self.handle_datapath_leave)Subject: Re: [nox-dev] how to manage multiple switches with the help of NOX controller From: jam...@nau.edu Date: Sun, 24 Jul 2011 04:39:40 -0700 CC: nox-dev@noxrepo.org To: aliahmad...@hotmail.com No and no. You should really ready pyswitch.py -- as I said, it does most of what you need already. However, here's the start of an untested component that doesn't do anything except keep track of dpids: from nox.lib.core import * class mycomponent (Component): def __init__ (self, ctxt): Component.__init__(self, ctxt)self.dpids = set() self.register_for_datapath_join(self.handle_datapath_join) self.register_for_datapath_leave(self.handle_datapath_leave) def handle_datapath_join (self, dpid):self.dpids.add(dpid) def handle_datapath_leave (self, dpid):self.dpids.remove(dpid) def getInterface (self):return self.__class__.__name__ def getFactory (): class Factory:def instance (self, ctxt): return mycomponent(ctxt) return Factory() Good luck. -- Murphy P.S., I am assuming you're dropping the CC to the mailing list by accident. Please be sure to "reply all". On Jul 24, 2011, at 3:33 AM, ali ahmad wrote:Subject: Re: [nox-dev] how to manage multiple switches with the help of NOX controller From: jam...@nau.edu Date: Sun, 24 Jul 2011 03:25:54 -0700 CC: nox-dev@noxrepo.org To: aliahmad...@hotmail.com NOX comes with a number of components which implement different pieces of functionality, and topology is one example of such. For some more information, see the wiki: http://noxrepo.org/noxwiki/index.php/NOX_Components . For an example of using the topology component from Python, see the flowtracer component. But skipping the topology component for now and keeping your own list of of dpids might be more approachable for the moment. pyswitch actually demonstrates setting up callbacks for the datapath_join and datapath_leave events. All you need to do is write handlers that actually keep track of dpids (by adding and removing them from a Python set would be my suggestion). This is only a handful of lines of code. -- Murphy On Jul 24, 2011, at 3:09 AM, ali ahmad wrote:Subject: Re: [nox-dev] how to manage multiple switches with the help of NOX controller From: jam...@nau.edu Date: Sun, 24 Jul 2011 02:53:44 -0700 CC: nox-dev@noxrepo.org To: aliahmad...@hotmail.com If you want to do it yourself, just monitor datapath_join events. These are fired whenever a switch connects, and the event object holds the dpid of the switch. Store these in a list. Or you can just make use of the topology component, which does pretty much exactly this (along with some other stuff), and then has a method to get a list of all connected switches. Hope that helps.-- Murphy On Jul 23, 201
Re: [nox-dev] how to manage multiple switches with the help of NOX controller
thnks a lot but I am really sorry for bothering u again and again but it would be kind of u if u just tell me that what are these arguments inside the functions u hv inialized self.register_for_datapath_join(self.handle_datapath_join) self.register_for_datapath_leave(self.handle_datapath_leave)Subject: Re: [nox-dev] how to manage multiple switches with the help of NOX controller From: jam...@nau.edu Date: Sun, 24 Jul 2011 04:39:40 -0700 CC: nox-dev@noxrepo.org To: aliahmad...@hotmail.com No and no. You should really ready pyswitch.py -- as I said, it does most of what you need already. However, here's the start of an untested component that doesn't do anything except keep track of dpids: from nox.lib.core import * class mycomponent (Component): def __init__ (self, ctxt): Component.__init__(self, ctxt)self.dpids = set() self.register_for_datapath_join(self.handle_datapath_join) self.register_for_datapath_leave(self.handle_datapath_leave) def handle_datapath_join (self, dpid):self.dpids.add(dpid) def handle_datapath_leave (self, dpid):self.dpids.remove(dpid) def getInterface (self):return self.__class__.__name__ def getFactory (): class Factory:def instance (self, ctxt): return mycomponent(ctxt) return Factory() Good luck. -- Murphy P.S., I am assuming you're dropping the CC to the mailing list by accident. Please be sure to "reply all". On Jul 24, 2011, at 3:33 AM, ali ahmad wrote:Subject: Re: [nox-dev] how to manage multiple switches with the help of NOX controller From: jam...@nau.edu Date: Sun, 24 Jul 2011 03:25:54 -0700 CC: nox-dev@noxrepo.org To: aliahmad...@hotmail.com NOX comes with a number of components which implement different pieces of functionality, and topology is one example of such. For some more information, see the wiki: http://noxrepo.org/noxwiki/index.php/NOX_Components . For an example of using the topology component from Python, see the flowtracer component. But skipping the topology component for now and keeping your own list of of dpids might be more approachable for the moment. pyswitch actually demonstrates setting up callbacks for the datapath_join and datapath_leave events. All you need to do is write handlers that actually keep track of dpids (by adding and removing them from a Python set would be my suggestion). This is only a handful of lines of code. -- Murphy On Jul 24, 2011, at 3:09 AM, ali ahmad wrote:Subject: Re: [nox-dev] how to manage multiple switches with the help of NOX controller From: jam...@nau.edu Date: Sun, 24 Jul 2011 02:53:44 -0700 CC: nox-dev@noxrepo.org To: aliahmad...@hotmail.com If you want to do it yourself, just monitor datapath_join events. These are fired whenever a switch connects, and the event object holds the dpid of the switch. Store these in a list. Or you can just make use of the topology component, which does pretty much exactly this (along with some other stuff), and then has a method to get a list of all connected switches. Hope that helps.-- Murphy On Jul 23, 2011, at 11:04 PM, ali ahmad wrote:hi! i am using multiple switches with a single controller than if i wantto flood the message at all the ports of all the switches than how would i knowthat what are the dpids of the switches. like i have to call this fuction to flood the messageon all the switches. def send_openflow(self, dp_id, buffer_id, packet, actions, inport=openflow.OFPP_CONTROLLER):"""Sends an openflow packet to a datapath. This function is a convenient wrapper for send_openflow_packet and send_openflow_buffer for situations where it is unknown inadvance whether the packet to be sent is buffered. If'buffer_id' is -1, it sends 'packet'; otherwise, it sends thebuffer represented by 'buffer_id'. dp_id - datapath to send packet tobuffer_id - id of buffer to send outpacket - data to put in openflow packetactions - list of actions or dp port to send out ofinport - dp port to mark as source (defaults to Controller port)___ 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] how to manage multiple switches with the help of NOX controller
hi! i am using multiple switches with a single controller than if i wantto flood the message at all the ports of all the switches than how would i knowthat what are the dpids of the switches. like i have to call this fuction to flood the messageon all the switches. def send_openflow(self, dp_id, buffer_id, packet, actions, inport=openflow.OFPP_CONTROLLER):"""Sends an openflow packet to a datapath. This function is a convenient wrapper for send_openflow_packet and send_openflow_buffer for situations where it is unknown inadvance whether the packet to be sent is buffered. If'buffer_id' is -1, it sends 'packet'; otherwise, it sends thebuffer represented by 'buffer_id'. dp_id - datapath to send packet tobuffer_id - id of buffer to send outpacket - data to put in openflow packetactions - list of actions or dp port to send out ofinport - dp port to mark as source (defaults to Controller port) ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev