Hello,
I'm trying to play around with nox and write my own controller. I have
successfully completed the HOTITutorial2010 . I'm now trying to now port
this controller for use with real hardware. I've installed the Openflow Wrt
1.0 image to an WRT54GL and I run ./nox_core -i ptcp:6633
Hello,
I'm trying to setup a Wrt54GL to run openflow 1.0. I've installed the image
and have configured my /etc/config/network to be the following:
VLAN configuration
config switch eth0
option enable 1
config switch_vlan eth0_0
option device eth0
option vlan 0
option
Hello,
I'm trying to add a new module to nox. I've followed the instructions (
http://noxrepo.org/noxwiki/index.php/Developing_in_NOX#Building_a_Python_only_component
).
I've added pytutoral.py to nox/src/nox/coreapps/examples, and have added the
following entry to meta.json,
{
, or are they not relative
to the same directory?
-- Murphy
On Oct 24, 2010, at 12:09 PM, Aaron Rosen wrote:
Hello,
I'm trying to add a new module to nox. I've followed the instructions
(http://noxrepo.org/noxwiki/index.php/Developing_in_NOX#Building_a_Python_only_component).
I've added pytutoral.py to nox
the repository -- so you should have ~/nox/nox and
~/nox/nox/build, but should not have ~/nox/build.
If you ../configure from inside ~/nox/nox/build and things are right in
there, I think you're okay (and can just ignore ~/nox/build).
-- Murphy
On Oct 24, 2010, at 12:30 PM, Aaron Rosen wrote
Hello,
I'm trying to write a mobile IP like module for nox. Basically I think it
would work in the following way:
When a client moves to a different openflow switch I can detect that from
his packet.src coming from a different DPID. At this point I want to delete
the current flow entries
Hello,
I'm trying to modify the arp who-has address in order to trick a client into
talking to a different gateway after he moves to a new subnet. Is this
possible? I see how to modify the the L2 and L3 headers (using OFPAT_SET_*)
but not the arp ones.
(I don't see this functionality in
:30 -0500, Aaron Rosen wrote:
Thanks Niky,
Does anyone know how I would modify those ToS bits then? Or what all I
would have to add to make, make_action_array be able to modify the ToS
in the manor that I'm attempting?
Thanks,
Aaron
On Mon, Nov 15, 2010 at 3:20 PM, Niky Riga
at 20:49 -0500, Aaron Rosen wrote:
Hi Murphy,
So here is the topology: I am pinging 130.127.39.206 (- connected via
pc-engine which is running the openflow switch )from 130.127.48.212
(Non-Openflow). Then I install the following action for that flow.
actions
is
this,
actions = [[openflow.OFPAT_SET_NW_TOS,
22],[openflow.OFPAT_SET_DL_DST,
00:17:df:2b:08:00],[openflow.OFPAT_SET_NW_DST, 130.127.39.173],
[openflow.OFPAT_OUTPUT, [0, openflow.OFPP_IN_PORT]]]
Thanks,
Aaron
On Wed, Nov 17, 2010 at 9:53 PM, Aaron Rosen aro...@clemson.edu wrote:
Hi Murphy,
Ok so now
,dl_dst=00:22:fa:62:4a:de,actions=mod_nw_tos:0x10,mod_dl_dst:00
:1b:21:6a:83:0c,mod_nw_dst:192.168.2.99,IN_PORT
Thanks,
Aaron
On Sun, Nov 21, 2010 at 1:26 PM, Aaron Rosen aro...@clemson.edu wrote:
Hello, I'm trying to match on core.NW_TOS but that doesn't seem to work.
Below is the snippet
.
On Sun, Nov 21, 2010 at 10:39 AM, Aaron Rosen aro...@clemson.edu wrote:
Hello,
I have a question about what happens when you are sending packets to a
host
that is also running the openflow switch. For example, I'm running
openflow
on a pc-engine with the following command.
ofprotocol
Hello,
I have a question about what happens when you are sending packets to a host
that is also running the openflow switch. For example, I'm running openflow
on a pc-engine with the following command.
ofprotocol unix:/var/run/dp0 tcp:130.127.39.173:6639 --fail=closed
ofdatapath
, you should add:
flow[core.DL_TYPE] = 0x0800
to match only IP flows.
I think that if you don't do that OVS may just ignore nw_tos and nw_dst
(I'm too lazy to check that right now...).
--
Romain Lenglet
On Mon, Nov 22, 2010 at 5:59 AM, Aaron Rosen aro...@clemson.edu wrote:
Hi Murphy,
Ok
Hello,
When I get a specific kind of packet I want to send that packet to a
specific dpid and port and also send it to the dpid and port that the packet
was intended for.
If I do:
# send packet to end host
# note self.PortMaping[dpid, mac_to_str(packet.dst)] returns the port number
the
this helps,
--
Ali Al-Shabibi
On 10 déc. 2010, at 18:57, Aaron Rosen aro...@clemson.edu wrote:
Hello,
When I get a specific kind of packet I want to send that packet to a
specific dpid and port and also send it to the dpid and port that the packet
was intended for.
If I do:
# send
other things).
-- Murphy
On Fri, 2010-12-10 at 14:08 -0500, Aaron Rosen wrote:
Hi Ali,
Looking at the comments for send_openflow, if buffer_id is -1 then, it
should send the packet. Though, maybe I'm still doing this
incorrectly?
actions
) 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
. What does this has to do with NOX? NOX will simply parse
the packet it receives. Should this email to be openflow-discuss
instead? Correct me if I am misinterpreting.
Regards
KK
On 5 January 2011 15:11, Aaron Rosen aro...@clemson.edu wrote:
Gah wrong permissions on file here we go
Hello,
I'm trying to send arp replies from my nox controller though for some
reason my packets don't seem to be getting sent out and I was hoping
someone could point out where I'm going wrong. This is the code I
have:
if packet.type == ethernet.ARP_TYPE:
arppacket =
Hello,
I'm trying to have my controller recreate the L2 and L3 and then
attach the rest of a packet and send it out. Though, I'm getting
Malformed packet messages in wireshark for these packet out events so
I must be going wrong somewhere. I was hoping someone could point it
out.
Thanks,
(I'm
Hello,
I was able to figure out where I was going wrong. I also needed to set
the iplen field to the correct value in the ipv4 header.
Cheers,
Aaron
On Fri, Feb 25, 2011 at 5:21 PM, Aaron Rosen aro...@clemson.edu wrote:
Hello,
I'm trying to have my controller recreate the L2 and L3
Hello I was wondering if someone could explain where I'm going wrong here:
I'm receiving a packet and then trying to send it back out with
self.send_openflow_packet(dpid, packet.tostring(),openflow.OFPP_FLOOD ,
inport)
When I do this I'm getting the following exception:
00290|pyrt|ERR:unable to
of
integer.
-- Murphy
On Tue, 2011-03-01 at 15:22 -0500, Aaron Rosen wrote:
Hello I was wondering if someone could explain where I'm going wrong
here:
I'm receiving a packet and then trying to send it back out with
self.send_openflow_packet(dpid,
packet.tostring
to_bytes) warning, unknown option')
AttributeError: tcp_opt instance has no attribute 'msg'
On Tue, Mar 1, 2011 at 6:18 PM, Aaron Rosen aro...@clemson.edu wrote:
Thanks Murphy that fixes the typeerror but I'm still not sure if the
packets are correct because I'm not able to make a connection
would get around the fact that the parsing library has not been
extensively tested for packet assembly (mostly it's used for parsing).
-- Murphy
On Tue, 2011-03-01 at 18:21 -0500, Aaron Rosen wrote:
Oh Nox is also telling me this:
Traceback (most recent call last):
File ./nox/lib/util.py
On Tue, 2011-03-01 at 19:18 -0500, Aaron Rosen wrote:
If I pass packet.arr that still doesn't work. I don't get an Error
message but tcpdump says:
19:16:26.829891 IP truncated-ip - 730 bytes missing!
130.127.39.173.58832 130.127.39.235.ssh: P
2569410772:2569411564(792) ack 3106665167 win
the controller. Also, if you just want to spy on traffic and
not alter it, you could set an action to flood the packet as well as the
action to send it to the controller.
-- Murphy
On Tue, 2011-03-01 at 19:36 -0500, Aaron Rosen wrote:
These packets are from non-matches. So I guess I'm only getting
,
packet.tostring(),openflow.OFPP_FLOOD , inport)
On Sat, Mar 5, 2011 at 10:38 PM, Aaron Rosen aro...@clemson.edu wrote:
Hey Guys I have one more question:
I'm receiving IPIP packets and I want to unencapsulate them. I'm receiving
these packets as packet_ins and I have the follow code to handle
Sorry, I was incorrect I am getting packet_out's.
Aaron
On Sat, Mar 5, 2011 at 10:50 PM, Aaron Rosen aro...@clemson.edu wrote:
I've also tried this which yields the same results:
if packet.next.protocol == 0x4:
print UNENCAPED1
packet.next = packet.next.next
Hi Paulo,
When you configure your openflow switch there are usually options to
configure it with a secondary controller in case your primary
controller dies.
Aaron
On Wed, Mar 16, 2011 at 3:23 PM, Paulo César pcd...@gmail.com wrote:
Hi,
the paper NOX: Towards an Operating System for Networks,
the first of your asserts will always
fail.
For the sake of testing, would you please comment out the first of your two
asserts (leaving only the one against type('')), and let me know the result?
-- Murphy
On Monday, June 20, 2011 09:22:23 AM Aaron Rosen wrote:
Hi Murphy,
I'm using zaku
, 2011 09:42:07 AM Aaron Rosen wrote:
Hi Murphy,
wow... Opps...
I'm trying the following: This doesn't return any errors but in
wireshark the packet_outs say Malformed UDP packets.
def send_udp_message():
l4 = udp()
l4.srcport = 1999
l4.dstport = 1888
l4.len = udp.MIN_LEN + len
at 1:44 PM, Murphy McCauley jam...@nau.edu wrote:
Try putting discovery before mymodule on the commandline (or, better, making
mymodule depend on discovery in its meta.json).
-- Murphy
On Tuesday, June 21, 2011 01:52:18 PM Aaron Rosen wrote:
Or maybe doing
from nox.netapps.discovery import
:
lg.error(lldp chassis ID subtype is + str(lldph.tlvs[0].subtype)
+ not 'local', ignoring)
-- Murphy
On Wednesday, June 22, 2011 03:03:15 PM Aaron Rosen wrote:
Hi Murphy,
After applying the patch I'm getting the following messages from nox:
00396|discovery|ERR:lldp chassis ID
for the unpatched code, but not for the patched code.)
-- Murphy
On Wednesday, June 22, 2011 06:12:20 PM Aaron Rosen wrote:
Hi Murphy,
I pulled in all your changes on destiny and am having the same issue.
In wireshark the chassis ID subtype is 1. I've attached a packet_out
OFP+LLDP case it helps.
Thanks
Thanks,
Aaron
On Wed, Jun 22, 2011 at 9:39 PM, Aaron Rosen aro...@clemson.edu wrote:
Hi Murphy,
I did a branch checkout of what i had but I'm doing a completely clean
one now. (I'll let you know those results shortly).
Also there is a flowvisor in between. I've attached a packet
Hello,
I'm seeing a weird flow mod issue in Destiny but not in Zaku.
I'm running the following code:
flow = {}
flow[core.DL_TYPE] = ethernet.IP_TYPE
flow[core.DL_SRC] = packet.src
flow[core.NW_SRC] = packet.next.srcip
flow[core.NW_DST] = packet.next.dstip
flow[core.NW_PROTO] = ipv4.TCP_PROTOCOL
and is entirely the fault of accidental whitespace change.
Sometimes you gotta love Python. :)
It has been reverted now. Pull the change and try again?
-- Murphy
On Thursday, June 23, 2011 04:24:23 PM Aaron Rosen wrote:
I've attached 2 packet dumps one from zaku and one from destiny. As
you can
(mac, dstip, srcip, port, payload)
File ./nox/coreapps/examples/sos.py, line 89, in send_udp
l3.checksum()
File ./nox/lib/packet/ipv4.py, line 162, in checksum
self.dstip)
error: 'H' format requires 0 = number = 65535
On Mon, Jun 20, 2011 at 1:59 PM, Aaron Rosen aro...@clemson.edu wrote
]
-- Murphy
On Aug 8, 2011, at 1:50 PM, Aaron Rosen wrote:
Hello,
I emailed the mailing list about this before but it seems like maybe
something changed or maybe I'm blind. Anyways, the following code generates
the following execption. Any ideas what's going wrong?
def send_udp(mac, dstip
am positive that I have fixed this. Maybe it just hasn't gotten
pushed yet.
In ipv4.py around line 76, try something like...
self.id = int(time.time()) 0x
-- Murphy
On Aug 8, 2011, at 3:08 PM, Aaron Rosen wrote:
Thanks,
I hate to bug you again but this looks fine to me?
iplen
Hi Hasham,
The following should work.
flow = {}
flow[core.DL_TYPE] = ethernet.IP_TYPE
flow[core.NW_SRC] = packet.next.dstip
flow[core.NW_DST] = packet.next.srcip
#flow[core.NW_PROTO] = packet.next.protocol (I'm not sure if this is needed
but I also have this set if I want to match tp_src/tp_dst
Hi Shrutarshi,
Each datapathID (dpid) received from a packet in event represents the
switch that the packet came in on.
You just need to do something like this:
def packet_in_callback(dpid, inport, reason, len, bufid, packet):
flow = extract_flow(packet);
inst.install_datapath_flow(dpid,
the dpid represents the switch, is there
some way to use it to get more information about the switch (like its IP)? It
doesn't seem like information like this is in the packet.
On Wednesday, September 7, 2011 at 11:35 PM, Aaron Rosen wrote:
Hi Shrutarshi,
Each datapathID (dpid) received from
Our of curiosity what would be the case when flow_mods fail to
install? (I would just guess, only if the switch has a full flow
table?, I'm sure there are probably other reasons).
Thanks,
Aaron
2011/9/14 Zoltán Lajos Kis zoltan.lajos@ericsson.com:
Well, I wasn't being over pedantic. In
Hello,
I was thinking about writing a front end that could integrate with Lavi (the
way envi does). Right now I'm just playing around with them. Anyone know how
to run lavi and connect envi? I tired doing ./nox_core -i ptcp:6633 lavi
but envi keeps telling me that it cannot connect.
If i do
a new JSON format and a different port.
nox-gui.py in the destiny branch is another example. More is said
here:
http://www.openflow.org/wk/index.php/LAVI
Regards
KK
On 20 September 2011 15:09, Aaron Rosen aro...@clemson.edu wrote:
Hello,
I was thinking about writing a front end that could
:6d60024a8c4b900,dst type:switch,src
type:switch,src port:1},{
On Wed, Sep 21, 2011 at 12:49 AM, kk yap yap...@stanford.edu wrote:
Seems like an invalid JSON string is being returned. See what you get
when you print sock.recv(4096).
Regards
KK
On 20 September 2011 21:13, Aaron Rosen aro...@clemson.edu
: Aaron Rosen aro...@clemson.edu
Date: Wed, 21 Sep 2011 21:21:49 -0400
Subject: [PATCH] This code now checks to make sure that we have received balanced
{ } before trying to print and decode the json. If we have not yet
receieve the full string we keep looping until we do.
---
src/scripts/nox
What switches are you using that their values change after reboot? There
should be a way to get the switch to save this info.
Aaron
2011/9/26 Sergio Jiménez Feijóo sergio.j...@gmail.com
Hi,
I'm developping a NOX app which among other features estimates the power
consumption of all the
and their datapathid changes
everytime I boot them.
Sergio.
El 26/09/11 17:15, Aaron Rosen escribió:
What switches are you using that their values change after reboot? There
should be a way to get the switch to save this info.
Aaron
2011/9/26 Sergio Jiménez Feijóo sergio.j...@gmail.com
Hello,
I was wondering if there was a way in nox to obtain the packet and byte
count for a flow through nox. I see these is a file switchstats.py but that
doesn't seem to let you query for a specific flow. Can flow_fetcher do it?
If so is there any place that uses this that I could use as an
Hello,
I'm trying to use the monitoring module to query switches for a specific
flow's packet/byte count. I've added:
inst.register_for_aggregate_stats_in(aggregate_stats_in_handler)
def aggregate_stats_in_handler(dpid, stats):
print stats
And I have the following code in a timer:
Hello,
I was wondering if anyone had an example of something using the messenger
module that I could look at.
Thanks,
Aaron
--
Aaron O. Rosen
Masters Student - Network Communication
306B Fluor Daniel
___
nox-dev mailing list
nox-dev@noxrepo.org
00:00:00 2001
From: Aaron Rosen aro...@clemson.edu
Date: Thu, 10 Nov 2011 21:09:00 -0500
Subject: [PATCH] lldp_input_handler() did not handle the case where an LLDP packet
may have a vlan tag on it. This patch adds this check.
---
src/nox/netapps/discovery/discovery.py | 16 ++--
1
Hi Theo,
Yup there is a Monitoring.send_flow_stats_request()
Cheers,
Aaron
P.S: here are some hints to get it working if it helps:
import nox.lib.pyopenflow as of
def send_flow_stats_request():
global xid
flows = of.ofp_match()
flows.wildcards = of.OFPFW_ALL ^ of.OFPFW_DL_SRC
You need to do something with flow to tell it what you want to match on.
Try adding something like
flow[core.IN_PORT] = inport
Aaron
2011/11/28 Daniel de Arêa Leão daniel.area.l...@gmail.com
Hi,
I'm a newbie in NOX and Python and I'm trying to create a VLAN path
using NOX. After some
2
dump-flow: http://imageshack.us/photo/my-images/254/dumpswitch2code2.png/
If anyone have some tip or solution for this problem, I would really
appreciate it.
Thanks in advance,Daniel
Em 29 de novembro de 2011 01:55, Aaron Rosen aro...@clemson.edu escreveu:
You need to do something
Anyone know if you can obtain the host information via json?
(sorry for re-post I didn't want my question to get overlooked in the
middle here).
Thanks,
Aaron
On Sun, Dec 4, 2011 at 3:16 PM, Aaron Rosen aro...@clemson.edu wrote:
Hi, I'm curious about how to get these hosts via lavi.
I've
Hi,
I've encountered an issue like this before with flowvisor and the discovery
module. The easiest thing to do is to change the lldp value in
./src/nox/lib/packet/ethernet.py
#LLDP_TYPE = 0x88cc
LLDP_TYPE = new_value
then add this new_value, ether_type to your slice.
Hopefully that
P.S: Which version of nox are you running? I believe this works fine in
destiny.
Aaron
2012/1/12 Aaron Rosen aro...@clemson.edu
Hi,
I've encountered an issue like this before with flowvisor and the
discovery module. The easiest thing to do is to change the lldp value in
./src/nox/lib
that the topology component isn't sending the
LLDP frames tagged with the proper VLAN ID? How can I force the topology
component to send the LLDP frames tagged with a certain VLAN ID?
Thank you.
El 12/01/2012 15:33, Aaron Rosen escribió:
P.S: Which version of nox are you running? I believe this works
to my controller (because they won't belong to my
FlowVisor flowspace).
This is just a supposition but I think this may be the cause of the
problem.
Thank you for your help.
El 12/01/2012 16:25, Aaron Rosen escribió:
Did you do git checkout -b destiny
When the controller sends the LLDP
Probably need to install openssl.
http://noxrepo.org/noxwiki/index.php/NOX_Installation#Dependencies
Aaron
On Thu, Jan 12, 2012 at 4:03 PM, aurisabel fereira
aurisab...@hotmail.comwrote:
Hi
I get this message when I execute ./configure
configure: error: openssl/md5.h not found. NOX
Hi,
You need to set the length field in the Ipv4 packet.
ipv4_packet.iplen = ipv4.MIN_LEN + udp_packet.len()
should do the trick.
Aaron
On Thu, Jan 26, 2012 at 1:42 PM, Bernd Wittefeld
s9bew...@stud.uni-saarland.de wrote:
Hi,
I have a python component and want to create an udp packet in the
actually
be... ?
unreach_eth.dst = packet.src
unreach_eth.type = packet.type
unreach_eth.set_payload(unreach_ip)
- Original Message -
From: Aaron Rosen aro...@clemson.edu
To: Bernd Wittefeld s9bew...@stud.uni-saarland.de
Cc: nox-dev nox-dev@noxrepo.org
Sent: Thu, 26
You should probably pull down a new copy of nox.
git clone git://noxrepo.org/nox
cd nox
git branch -a ; shows the branches
git checkout branch ;to change
You probably also want to switch to destiny so `git checkout destiny` .
http://noxrepo.org/noxwiki/index.php/Installation/DebianUbuntu
Aaron
it before; it must
just have not made it out of some experimental branch. Sorry it got you!
-- Murphy
On Aug 8, 2011, at 3:18 PM, Aaron Rosen wrote:
Thanks that did the trick.
Yea I thought this was strange too since this used to work a while ago.
Out of curiosity what is id in ipv4.py
sudo apt-get install python-qt4-sql maybe?
Aaron
P.S: if that doesn't do it maybe try installing libqt4-sql,
libqt4-sql-mysql as well.
On Wed, Feb 8, 2012 at 2:59 AM, wunyuan wuny...@nchc.narl.org.tw wrote:
Hi,
I installed a NOX on 64 bit version Ubuntu. I run the nox and nox-gui.py,
but
Probably check this out:
http://noxrepo.org/pipermail/nox-dev/2011-February/007223.html
Aaron
On Tue, Feb 28, 2012 at 12:56 PM, Gabe Bassett g...@theengineer.org wrote:
What is the best way to do a quick ARP request? I'm writting a form of a
switch, but it may need to do an arp request to
request for IP of honeypot on honeypot port
self.send_openflow_packet( dpid, eth_pkt.tostring(),
HONEPOT_PORT)
From: Aaron Rosen [aro...@clemson.edu]
Sent: Tuesday, February 28, 2012 12:41 PM
To: Gabe Bassett
Cc: nox-dev@noxrepo.org
If your install a flow entry without any actions it should cause the
datapath to drop the packet.
If you check out core.py that would probably help to clarify but in
general you do something like this if you want to perform rewrite:
actions = [
[openflow.OFPAT_SET_DL_SRC,
In order to configure the listener port on the HP you should do something like:
openflow vlan listener ptcp:port
Then you should be able to dpctl the switch. Though a word of warning,
now everyone else can too :P .
Aaron
On Tue, Feb 28, 2012 at 7:05 PM, Murphy McCauley jam...@nau.edu wrote:
is 208.77.78.134, I can telnet to this from my desktop and can
ssh from the switch into it however I cant ssh into 208.77.78:6633. I get a
invalid input or DNS server not configured.
-Original Message-
From: Aaron Rosen [mailto:aro...@clemson.edu]
Sent: Tuesday, February 28, 2012 5:26 PM
The switch sends it's dpid to the controller when it first connects.
If you look at pyswitch.py it does this in datapath_join_callback().
(you also gets the ports on the switch and their speed from this
information).
Aaron
On Wed, Mar 7, 2012 at 1:35 PM, Gabe Bassett g...@theengineer.org wrote:
76 matches
Mail list logo