docs: def remove_link_type_vlan(enode, name, shell=None):
      """
      Delete a virtual link.
  
      Deletes a vlan device with the name {name}.
      Will raise an expection if the port is not already present.
  
      :param enode: Engine node to communicate with.
      :type enode: topology.platforms.base.BaseNode
      :param str name: specifies the name of the new
       virtual device.
      :param str shell: Shell name to execute commands. If ``None``, use the
       Engine Node default shell.
      """
      assert name
      if name not in enode.ports:
          raise ValueError('Port {name} doesn\'t exists'.format(name=name))
  
      cmd = 'ip link del link dev {name}'.format(name=name)
  
      response = enode(cmd, shell=shell)
      assert not response, 'Cannot remove virtual link {name}'.format(name=name)
  
      del enode.ports[name]