5.7.21. vlcp.utils.vxlandiscover

Note

This document is generated from the source file.

View Source on GitHub

Created on 2016/12/15

author:hubo

Refactoring from vxlancast module, to share the logic with hardware-vtep

vlcp.utils.vxlandiscover.get_broadcast_ips(vxlan_endpointset, local_ip, ovsdb_vhost, system_id, bridge)

Get all IP addresses that are not local

Parameters:
  • vxlan_endpointset – a VXLANEndpointSet object
  • local_ips – list of local IP address to exclude with
  • ovsdb_vhost – identifier, vhost
  • system_id – identifier, system-id
  • bridge – identifier, bridge name
Returns:

[(ip, ipnum)] list where IPs are the original string of the IP address, and ipnum are 32-bit numeric IPv4 address.

vlcp.utils.vxlandiscover.lognet_vxlan_walker(prepush=True)

Return a walker function to retrieve necessary information from ObjectDB

vlcp.utils.vxlandiscover.update_vxlaninfo(container, network_ip_dict, created_ports, removed_ports, ovsdb_vhost, system_id, bridge, allowedmigrationtime, refreshinterval)

Do an ObjectDB transact to update all VXLAN informations

Parameters:
  • container – Routine container
  • network_ip_dict – a {logicalnetwork_id: tunnel_ip} dictionary
  • created_ports – logical ports to be added, a {logicalport_id: tunnel_ip} dictionary
  • removed_ports – logical ports to be removed, a {logicalport_id: tunnel_ip} dictionary
  • ovsdb_vhost – identifier for the bridge, vhost name
  • system_id – identifier for the bridge, OVSDB systemid
  • bridge – identifier for the bridge, bridge name
  • allowedmigrationtime – time allowed for port migration, secondary endpoint info will be removed after this time
  • refreshinterval – refreshinterval * 2 will be the timeout for network endpoint