Thanks Murphy for the detailed explanation. That really helped. :)

On Thu, Apr 4, 2013 at 10:22 PM, Murphy McCauley
<[email protected]>wrote:

> On Apr 4, 2013, at 11:41 AM, udita gangwal wrote:
>
> I want to run a DHCP server in the POX controller. The controller has to
> be able to capture all the DHCP requests that come in so that the DHCP
> server can lease out an IP address to each host.
>
> ...
>
> *./pox.py openflow.of_01 --address=192.168.56.1 forwarding.l2_learning
> flow_stats misc.dhcpd --network=10.1.1.0/24 --ip=10.0.0.4 --first=10
> --last=None*
>
> where, 192.168.56.1 is the IP address of the Mininet VM, *flow-stats* is
> the module to display the flow table entries in the controller fetched from
> the OF Switch. 10.0.0.4 is the IP address of one of the Mininet hosts.
>
> In one of the Mininet hosts (IP_addr = 10.0.0.2, MAC_addr =
> 00:00:00:00:00:02), when I run the dhclient with the following command:
>
> *sudo dhclient h2-eth0  *,
>
> whr, h2-eth0 is the name of its interface, I can see the following message
> in the POX controller:
>
> *                  INFO:misc.dhcpd:Leased 10.1.1.10 to 00:00:00:00:00:02*
>
> But now, when I do an *ifconfig* in the host, it still gives me the old
> IP address, 10.0.0.2.
>
>
> Can someone please point out where the mistake is and what exactly should
> it be done?
>
>
> I think there's no mistake and everything is running fine.
>
> Check out the following:
>
> mininet> h1 dhclient -v
> Internet Systems Consortium DHCP Client 4.2.4
> Copyright 2004-2012 Internet Systems Consortium.
> All rights reserved.
> For info, please visit https://www.isc.org/software/dhcp/
>
> Listening on LPF/h1-eth0/00:00:00:00:00:01
> Sending on   LPF/h1-eth0/00:00:00:00:00:01
> Sending on   Socket/fallback
> DHCPREQUEST of 10.2.2.1 on h1-eth0 to 255.255.255.255 port 67
> DHCPACK of 10.2.2.1 from 192.168.0.254
> bound to 10.2.2.1 -- renewal in 1543 seconds.
>
>
> mininet> h1 ifconfig h1-eth0
> h1-eth0   Link encap:Ethernet  HWaddr 00:00:00:00:00:01
>           inet addr:10.0.0.1  Bcast:10.255.255.255  Mask:255.0.0.0
>           inet6 addr: fe80::200:ff:fe00:1/64 Scope:Link
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:28 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:1000
>           RX bytes:2614 (2.6 KB)  TX bytes:900 (900.0 B)
>
>
> mininet> h2 dhclient -v
> Internet Systems Consortium DHCP Client 4.2.4
> Copyright 2004-2012 Internet Systems Consortium.
> All rights reserved.
> For info, please visit https://www.isc.org/software/dhcp/
>
> Listening on LPF/h2-eth0/00:00:00:00:00:02
> Sending on   LPF/h2-eth0/00:00:00:00:00:02
> Sending on   Socket/fallback
> DHCPREQUEST of 10.2.2.2 on h2-eth0 to 255.255.255.255 port 67
> DHCPACK of 10.2.2.2 from 192.168.0.254
> bound to 10.2.2.2 -- renewal in 1434 seconds.
>
>
> mininet> h2 ifconfig h2-eth0
> h2-eth0   Link encap:Ethernet  HWaddr 00:00:00:00:00:02
>           inet addr:10.0.0.2  Bcast:10.255.255.255  Mask:255.0.0.0
>           inet6 addr: fe80::200:ff:fe00:2/64 Scope:Link
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:28 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:1000
>           RX bytes:2878 (2.8 KB)  TX bytes:900 (900.0 B)
>
>
> mininet> h1 ping 10.2.2.2
> PING 10.2.2.2 (10.2.2.2) 56(84) bytes of data.
> 64 bytes from 10.2.2.2: icmp_req=1 ttl=64 time=63.2 ms
> 64 bytes from 10.2.2.2: icmp_req=2 ttl=64 time=0.313 ms
> 64 bytes from 10.2.2.2: icmp_req=3 ttl=64 time=0.172 ms
> 64 bytes from 10.2.2.2: icmp_req=4 ttl=64 time=0.058 ms
> ^C
> --- 10.2.2.2 ping statistics ---
> 4 packets transmitted, 4 received, 0% packet loss, time 3000ms
> rtt min/avg/max/mdev = 0.058/15.939/63.214/27.294 ms
>
>
> mininet> h2 ifconfig h2-eth0
> h2-eth0   Link encap:Ethernet  HWaddr 00:00:00:00:00:02
>           inet addr:10.0.0.2  Bcast:10.255.255.255  Mask:255.0.0.0
>           inet6 addr: fe80::200:ff:fe00:2/64 Scope:Link
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:34 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:1000
>           RX bytes:3354 (3.3 KB)  TX bytes:1376 (1.3 KB)
>
>
> Note that dhclient -v shows that it gets the correct assignment, and that
> pinging works even though ifconfig still shows the old addresses.  Also
> notice that if you manually use ifconfig to set some new address ("h1
> ifconfig h1-eth0 1.2.3.4"), another run of ifconfig will now show the
> address with 10.2.2.1!  And after setting another address ("h1 ifconfig
> h1-eth0 5.6.7.8"), ifconfig will now show 1.2.3.4!
>
> So what's going on?  The answer is that two IP addresses are being
> assigned to the interface, but ifconfig only shows one of them.  If you use
> "h1 ip addr", you'll see both of them.  It's for reasons like this that
> ifconfig is (sort of?  entirely?) deprecated.
>
> In the past, I haven't seen this two-address behavior with dhclient... I
> suspect something must have changed in the default configuration of Ubuntu
> 12.10 or something like that.
>
>
> Hope that helps.
>
> -- Murphy
>

Reply via email to