<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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]