HomeFreeBSD

Fix bug in ifconfig preventing proper VLAN creation.

Description

Fix bug in ifconfig preventing proper VLAN creation.

Detection of VLAN interface type must happen before detection of
interface type by prefix. Else the following sequence of commands will
try to create a LAGG interface instead of a VLAN interface, which
accidentially worked previously, because the data pointed to by the
ifr_data pointer was not parsed by the VLAN create ioctl(2). This is a
regression after r368229, because the VLAN creation now parses the
ifr_data field.

How to reproduce:

  1. ifconfig lagg0 create
  2. ifconfig lagg0.256 create

This is a direct commit, until r366917, stacked VLANs has been MFC'ed.

Differential Revision: https://reviews.freebsd.org/D27521
Tested by: raul.munoz@custos.es
Sponsored by: Mellanox Technologies // NVIDIA Networking

Details