Add VLAN device binding

IPMI net channel supports the VLAN. This patch will bind the service
to VLAN device if the VLANID is set in net channel.

Tested:
In all the steps, use following commands to check if ipmi overlan is
still working and lan channel info is correct.
ipmitool -I lanplus ... mc info
ipmitool -I lanplus ... lan print 1

1. Start the phosphor-ipmi-net@eth0.service and this service binds to
   eth0 device
   # Command to get the binding device
   journalctl -u phosphor-ipmi-net@eth0.service -o verbose | grep \
   INTERFACE
    INTERFACE=eth0

2. Set the VLANID (123) for channel 1 (eth0) and restart the service.
   The service is binded to eth0.123
   # Command to set the channel 1 VLANID
    ipmitool -I lanplus ... lan set 1 vlan id 123

   # Command to restart
   systemctl restart  phosphor-ipmi-net@eth0.service

   # Command to check the binding
   journalctl -u phosphor-ipmi-net@eth0.service -o verbose | grep \
   INTERFACE
    INTERFACE=eth0.123

3. Disable the VLANID for channel 0 and restart the service.
   The service is binded to eth0
   # Command to disable the channel 1 VLANID
   ipmitool -I lanplus ... lan set 1 vlan id off

   # Command to restart
   systemctl restart  phosphor-ipmi-net@eth0.service

   # Command to check the binding
   journalctl -u phosphor-ipmi-net@eth0.service -o verbose | grep \
   INTERFACE
    INTERFACE=eth0

Limitation: Need to restart this service when the VLANID is changed.
            This should be done in phosphor-host-ipmid.

Change-Id: I6c05aacf6b18cb1fa0d1cabe6ad36f0d683948d1
Signed-off-by: Alvin Wang <alvinwang@msn.com>
2 files changed