I just found it, but for me the call returns nothing. I am running nox
as follows.

sudo ./nox_core -v -i ptcp:2525 pyswitch discoveryws webservice

and there is only one openflow switch connecting two hosts.

Anything I am missing here?

Pradeep

> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> Sent: Thursday, October 15, 2009 12:39 PM
> To: Pradeep Padala
> Cc: Martin Casado; Natasha Gude; [email protected]
> Subject: Re: [nox-dev] pytopology usage question
> 
> Hi Pradeep,
> 
> IIRC, at one point there was  a webservice call
(/ws.v1/topology/links)
> which is part of the discovery component that may be helpful to you.
It
> returns a list of dictionaries of every link, with keys for datapaths
and
> ports, e.g.:
> [{"port2": 4, "dpid1": 1234567890, "dpid2": 9876543210, "port1": 0},
...]
> I have been able to use this and a few other calls to get a decent map
of
> the system.
> 
>   -Reid
> 
> On Thu, 15 Oct 2009 12:07:36 -0700, Martin Casado <[email protected]>
> wrote:
> > Alternatively, you can just register for link-events and keep track
of
> > the topology yourself.
> >
> >> datapathids are IDs of the Openflow switches that have joined.
These
> >> IDs are included in datapath_join events, which you can register
for
> >> using self.register_for_datapath_join(callback) in any python
component.
> >>
> >> Unfortunately we currently don't have a way for dumping the entire
> >> topology.
> >>
> >> Natasha
> >>
> >> On Oct 15, 2009, at 11:34 AM, Pradeep Padala wrote:
> >>
> >>> Hi Natasha,
> >>>
> >>> I can use this, but I don't know the host ids. When I try to use 0
and
> >>> 1, I just get empty list. How are these host ids related to the
output
> >>> produced by dpctl?
> >>>
> >>> Is there a simple way to dump the complete topology into a data
> >>> structure?
> >>>
> >>> Thanks,
> >>> Pradeep
> >>>
> >>>> -----Original Message-----
> >>>> From: Natasha Gude [mailto:[email protected]]
> >>>> Sent: Wednesday, October 14, 2009 6:22 PM
> >>>> To: Pradeep Padala
> >>>> Cc: Martin Casado; [email protected]
> >>>> Subject: Re: [nox-dev] make check fails "Import by filename is
not
> >>>> supported"
> >>>>
> >>>> Hi Pradeep,
> >>>>
> >>>> pytopology has a method get_outlinks thats takes a source
datapathid
> >>>> and destination datapathid, and returns a list of all of the port
> >>>> pairs that are connected.  This is defined in pytopology.i
> >>>>
> >>>> For example:
> >>>>
> >>>> if datapath 1's ports 5 and 6 are connected to datapath 2's ports
3
> >>>> and 4 respectively, you would have the following.
> >>>>
> >>>> from nox.lib.netinet.netinet import create_datapathid_from_host
> >>>>
> >>>> dp1 = create_datapathid_from_host(1)
> >>>> dp2 = create_datapathid_from_host(2)
> >>>> ports = pytop.get_outlinks(dp1, dp2)
> >>>>
> >>>> where ports would be a list of PyLinkPorts of length 2, where
> >>>> PyLinkPorts is described in that pytopology.i file.  Particularly
it
> >>>> would be the equivalent of [ (5, 3), (6, 4) ] , however it's
actually
> >>>> a SWIG-ed out list, which needs to be iterated through using
begin(),
> >>>> incr(), and end().
> >>>>
> >>>> Hope that helps,
> >>>> Natasha
> >>>>
> >>>> On Oct 14, 2009, at 5:56 PM, Pradeep Padala wrote:
> >>>>
> >>>>> That works for me. I also looked at miscws/noxinfows.py, which
seems
> >>>>> to
> >>>>> do some of the things I wanted.
> >>>>>
> >>>>> I am trying to modify noxinfows.py to return topology. I got a
> >>> handle
> >>>>> for pytopology with
> >>>>>
> >>>>>     self.pytop        = self.resolve(pytopology)
> >>>>>
> >>>>> Later, when the GET request comes, I am calling the function I
wrote
> >>>>> below
> >>>>>
> >>>>>   def _get_nox_topology(self, request, arg):
> >>>>>       try:
> >>>>>           return simplejson.dumps(self.pytop.XXXXXXXXXXXXXXXXX)
> >>>>>       except Exception, e:
> >>>>>           return self.err(Failure(), request, "_get_topology",
> >>>>>                           "Could not retrieve topology")
> >>>>>
> >>>>> Now, I don't know how to access the pytopology functions
> >>> (XXXXXXXXXXXX
> >>>>> part). For example, the get_outlinks() function takes two
arguments,
> >>>>> but
> >>>>> in the C++ file, I didn't find any comments on what to pass
here.
> >>>>>
> >>>>> In the manual, there are just a few notes about the topology
module,
> >>>>> grepping through the whole source tree, I didn't find any
examples
> >>> of
> >>>>> using pytopology (may be I am missing something).
> >>>>>
> >>>>> Any help would be great.
> >>>>>
> >>>>> Thanks,
> >>>>> Pradeep
> >>
> >>
> >> _______________________________________________
> >> nox-dev mailing list
> >> [email protected]
> >> http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
> >
> >
> > _______________________________________________
> > nox-dev mailing list
> > [email protected]
> > http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


_______________________________________________
nox-dev mailing list
[email protected]
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org

Reply via email to