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
