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

Reply via email to