dhcpcd-discuss

Arping and profiles

David McGurty

Thu Dec 12 23:01:21 2013

Hi there!

I'm having trouble configuring dhcpcd to use arping and assign a static ip address depeding on which profile matches. This is the relevant part of my configuration:

interface bond0
arping 192.168.1.1 192.168.3.1

profile 00:11:22:33:44:55
static ip_address=192.168.1.2/24
static routers=192.168.1.1
static domain_name_servers=208.67.222.222 208.67.220.220 192.168.1.1

profile 55:44:33:22:11:00
static ip_address=192.168.3.70/24
static routers=192.168.3.1
static domain_name_servers=208.67.222.222 208.67.220.220 192.168.3.1

This does almost work as expected, in that it selects the correct profile when I'm connected to the router that has the matching MAC address. However it only ever works for the first IP that is listed in the "arping"-line

So when 192.168.1.1 is first in line, it will load the 00:11:22:33:44:55 profile when I'm connected to that router, but it won't load the 55:44:33:22:11:00 profile when I'm connected to the other router.

When I try to connect to the 55:44:33:22:11:00 router with the above configuration, it will fall back to acquiring a lease through DHCP after sending ARP probes for the first profile's MAC:

Dec 13 00:02:27 host dhcpcd[24965]: version 6.1.0 starting
Dec 13 00:02:27 host dhcpcd[24965]: bond0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' PREINIT Dec 13 00:02:27 host dhcpcd[24965]: bond0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' CARRIER
Dec 13 00:02:27 host dhcpcd[24965]: bond0: soliciting an IPv6 router
Dec 13 00:02:27 host dhcpcd[24965]: bond0: sending Router Solicitation
Dec 13 00:02:27 host dhcpcd[24965]: bond0: using ClientID ff:00:00:00:04:00:01:00:01:19:f6:85:31:a0:88:b4:a4:68:d8
Dec 13 00:02:28 host dhcpcd[24965]: bond0: searching for 192.168.3.1
Dec 13 00:02:28 host dhcpcd[24965]: bond0: sending ARP probe (1 of 3), next in 1.40 seconds Dec 13 00:02:29 host dhcpcd[24965]: bond0: sending ARP probe (2 of 3), next in 1.67 seconds Dec 13 00:02:31 host dhcpcd[24965]: bond0: sending ARP probe (3 of 3), next in 2.00 seconds
Dec 13 00:02:31 host dhcpcd[24965]: bond0: sending Router Solicitation
Dec 13 00:02:33 host dhcpcd[24965]: bond0: soliciting an IPv6 router
Dec 13 00:02:33 host dhcpcd[24965]: bond0: sending Router Solicitation
Dec 13 00:02:33 host dhcpcd[24965]: bond0: using ClientID ff:00:00:00:04:00:01:00:01:19:f6:85:31:a0:88:b4:a4:68:d8
Dec 13 00:02:33 host dhcpcd[24965]: bond0: soliciting a DHCP lease
Dec 13 00:02:33 host dhcpcd[24965]: bond0: sending DISCOVER (xid 0x5e84babf), next in 3.23 seconds Dec 13 00:02:33 host dhcpcd[24965]: bond0: offered 192.168.1.101 from 192.168.1.1 Dec 13 00:02:33 host dhcpcd[24965]: bond0: sending REQUEST (xid 0x5e84babf), next in 4.00 seconds Dec 13 00:02:33 host dhcpcd[24965]: bond0: acknowledged 192.168.1.101 from 192.168.1.1
Dec 13 00:02:33 host dhcpcd[24965]: bond0: checking for 192.168.1.101
Dec 13 00:02:33 host dhcpcd[24965]: bond0: sending ARP probe (1 of 3), next in 1.75 seconds Dec 13 00:02:34 host dhcpcd[24965]: bond0: sending ARP probe (2 of 3), next in 1.69 seconds Dec 13 00:02:36 host dhcpcd[24965]: bond0: sending ARP probe (3 of 3), next in 2.00 seconds
Dec 13 00:02:37 host dhcpcd[24965]: bond0: sending Router Solicitation
Dec 13 00:02:38 host dhcpcd[24965]: bond0: leased 192.168.1.101 for 604800 seconds Dec 13 00:02:38 host dhcpcd[24965]: bond0: renew in 302400 seconds, rebind in 529200 seconds Dec 13 00:02:38 host dhcpcd[24965]: bond0: adding IP address 192.168.1.101/24 Dec 13 00:02:38 host dhcpcd[24965]: bond0: adding host route to 192.168.1.101 via 127.0.0.1
Dec 13 00:02:38 host dhcpcd[24965]: bond0: adding route to 192.168.1.0/24
Dec 13 00:02:38 host dhcpcd[24965]: bond0: adding default route via 192.168.1.1 Dec 13 00:02:38 host dhcpcd[24965]: bond0: writing lease `/var/lib/dhcpcd/dhcpcd-bond0.lease' Dec 13 00:02:38 host dhcpcd[24965]: bond0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' BOUND
Dec 13 00:02:38 host dhcpcd[24965]: forking to background


If is do a switcheroo and change the "arping"-line to read: "arping 192.168.3.1 192.168.1.1", it works. However it then won't work for the other router.

The example in the manpage suggests to use the router's IP address in the "profile" line instead of using the MAC. I tried that and it doesn't work at all. It just always falls back to using DHCP.

Am I missing something here? Any help is appreciated!

Thank you,

        Dave

Follow-Ups:
Re: Arping and profilesRoy Marples
Archive administrator: postmaster@marples.name