git clone git://noxrepo.org/nox cd nox git checkout -b destiny 2011/10/29 hzy <yyjianx...@gmail.com>
> hi kyriakos: > > I checked my directory ~/noxcore/src/nox/netapps, but I could not find the > file monitoring.py. > I think the nox I used is zaku, how can I change to destiny. > > When I type "git clone git://noxrepo.org/nox", the following information > come up. > openflow@openflowvm:~$ git clone git://noxrepo.org/nox > Initialized empty Git repository in /home/openflow/nox/.git/ > noxrepo.org[0: 69.56.251.103]: errno=Connection timed out > fatal: unable to connect a socket (Connection timed out) > > I wonder if I miss some steps. > > Thank your for advance. > hzy > > > 2011/10/28 Kyriakos Zarifis <kyr.zari...@gmail.com> > >> Hi, >> >> like you noticed, the 'discovery' component does not provide any >> information like that. It only does neighbor discovery. >> If you want to collect switch related information, you need to write your >> own component and collect that information programatically using NOX's API >> to do switch queries etc. >> >> The 'monitoring' component (under netapps/) has some very relevant >> functionality, so you will find it useful to look at, or even copy code from >> it. What 'monitoring' does is that is periodically sends out a bunch of >> queries to all connected switches, collects statistics and exposes that info >> to other components. It sounds similar to what you want to do. >> >> One way you could go about measuring a link's utilization is to >> periodically see how many bytes have been sent out a port. The bytes sent >> over a period T divided by T will give you a rough estimate of the Tx rate. >> Divide that by link capacity for a rough estimate of utilization. The >> smaller the period, the better the estimate, but the more control traffic. >> 'monitoring' also does something like that, so you can take a look there. >> >> >> On Thu, Oct 27, 2011 at 11:48 PM, hzy <yyjianx...@gmail.com> wrote: >> >>> hi Kyriakos: >>> >>> Thank you for your reply. I have solved my problem. But the discovery >>> component doesn't meat my requirement. >>> I want to collect the link information dynamically. e.g. the utilization >>> rate of bandwith. Can I get this kind of information directly? If not what >>> can I do to fit my aim? Can you give me some davices? >>> >>> thanks for advance. >>> >>> >>> >>> >>> 2011/10/11 Kyriakos Zarifis <kyr.zari...@gmail.com> >>> >>>> Hi there, >>>> >>>> in order use Link_events in your python component you need to: >>>> >>>> 1) make your component aware of the Link_event object by importing it >>>> 2) register a handler for the event in your component's configure() (to >>>> make your component respond to such events) >>>> 3) write a handler (to tell your component how it should respond to such >>>> events) >>>> >>>> so, in practice: >>>> >>>> # 1 >>>> from nox.netapps.discovery.pylinkevent import Link_event >>>> ... >>>> # 2 >>>> def install(self): >>>> ... >>>> self.register_handler(Link_event.static_get_name(), >>>> self.handle_link_event) >>>> .... >>>> # 3 >>>> def handle_link_event(self, e): >>>> print "Received link event:", e.__dict__ # this will show you >>>> the contents of the event (for example: 'dport': 2, 'dpsrc': 1L, 'dpdst': >>>> 2L, 'sport': 2, 'action': 'add') >>>> # do something about the event here >>>> >>>> >>>> On Tue, Oct 11, 2011 at 3:17 AM, hzy <yyjianx...@gmail.com> wrote: >>>> >>>>> Hi murphy: >>>>> >>>>> yes, the results are the same. >>>>> the NOX I am using is download from >>>>> http://www.openflow.org/wk/index.php/OpenFlow_Tutorial. >>>>> Never mind, the thing I concern is that how can i deal with the >>>>> link_event in my component. >>>>> I think I should look some codes, like core.py or something else, I >>>>> just don't know how to start. >>>>> Can you give me some advice? >>>>> best regards >>>>> >>>>> hzy >>>>> >>>>> >>>>> 2011/10/11 Murphy McCauley <jam...@nau.edu> >>>>> >>>>>> I don't know anything about pytutorial (it's not one of the mainlin >>>>>> NOX components), so I don't really know what to make of that. >>>>>> >>>>>> You tried implementing getInterface() like below on your my_router >>>>>> class? >>>>>> def getInterface (self): >>>>>> return str(my_router) >>>>>> >>>>>> And the results were the same? >>>>>> >>>>>> This is unrelated, but you also seem to be using a version of NOX >>>>>> that's over a year old. The destiny branch in particular has many bug >>>>>> fixes. >>>>>> >>>>>> -- Murphy >>>>>> >>>>>> On Oct 10, 2011, at 7:40 PM, hzy wrote: >>>>>> >>>>>> Hi murphy: >>>>>> >>>>>> Thank you for your reply, but I have added these codes in my >>>>>> component. >>>>>> This time I tried to invoke component pytutorial, so that you can get >>>>>> more information in your computer. >>>>>> >>>>>> So I add following codes in discovery component. >>>>>> self._pytutorial = >>>>>> self.resolve("nox.coreapps.tutorial.pytutorial.pyturorial") >>>>>> print self._pytutorial.mac_to_port >>>>>> >>>>>> 00478|pyrt|ERR:unable to invoke a Python event handler: >>>>>> Traceback (most recent call last): >>>>>> File "./nox/lib/util.py", line 116, in f >>>>>> event.total_len, buffer_id, packet) >>>>>> File "./nox/netapps/discovery/discovery.py", line 166, in <lambda> >>>>>> >>>>>> discovery.lldp_input_handler(self,dp,inport,reason,len,bid,packet), >>>>>> File "./nox/netapps/discovery/discovery.py", line 316, in >>>>>> lldp_input_handler >>>>>> print self._pytutorial.mac_to_port >>>>>> AttributeError: 'NoneType' object has no attribute 'mac_to_port' >>>>>> >>>>>> I was confused. >>>>>> >>>>>> In other hand, I accept your advise to handle discovery's Link_even. >>>>>> Since I am a newbie, can you give me some advice how to deal with >>>>>> Link_event >>>>>> in my component? >>>>>> >>>>>> Best regards. >>>>>> >>>>>> hzy >>>>>> >>>>>> 2011/10/10 Murphy McCauley <jam...@nau.edu> >>>>>> >>>>>>> Whoops. I meant: >>>>>>> >>>>>>> def getInterface (self): >>>>>>> return str(my_router) >>>>>>> >>>>>>> Sorry about that! >>>>>>> >>>>>>> -- Murphy >>>>>>> >>>>>>> >>>>>>> On Oct 10, 2011, at 7:51 AM, Murphy McCauley wrote: >>>>>>> >>>>>>> So first off, maybe you have a reason, but in general, the hope is >>>>>>> that you should have no reason to modify discovery.py. Rather than >>>>>>> modify >>>>>>> discovery.py to explicitly call your component, hopefully you should be >>>>>>> able >>>>>>> to simply handle discovery's Link_event. >>>>>>> >>>>>>> If you really do need to modify discovery.py to call your component >>>>>>> explicitly, then as for why your code doesn't work, I don't think I have >>>>>>> enough information to say. Assuming that your paths are right (you >>>>>>> have a >>>>>>> directory/package called my_experiment) and that in my_router.py you >>>>>>> have a >>>>>>> class/component called my_router... my best guess is that you didn't >>>>>>> implement getInterface() in my_router in the expected way. Try adding >>>>>>> the >>>>>>> following to your my_router class: >>>>>>> >>>>>>> def getInterface (self): >>>>>>> return my_router >>>>>>> >>>>>>> Hope that helps. >>>>>>> >>>>>>> -- Murphy >>>>>>> >>>>>>> On Oct 10, 2011, at 6:45 AM, hzy wrote: >>>>>>> >>>>>>> hi murpy: >>>>>>> Thank you for your reply. it works now, but another problem comes up. >>>>>>> This time I want the discovery component invoke the dic_all_path >>>>>>> defined in my modle. >>>>>>> >>>>>>> So I add following codes in discovery component >>>>>>> self._my_router = >>>>>>> self.resolve("nox.coreapps.my_experiment.my_router.my_router") >>>>>>> print self._my_router.dic_all_path >>>>>>> >>>>>>> I also tried these codes >>>>>>> from nox.coreapps.my_experiment import my_router >>>>>>> self._my_router = self.resolve(my_router.my_router >>>>>>> print self._my_router.dic_all_path >>>>>>> >>>>>>> 00206|pyrt|ERR:unable to invoke a Python event handler: >>>>>>> Traceback (most recent call last): >>>>>>> File "./nox/lib/util.py", line 116, in f >>>>>>> event.total_len, buffer_id, packet) >>>>>>> File "./nox/netapps/discovery/discovery.py", line 163, in <lambda> >>>>>>> >>>>>>> discovery.lldp_input_handler(self,dp,inport,reason,len,bid,packet), >>>>>>> File "./nox/netapps/discovery/discovery.py", line 312, in >>>>>>> lldp_input_handler >>>>>>> print self._my_router.dic_all_path >>>>>>> AttributeError: 'NoneType' object has no attribute 'dic_all_path' >>>>>>> >>>>>>> any ideas. >>>>>>> best regards. >>>>>>> >>>>>>> hzy >>>>>>> >>>>>>> >>>>>>> 2011/10/9 Murphy McCauley <jam...@nau.edu> >>>>>>> >>>>>>>> So, the discovery component is a class named "discovery" in a module >>>>>>>> named "discovery" in a package named "discovery". So it's... >>>>>>>> discovery.discovery.discovery. You've only got discovery.discovery. >>>>>>>> I can >>>>>>>> see how it's a bit confusing. :) >>>>>>>> >>>>>>>> So try the following instead: >>>>>>>> self._discovery = self.resolve(discovery.discovery) >>>>>>>> >>>>>>>> Or alternatively, do: >>>>>>>> self._discovery = >>>>>>>> self.resolve("nox.netapps.discovery.discovery.discovery") >>>>>>>> (In this case, you don't even need the import statement) >>>>>>>> >>>>>>>> -- Murphy >>>>>>>> >>>>>>>> On Oct 9, 2011, at 1:21 AM, hzy wrote: >>>>>>>> >>>>>>>> > hi all: >>>>>>>> > >>>>>>>> > Inorder to find interconnected links in my topology, i would like >>>>>>>> to use discovery.py. >>>>>>>> > In my own component I want to check the adjacency_list which is a >>>>>>>> public attribute in discovery module. >>>>>>>> > How can I use discovery from my component. >>>>>>>> > >>>>>>>> > I add the following codes, but it doesn't work. >>>>>>>> > >>>>>>>> > from nox.netapps.discovery import discovery >>>>>>>> > self._discovery = self.resolve(discovery) >>>>>>>> > print self._discovery.adjacency_list >>>>>>>> > >>>>>>>> > File "./nox/coreapps/my_experiment/my_router.py", line 499, in >>>>>>>> datapath_join_callback >>>>>>>> > print self._discovery.adjacency_list >>>>>>>> > AttributeError: 'NoneType' object has no attribute >>>>>>>> 'adjacency_list' >>>>>>>> > >>>>>>>> > any ideas? >>>>>>>> > thanks for advance. >>>>>>>> > best regards >>>>>>>> > >>>>>>>> > hzy >>>>>>>> > _______________________________________________ >>>>>>>> > 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 > > -- Aaron O. Rosen Masters Student - Network Communication 306B Fluor Daniel
_______________________________________________ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev