The networking_cisco.plugins.cisco.cpnr.cpnr_dns_relay_agent Module

class networking_cisco.plugins.cisco.cpnr.cpnr_dns_relay_agent.DnsPacket

Bases: object

COUNTS_LENGTH = 8
IDENTIFIER_FLAGS_AND_CODES_LENGTH = 4
OPTIONAL_RR = 41
QUERY_TYPE_AND_CLASS = 4
TXT_RR = bytearray(b’\n_cpnr_info\x05cisco\x03com\x00\x00\x10\x00\x01\x00\x00\x00\x00’)
TYPE_CLASS_AND_TTL_LENGTH = 8
data()
get_msgid()
classmethod parse(buf, buflen)
set_viewid(id)
classmethod skip_over_domain_name(buf, pos)
classmethod struct(fmt)
structcache = {}
class networking_cisco.plugins.cisco.cpnr.cpnr_dns_relay_agent.DnsRelayAgent

Bases: object

Relay DNS packets between neutron networks and external DNS server.

Receives unicast DNS requests via sockets which are opened in each neutron network namespace. Additional DNS options are appended to the request to indicate from which network the request originated. Requests are then forwarded to the configured DNS server address.

Receives unicast DNS responses from the DNS server via socket opened in the global network namespace. Additional options are stripped from the response. The response is then forwarded to the originating network.

serve()
networking_cisco.plugins.cisco.cpnr.cpnr_dns_relay_agent.main()