code: func createMacVlan(containerIfName, parent, macvlanMode string) (string, error) {
  	// Set the macvlan mode. Default is bridge mode
  	mode, err := setMacVlanMode(macvlanMode)
  	if err != nil {
  		return "", fmt.Errorf("Unsupported %s macvlan mode: %v", macvlanMode, err)
  	}
  	// verify the Docker host interface acting as the macvlan parent iface exists
  	if !parentExists(parent) {
  		return "", fmt.Errorf("the requested parent interface %s was not found on the Docker host", parent)
  	}
  	// Get the link for the master index (Example: the docker host eth iface)
  	parentLink, err := ns.NlHandle().LinkByName(parent)
  	if err != nil {
  		return "", fmt.Errorf("error occurred looking up the %s parent iface %s error: %s", macvlanType, parent, err)
  	}
  	// Create a macvlan link
  	macvlan := &netlink.Macvlan{
  		LinkAttrs: netlink.LinkAttrs{
  			Name:        containerIfName,
  			ParentIndex: parentLink.Attrs().Index,
  		},
  		Mode: mode,
  	}
  	if err := ns.NlHandle().LinkAdd(macvlan); err != nil {
  		// If a user creates a macvlan and ipvlan on same parent, only one slave iface can be active at a time.
  		return "", fmt.Errorf("failed to create the %s port: %v", macvlanType, err)
  	}
  
  	return macvlan.Attrs().Name, nil
  }
docs: // Create the macvlan slave specifying the source name