Fix DHCP client crash with worker threads 89/10489/2
authorMatthew Smith <mgsmith@netgate.com>
Sat, 10 Feb 2018 17:11:45 +0000 (11:11 -0600)
committerDave Barach <openvpp@barachs.net>
Mon, 12 Feb 2018 19:34:17 +0000 (19:34 +0000)
commit7a1928342109cd05cccf9969e61b5fe8f00a18cf
treeb1b618b07d620fee5ba06ca4222d97668cfb8f10
parent18b631560b17d5fd143c87d77f86a371cb93e6d8
Fix DHCP client crash with worker threads

Crash occurring With a worker thread configured and dhcp
client active on an interface. When a DHCP reply packet
is received, call to ethernet_get_main() from
dhcp_proxy_to_client_input() was causing a crash.
Replaced with a call to vnet_get_ethernet_main().

Once that was resolved, calling dhcp_client_acquire_address()
from a worker thread also caused a crash. Changed so the main
thread will do the address/route configuration.

Change-Id: Ib23984787102dea8cf6cfcde86188a751f15c1e1
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
src/vnet/dhcp/client.c
src/vnet/dhcp/dhcp4_proxy_node.c
src/vnet/dhcp/dhcp6_proxy_node.c