net: Mark 'vlan' parameter as deprecated

The 'vlan' parameter is a continuous source of confusion for the users,
many people mix it up with the more common term VLAN (the link layer
packet encapsulation), and even if they realize that the QEMU 'vlan' is
rather some kind of network hub emulation, there is still a high risk
that they configure their QEMU networking in a wrong way with this
parameter (e.g. by hooking NICs together, so they get a 'loopback'
between one and the other NIC).
Thus at one point in time, we should finally get rid of the 'vlan'
feature in QEMU. Let's do a first step in this direction by declaring
the 'vlan' parameter as deprecated and informing the users to use the
'netdev' parameter instead.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
Thomas Huth 2017-01-24 10:42:49 +01:00 committed by Jason Wang
parent 5dae13cd71
commit a2dbe1356f

View File

@ -970,6 +970,7 @@ static int net_client_init1(const void *object, bool is_netdev, Error **errp)
const Netdev *netdev; const Netdev *netdev;
const char *name; const char *name;
NetClientState *peer = NULL; NetClientState *peer = NULL;
static bool vlan_warned;
if (is_netdev) { if (is_netdev) {
netdev = object; netdev = object;
@ -1050,6 +1051,11 @@ static int net_client_init1(const void *object, bool is_netdev, Error **errp)
!opts->u.nic.data->has_netdev) { !opts->u.nic.data->has_netdev) {
peer = net_hub_add_port(net->has_vlan ? net->vlan : 0, NULL); peer = net_hub_add_port(net->has_vlan ? net->vlan : 0, NULL);
} }
if (net->has_vlan && !vlan_warned) {
error_report("'vlan' is deprecated. Please use 'netdev' instead.");
vlan_warned = true;
}
} }
if (net_client_init_fun[netdev->type](netdev, name, peer, errp) < 0) { if (net_client_init_fun[netdev->type](netdev, name, peer, errp) < 0) {