[nox-dev] routing.cc
Hello all: Recently i look through the routing.cc and come across a problem . Anyone who knows something , please tell me, thank you very much. In my opinion, the routing.cc should offer the function like this: Given the Routeid 'id' which defined in routing.hh, and calculates the path between source datapath and destination datapath which defined in struct 'Routeid', then accroding to this calculated path, encapsulate to openflow message(conbtroller/switch message) for each datapath on the path , send to openflow switchs and write into flow table entry. But i am not sure which function(s) offer(s) the function of calculating path.Maybe it is get_route() function defined in routing.cc, here is the codes: bool Routing_module::get_route(const RouteId id, RoutePtr route) const { RouteMap::const_iterator rte = shortest.find(id); // return a const element reference to this key 'id' in hash_map // if (rte == shortest.end()) { if (id.src == id.dst) { route.reset(new Route()); route-id = id; return true; } return false; } route = rte-second; return true; } Does the element refer to the key id in hash_map contain the path, which i accroding to this line 'route = rte-second'. Is it right? If you know, please help me, thank you very much again~ Best Wishes Wang Jian Wednesday, Junuary 4, 2012 ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
[nox-dev] something about the working mechanism of NOX
Hi all: I'm a new comer of NOX, and want to know the mechanism of NOX, so i see the codes of hub.cc at the beginning. There are some questions that perplex me for a long time which i list as follows. 1) if (buffer_id == UINT32_MAX) { size_t data_len = pi.get_buffer()-size(); size_t total_len = pi.total_len; if (total_len == data_len) { send_openflow_packet(pi.datapath_id, *pi.get_buffer(), OFPP_FLOOD, pi.in_port, true); } else { /* Control path didn't buffer the packet and didn't send us * the whole thing--what gives? */ lg.dbg(total_len=%zu data_len=%zu\n, total_len, data_len); }tion There codes are in src/nox/coreapps/hub/hub.cc file. what is the function of them?do they effect the function of hub.cc if remove ? 2) what is the difference between int send_openflow_command() and int send_openflow_packet() which defined in src/nox/component.hh. I know both are used for interacting with OF switch. 3)The type of controller/switch message contains OFPT_PACKET_OUT and OFPT_FLOW_MOD. I think both of them are used to add/delete/modify flow table entry in OF switch, am i right? I don't know what is the difference even if refer to openflow-spec-1.0.0 would you like to tell me? Thank you very much, look forward to hear from you~ Best Wishes Wang Jian Saturday, December 31, 2011 ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
[nox-dev] does openflow dedicated switch surpport layer 3 processing
Hi Murphy: I am confused about a question about OpenFlow dedicated switch for a long time.The following is my testing network topology: PC1 and PC2 can ping each other successfully if they have the same net id, and can't ping successfully if they don't. Does OpenFlow dedicated switch only surpport layer 2 processing when run the command : nox_core -v -i ptcp:6633 discovery topology authenticator routing? I think it has no ability of forwarding if disconnects to NOX. I just want to know how to achieve layer 3 processing with OpenFlow dedicated switch and NOX. Would you please help me even some advice,thank you very much~ Another question,how to make the topo update timely which you can see from NOX GUI , the topo can display the whole network topo when run the command: ./nox_core monitoring discovery topology trackhost_pktin. But it can't update timely when a host leave from the network. How to solve this problem? I am sorry to post it again as the question may be overloaded. Thank you~ By the way, i have solved the disconnecting problem via adding a 1G ethernet switch beween them yesterday.Because the netfpga only surpports 1G transporting speed,but the max speed which the openwrt surpports is 100M. Best Wishes Wang Jian Tuesday, December 6,2011 inline: 截图4.png___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
[nox-dev] does openflow dedicated switch surpport layer 3 processing
Hi Murphy: Thank you very much for your detailed reply. The PC1 and PC2 can ping each other successfully when they are on the same subnet. The layer 3 proceesing which i refered last email means that the PC1 and PC2 can also ping each other successfully when they are not on the same subnet. In fact, they can not communicate with each other on my test network when on different subnet. At last,i wonder whether attachments can be received by your mailbox. If they can, i'll send them with the email together. Best Wishes Wang Jian Tuesday, December 6,2011 在 2011-12-06 11:04:04,Murphy McCauley jam...@nau.edu 写道: Responses inline. On Dec 5, 2011, at 6:42 PM, 王健 wrote: Hi Murphy: I am confused about a question about OpenFlow dedicated switch for a long time.The following is my testing network topology: 截图4.png PC1 and PC2 can ping each other successfully if they have the same net id, and can't ping successfully if they don't. I assume you mean if they're on the same subnet? Does OpenFlow dedicated switch only surpport layer 2 processing when run the command : nox_core -v -i ptcp:6633 discovery topology authenticator routing? Well, routing tries to install exact match flows whenever possible, if I recall correctly. This includes L3 headers too when possible. But it's not exactly L3 *processing*. I think it has no ability of forwarding if disconnects to NOX. There are things that can be done to help with communication when NOX is disconnected, but none of them are done here. Certainly the usual model is that your controller stays connected to your switches. I just want to know how to achieve layer 3 processing with OpenFlow dedicated switch and NOX. Would you please help me even some advice,thank you very much~ What kind of layer 3 processing are you talking about? Another question,how to make the topo update timely which you can see from NOX GUI , the topo can display the whole network topo when run the command: ./nox_core monitoring discovery topology trackhost_pktin. But it can't update timely when a host leave from the network. How to solve this problem? I am sorry to post it again as the question may be overloaded. Thank you~ Well, there's no real way to tell when a host leaves. So right now, it's decided by timeout. You could try reducing the timeout, but that increases the chance that a quiet host may be judged to be leaving when it's actually just quiet. I have suggested that we ARP-ping hosts occasionally to see if they're still there or not. If a host NEVER responds to an ARP-ping, fall back to the timeout behavior. This hasn't yet been implemented, though, as far as I know. By the way, i have solved the disconnecting problem via adding a 1G ethernet switch beween them yesterday.Because the netfpga only surpports 1G transporting speed,but the max speed which the openwrt surpports is 100M. Best Wishes Wang Jian Tuesday, December 6,2011 -- Murphy ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
[nox-dev] how to display network topology timely
Hi all: I have a question to consult you. The NOX GUI can display a whole network topology when run the command: ./nox_core -v -v -i ptcp:6633 monitoring discovery topology trackhost_pktin. But it cann't update timely when a host leave from network, in other words, the host is still in the network topology which you can see in NOX GUI. I think it may be lack of some component when run the command, am i right? Which one to be used and how to get it? would you like to tell me, thank you very much~ Best Wishes Wang Jian Friday, December 2,2011 At 2011-11-29 03:01:56,Murphy McCauley jam...@nau.edu wrote: I think the attachment is being scrubbed. Maybe you can send an image? Though offhand, I don't know what I can tell you. What do mean by unreachable? Devices connected to the netfpga switch can't ping devices connected to the openwrt switch? What NOX components are you running? -- Murphy On Nov 25, 2011, at 12:09 AM, 王健 wrote: Hi Murphy: Thank you for your last reply , your suggest is right. Recently i built a openflow network,you can see the topology in the attachment. The connection between openflow switch(netfpga) and openwrt(openflow wireless) is unreachable, i mark it in blue. What's wrong with it, would you like to give me some advice for solving this problem,thank you very much! if there is something else you want to know, please tell me. Best Wishes n bsp;Wang Jian Friday, November 25, 2011 topology v1.1.docx ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
[nox-dev] import error
Hello everyone: I am a newcomer of python, and encountered a import error recently. This code is from nox.netapps.spanning_tree import spanning_tree in the mobilevms.py file. when run the command : ./nox_core -v -v -i ptcp:6633 mobilevms the error is:00081|nox|ERR:Cannot change the state of 'mobilevms' to INSTALLED: 'mobilevms' ran into an error: cannot import a Python module 'nox.netapps.mobilevms.mobilevms': Traceback (most recent call last): File ./nox/netapps/mobilevms/mobilevms.py, line 46, in module from nox.netapps.spanning_tree.spanning_tree import* File ./nox/netapps/spanning_tree/spanning_tree.py, line 27, in module from nox.coreapps.messenger.pyjsonmsgevent import JSONMsg_event File ./nox/coreapps/messenger/pyjsonmsgevent.py, line 25, in module _pyjsonmsgevent = swig_import_helper() File ./nox/coreapps/messenger/pyjsonmsgevent.py, line 21, in swig_import_helper _mod = imp.load_module('_pyjsonmsgevent', fp, pathname, description) ImportError: ./nox/coreapps/messenger/_pyjsonmsgevent.so: undefined symbol: vigil::JSONMsg_event::JSONMsg_event(vigil::core_message const*) I try to use from nox.netapps.spanning_tree.spaning_tree import* instead of the previous code, but also the same error. What's wrong with it, would you like to tell me, thank you very much~ additionally, the component of spanning_tree is normal when run the command: ./nox_core -v -v -i ptcp:6633 spanning_tree and the JSONMsg_event is really in the file of pyjsonmsgevent.py. best wishes wang jian Wednesday ,November 16,2011 ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
[nox-dev] how to add the components of mobilevms to NOX destiny
hello,everyone. Maybe i don't express my problem clearly, so i describe it more detailed. I got the source code of mobilevms compoments(a folder) from http://www.openflow.org/wk/index.php/Mobile_VMs for NOX 0.4, now i want to transplant them to NOX destiny. The source code of mobilevms compoments is beyond 10M, so i can not add it to attachment, sorry for this. How can I deal with this problem. For example i need convert the meta.xml to meta.json(anything else to modify?) and copy the mobilevms folder to nox/src/nox/netapps directory. This problem has confused me for a long time. Anyone who can give me a integral and detailed steps for it. Thank you very much, look forward to reply from you even a little bit advice~ best wishes wang jian Friday October 28,2011 ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
[nox-dev] meta.xml converts to meta.json
hello,everyone. I am a new comer of openflow, now i want to use the mobilevms app, but my branch of NOX is destiny, i need to convert the meta.xml to meta.json, because the old version of NOX uses meta.xml to describe the compenents, but the NOX destiny uses meta.json to describe the compenents. i also konw that the nox-convert-meta.py script(in src/scripts) is meant for doing this, but i do not konw how to use it , anyone who can help me,thank you very much. It is better to show the output of the meta.json for mobilevms.The attachment is meta.xml file for mobilevms. Look forward to hear form you~ best wishes wang jian on Wednesday , Ocotober 26, 2011?xml version=1.0 encoding=UTF-8? components:components xmlns:components=http://www.noxrepo.org/components.xsd; component namemobilevms/name dependency namepython/name /dependency dependency namepyrouting/name /dependency dependency namepyauthenticator/name /dependency pythonnox.netapps.mobilevms.mobilevms/python /component component namebasicrouting/name dependency namepyrouting/name /dependency dependency nameauthenticator/name /dependency dependency namebroadcast_resolve/name /dependency pythonnox.netapps.mobilevms.basicrouting/python /component /components:components ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev
[nox-dev] how to add the components of mobilevms to NOX destiny
to be there will be created automatically when you build So only copy the folder you downloaded into nox/src/nox/netapps(delete it from nox/build/src/nox/netapps) On Wed, Oct 26, 2011 at 7:41 PM, 王健wangjian2008_12...@126.com wrote: Thank you very much for your help, this is my first time to ask a question on NOX, you give me confidence to finish this experiment. I downloaded the source code of nox-0.40-with-mobilevms fromhttp://www.openflow.org/wk/index.php/Mobile_VMs. Now i want to use its mobilevms code on my NOX(destiny), so i follow the steps on nox website--http://noxrepo.org/noxwiki/index.php/Developing_in_NOX. First i copy the folder mobilevms in nox-0.40-with-mobilevms/src/nox/netapps to the specified path(src/nox/netapps) indicated by the website. But there are two paths, one is nox/src/nox/netapps, the other is nox/build/src/nox/netapps. As i do not sure which it is, so i copy the folder to both. At then i use the meta.json you sended to me to replace the meta.xml. Next step i switch to nox directory and run the command: ./boot.sh the terminal shows: automake: cannot open build/src/nox/netapps/mobilevms/../../../Make.vars: no such file or directory autoreconf: automake failed with exit status: 1 then i go on and run: cd build/ ../configure the terminal shows: config.status: error: cannot find input file: `build/src/nox/netapps/mobilevms/wireshark_dissectors/dc_stats/Makefile.in' i also go on and run: make -j it shows:automake-1.11: cannot open build/src/nox/netapps/mobilevms/../../../Make.vars: no such file or directory make: *** [../Makefile.in] error 1 I don't know where it is wrong, could you please give me some suggests, thank you very very much, look forward to hear form you~ best wishes wang jian Thursday October 27, 2011 br ___ 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