[Bug 1824340] Re: DHCPv4 can't set route

Volodymyr Litovka 1824340 at bugs.launchpad.net
Fri Apr 12 15:01:04 UTC 2019


Hello, Dan

in fact, I recently submitted patch to Openstack Neutron, which reorder
Opt.121 records before sending them to the host. I think it's more
relevant way - change server's behaviour rather than change all possible
clients. I think it makes sense to mark this bug as invalid.

Answering your questions:

BEFORE I applied the patch, dnsmasq's 'opts' was these:

tag:tag1,option:dns-server,...list of servers...
tag:tag1,option:classless-static-route,2.2.2.0/24,10.0.2.22,10.0.2.0/24,0.0.0.0,169.254.169.254/32,10.0.3.1,0.0.0.0/0,10.0.3.1
tag:tag1,249,2.2.2.0/24,10.0.2.22,10.0.2.0/24,0.0.0.0,169.254.169.254/32,10.0.3.1,0.0.0.0/0,10.0.3.1tag:tag1,option:router,10.0.3.1

AFTER patch, options 121 and 249 changed to:

tag:tag1,option:classless-static-
route,10.0.2.0/24,0.0.0.0,2.2.2.0/24,10.0.2.22,169.254.169.254/32,10.0.3.1,0.0.0.0/0,10.0.3.1

Thank you.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1824340

Title:
  DHCPv4 can't set route

Status in systemd package in Ubuntu:
  Incomplete

Bug description:
  Dear colleagues,

  I'm facing the problem in systemd-networkd with processing classless
  routes (in fact, I'm using netplan, but netplan use networkd).
  Environment is below.

  The problem:
  DHCP server sends the following classless routes in Opt.121 (in the following sequence):

  3.3.3.0/24 -> 10.0.3.14
  10.0.3.0/24 -> 0.0.0.0

  and systemd-networkd fails with the message:

  Apr 11 11:11:40 mother systemd-networkd[8357]: eth1: DHCPv4 address 10.0.2.15/24
  Apr 11 11:11:40 mother systemd-networkd[8357]: eth1: DHCP: No routes received from DHCP server: No data available
  Apr 11 11:11:40 mother systemd-networkd[8357]: eth1: Could not set DHCPv4 route: Network is unreachable
  Apr 11 11:11:40 mother systemd-networkd[8357]: eth1: Failed

  The cause is clear - at the moment when 3.3.3.0/24 appears, there is
  no route to it's nexthop (10.0.3.14).

  Default behavior of ISC DHCP client is the same but can be fixed in
  two ways:

  1) second run of dhclient installs 3.3.3.0/24 since 10.0.3.14 is accessible since first run
  2) OR changing /etc/dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes in order to process connected routes (i.e. gateway is 0.0.0.0) first, while other routes - next.

  Is it possible to modify systemd-networkd behavior in some way? -
  1) sort routes and install connected first and other - next?
  2) OR use kind of max_retries after which systemd-networkd's dhcp client will fail finally
  3) OR add ability to use own scripts like mentioned above ISC's hook?

  Any recommendation on how to work around this issue are highly
  appreciated.

  Thank you.

  Environment:
  OS: Ubuntu 18.04.2
  systemd: 237
  DNS server: dnsmasq (Openstack)
  Netplan: 0.40.1~18.04.4

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1824340/+subscriptions



More information about the foundations-bugs mailing list