[pox-dev] get_path info for two hosts

Murphy McCauley murphy.mccauley at gmail.com
Wed Nov 13 14:00:33 PST 2013


I guess that depends on what "host" means to you.

Recapping my previous message, l2_multi maintains:
* mapping between ethernet addresses and Switches
* paths between pairs of Switches

So if "host" means "observed Ethernet address", then yes.

If "host" means "IP address", then no, it can't do it itself.  However, it's quite possible that you could use host_tracker to map between IP address and Ethernet address or switch, and then use that.

Alternatively, you could modify l2_multi to work with L3 addresses instead of L2 addresses.  You'd then need to do something about ARP... this may be a hack like l3_learning, or using arp_responder, or disabling ARP on the hosts, or something...

Alternatively alternatively, with a little work, topo_proactive should be able to do this since it assigns the IP addresses in the first place.

-- Murphy

On Nov 13, 2013, at 1:03 PM, Amer <amer7777 at hotmail.com> wrote:

> Hello,
> 
> Thank you
> I want to get the network path between two hosts. Is this possible in l2_multi.
> For switches what I should use, their names or what?
> 
> Regards,
> 
> On ١٣‏/١١‏/٢٠١٣, at ١٠:٥٦ م, Murphy McCauley <murphy.mccauley at gmail.com> wrote:
> 
>> IP addresses don't mean anything to l2_multi.  If they did, it'd be l3_multi. :)  l2_multi works on L2 (Ethernet) addresses.
>> 
>> Even so, the path finding functions find paths between *switches*, not addresses.  Specifically, they find paths between l2_multi's Switch objects (I think if you'd printed the contents of path_map, this would have become apparent).  A separate dictionary object (mac_map) keeps a mapping between an Ethernet address and which Switch it thinks is associated.
>> 
>> -- Murphy
>>  
>> On Nov 13, 2013, at 11:07 AM, AMER <amer7777 at hotmail.com> wrote:
>> 
>>> Hello,
>>>  
>>> Pox.py forwarding.l2_multi openflow.discovery
>>> tree topology with no loops
>>>  
>>> I want to get the path from source to destination using l2_multi, I tried with:
>>> src = "10.1.1.1"
>>> dst ="10.2.2.2"
>>> path_info = _get_raw_path(src, dst)
>>> print path_info
>>> but I have got None, while i can ping these two hosts. Also, I have tried with get_path and same results None
>>>  
>>> Best regards,
>>> 
>>> Eng Amer Alghadhban
>>> COE
>>> SANS-GCFW
>>> CEH, SCNP, CCNA
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.noxrepo.org/pipermail/pox-dev-noxrepo.org/attachments/20131113/8565ac0c/attachment-0002.htm>


More information about the pox-dev mailing list