func (r *CommandRunner) RestartIntf(intfName string) error {
	log.Infof("Restarting interface %v...", intfName)
	if err := r.TurnDownIntf(intfName); err != nil {
		return err
	}
	if err := r.BringUpIntf(intfName); err != nil {
		return err
	}
	log.Infof("Restarted the interface %v.", intfName)
	return nil
}
RestartIntf restarts a specific network interface.
package syscmd
import (
	"fmt"
	"strconv"
	"strings"
	log "github.com/golang/glog"
)
func (r *CommandRunner) CreateVLAN(intfName string, vlanID int) (string, error) {
	vlanINTFName := vlanINTFName(intfName, vlanID)
	log.Infof("Creating VLAN interface %v...", vlanINTFName)
	if _, err := r.ExecCommand(true, "ip", "link", "add", "link", intfName, "name", vlanINTFName, "type", "vlan", "id", strconv.Itoa(vlanID)); err != nil {
		return "", err
	}
	log.Infof("Created VLAN interface %v.", vlanINTFName)
	return vlanINTFName, nil
}
func (r *CommandRunner) DeleteVLAN(intfName string, vlanID int) error {
	vlanINTFName := vlanINTFName(intfName, vlanID)
	log.Infof("Deleting VLAN interface %v...", vlanINTFName)
	if _, err := r.ExecCommand(true, "ip", "link", "delete", vlanINTFName); err != nil {
		return err
	}
	log.Infof("Deleted VLAN interface %v.", vlanINTFName)
	return nil
}