'List the available networks
:param      vm: Node Object
:type       vm: :class:`CloudStackNode
:rtype ``list`` of :class:`CloudStackNic`'

def ex_list_nics(self, node):

    res = self._sync_request(command='listNics', params={'virtualmachineid': node.id}, method='GET')
    items = res.get('nic', [])
    nics = []
    extra_map = RESOURCE_EXTRA_ATTRIBUTES_MAP['nic']
    for item in items:
        extra = self._get_extra_dict(item, extra_map)
        nics.append(CloudStackNic(id=item['id'], network_id=item['networkid'], net_mask=item['netmask'], gateway=item['gateway'], ip_address=item['ipaddress'], is_default=item['isdefault'], mac_address=item['macaddress'], driver=self, extra=extra))
    return nics
