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

Reply via email to