netdev: Add reconfigure request mechanism.
authorDaniele Di Proietto <diproiettod@vmware.com>
Thu, 25 Feb 2016 01:25:11 +0000 (17:25 -0800)
committerDaniele Di Proietto <diproiettod@vmware.com>
Mon, 23 May 2016 17:27:42 +0000 (10:27 -0700)
commit790fb3b745d039ec904000a6c64cfc6e16508d9c
treecea622e12629872c3122523bf5e388d035ed5007
parentdc36593cf43690004004b3ec72b01ae26dab017f
netdev: Add reconfigure request mechanism.

A netdev provider, especially a PMD provider (like netdev DPDK) might
not be able to change some of its parameters (such as MTU, or number of
queues) without stopping everything and restarting.

This commit introduces a mechanism that allows a netdev provider to
request a restart (netdev_request_reconfigure()).  The upper layer can
be notified via netdev_wait_reconf_required() and
netdev_is_reconf_required().  After closing all the rxqs the upper layer
can finally call netdev_reconfigure(), to make sure that the new
configuration is in place.

This will be used by next commit to reconfigure rx and tx queues in
netdev-dpdk.

Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
Tested-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
lib/netdev-bsd.c
lib/netdev-dpdk.c
lib/netdev-dummy.c
lib/netdev-linux.c
lib/netdev-provider.h
lib/netdev-vport.c
lib/netdev.c
lib/netdev.h