[pox-dev] Mininet Script for Pox Router Example
William Emmanuel S. Yu
wyu at ateneo.edu
Mon Oct 1 18:25:54 PDT 2012
That was what I was hoping for. Since the hosts h0 and h1 are on different subnets (192.168.1.0/26 and 192.168.1.64/26) then ping shouldn't work.
So even if h0 and h1 get the packets they shouldn't respond to it right?
I created a simpler topo example where h0 and h1 are connected to a switch s0. But h0 and h1 are configured to be on different subnets but with a working l2_pairs switch.
http://github.com/hip2b2/poxstuff/blob/master/of_simple_topo.py
They can still ping each other. Do mininet virtual hosts ignore subnet boundaries?
Thanks.
PS. Subscribed to mininet list. Will see if they have feedback as well.
"Sent on the move."
-----Original Message-----
From: Murphy McCauley <murphy.mccauley at gmail.com>
Date: Mon, 1 Oct 2012 18:03:44
To: William Emmanuel Yu<wyu at ateneo.edu>
Cc: <pox-dev at lists.noxrepo.org>
Subject: Re: [pox-dev] Mininet Script for Pox Router Example
No, this is all correct behavior.
h0 and h1 have only one rule which says that all subnets are out their one interface. This is, in fact, the case. They send packets for all subnets out their one interface; l2_pairs forwards packets for them.
L3 never really gets involved. The OpenFlow switch doesn't care about L3. l2_pairs doesn't care about L3. The only thing that actually knows or cares about the subnets is the hosts, and they're set to believe they're all out the same interface with no gateway for any of them, so... no problem there either.
If the hosts' routing tables actually looked more like they were on subnets (e.g., different subnets had gateways set), you'd start to run into problems; l3_learning "fixes" this by just answering ARPs for those gateways and rewriting the destination MAC addresses.
OpenFlow doesn't care anything about L3 unless you tell it to.
-- Murphy
On Oct 1, 2012, at 5:54 PM, William Emmanuel Yu wrote:
> On Mon, 2012-10-01 at 10:36 -0700, Murphy McCauley wrote:
>> What are the routing tables on h0 and h1 (e.g. route -n)?
>>
> Kernel IP routing table on s0, s1
> Destination Gateway Genmask Flags Metric Ref Use
> Iface
> 0.0.0.0 192.168.122.1 0.0.0.0 UG 100 0 0
> eth0
> 192.168.1.0 0.0.0.0 255.255.255.192 U 0 0 0
> s0-eth1
> 192.168.1.64 0.0.0.0 255.255.255.192 U 0 0 0
> s1-eth1
> 192.168.1.128 0.0.0.0 255.255.255.192 U 0 0 0
> s0-eth2
> 192.168.1.128 0.0.0.0 255.255.255.192 U 0 0 0
> s1-eth2
> 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0
> eth0
>
> Kernel IP routing table on h0
> Destination Gateway Genmask Flags Metric Ref Use
> Iface
> 0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0
> h0-eth0
>
> Kernel IP routing table on h1
> Destination Gateway Genmask Flags Metric Ref Use
> Iface
> 0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0
> h1-eth0
>
> I think the routes create look correct (to not allow h0 to reach h1).
> This is the output I get when I ping h1 from h0.
>
> DEBUG:samples.of_sw_tutorial_resend:Broadcasting b6:af:f8:34:4b:b0.1 ->
> ff:ff:ff:ff:ff:ff.65532
> DEBUG:samples.of_sw_tutorial_resend:Broadcasting b6:af:f8:34:4b:b0.2 ->
> ff:ff:ff:ff:ff:ff.65532
> DEBUG:samples.of_sw_tutorial_resend:Installing b6:af:f8:34:4b:b0.2 ->
> 12:52:c1:7c:ec:e4.1 AND 12:52:c1:7c:ec:e4.1 -> b6:af:f8:34:4b:b0.2
> DEBUG:samples.of_sw_tutorial_resend:Installing b6:af:f8:34:4b:b0.1 ->
> 12:52:c1:7c:ec:e4.2 AND 12:52:c1:7c:ec:e4.2 -> b6:af:f8:34:4b:b0.1
>
> It seems that the proper flow entries are placed in both switches. But,
> since h0 and h1 are not in the same subnet they shouldn't be able to see
> each other at L3.
>
> Thanks.
>
>> On Oct 1, 2012, at 7:23 AM, William Emmanuel S. Yu wrote:
>>
>>> L2 pairs yes so they are visible at Layer 2. However, they are in different subnets - 192.168.1.0/26 and 192.168.1.64/26. So they shouldn't be visible to each other at Layer 3.
>>> ------Original Message------
>>> From: pox-Murphy McCauley
>>> To: aaa-William Yu
>>> Cc: pox-dev at lists.noxrepo.org
>>> Subject: Re: [pox-dev] Mininet Script for Pox Router Example
>>> Sent: Oct 1, 2012 9:11 PM
>>>
>>> On Oct 1, 2012, at 3:17 AM, William Emmanuel S. Yu wrote:
>>>
>>>> By default, this does nothing. If I make s0 and s1 switches then h0 should ping s0, s0 should ping s1, and h1 should ping s1. But not h0 to ping h1.
>>>
>>> Though you're running an L2 pairs switch app, right? That's going to let you ping between h0 and h1...
>>>
>>> -- Murphy
>>>
>>> "Sent on the move."
>>
>
> --
> -------------------------------------------------------
> William Emmanuel S. Yu, Ph.D. (杨怀义)
> Department of Information Systems and Computer Science
> Ateneo de Manila University
> email : wyu at ateneo dot edu
> blog : http://hip2b2.yutivo.org/
> web : http://CNG.ateneo.edu/cng/wyu/
> phone : +63(2)4266001 loc. 4186
> GPG : http://CNG.ateneo.net/cng/wyu/wyy.pgp
>
> Confidentiality Issue: This message is intended only for the use of the
> addressee and may contain information that is privileged and
> confidential. If you are not the intended recipient, you are hereby
> notified that any use or dissemination of this communication is strictly
> prohibited. If you have received this communication in error, please
> notify us immediately by reply and delete this message from your system.
>
More information about the pox-dev
mailing list