|
| | DhcpHandler (Agent *agent, boost::shared_ptr< PktInfo > info, boost::asio::io_context &io) |
| |
| virtual | ~DhcpHandler () |
| |
| bool | Run () |
| |
Public Member Functions inherited from DhcpHandlerBase |
| | DhcpHandlerBase (Agent *agent, boost::shared_ptr< PktInfo > info, boost::asio::io_context &io) |
| |
| virtual | ~DhcpHandlerBase () |
| |
Public Member Functions inherited from ProtoHandler |
| | ProtoHandler (Agent *agent, boost::shared_ptr< PktInfo > info, boost::asio::io_context &io) |
| |
| virtual | ~ProtoHandler () |
| |
| void | Send (uint32_t itf, uint32_t vrf, uint16_t, PktHandler::PktModuleName) |
| |
| void | Send (uint32_t itf, uint32_t vrf, uint16_t cmd, uint32_t param1, uint32_t param2, PktHandler::PktModuleName mod) |
| |
| int | EthHdr (const MacAddress &src, const MacAddress &dest, const uint16_t proto) |
| |
| int | EthHdr (char *buff, uint16_t len, const MacAddress &src, const MacAddress &dest, const uint16_t proto, uint16_t vlan_id) |
| |
| int | EthHdr (char *buff, uint16_t len, const Interface *interface, const MacAddress &src, const MacAddress &dest, const uint16_t proto) |
| |
| int | EthHdr (char *buff, uint16_t len, uint32_t ifindex, const MacAddress &src, const MacAddress &dest, const uint16_t proto) |
| |
| void | VlanHdr (uint8_t *ptr, uint16_t tci) |
| |
| void | IpHdr (uint16_t len, in_addr_t src, in_addr_t dest, uint8_t protocol, uint16_t id, uint8_t ttl) |
| |
| uint16_t | IpHdr (char *buff, uint16_t buf_len, uint16_t len, in_addr_t src, in_addr_t dest, uint8_t protocol, uint16_t id, uint8_t ttl) |
| |
| void | Ip6Hdr (ip6_hdr *ip, uint16_t plen, uint8_t next_header, uint8_t hlim, uint8_t *src, uint8_t *dest) |
| |
| void | UdpHdr (uint16_t len, in_addr_t src, uint16_t src_port, in_addr_t dest, uint16_t dest_port) |
| |
| void | UdpHdr (udphdr *hdr, uint16_t len, const uint8_t *src, uint16_t src_port, const uint8_t *dest, uint16_t dest_port, uint8_t next_hdr) |
| |
| void | UdpHdr (uint16_t len, const uint8_t *src, uint16_t src_port, const uint8_t *dest, uint16_t dest_port, uint8_t next_hdr) |
| |
| uint16_t | UdpHdr (udphdr *udp, uint16_t buf_len, uint16_t len, in_addr_t src, uint16_t src_port, in_addr_t dest, uint16_t dest_port) |
| |
| uint16_t | IcmpHdr (char *buff, uint16_t buf_len, uint8_t type, uint8_t code, uint16_t word1, uint16_t word2) |
| |
| void | IcmpChecksum (char *buff, uint16_t buf_len) |
| |
| void | IgmpChecksum (char *buff, uint16_t buf_len) |
| |
| uint32_t | Sum (uint16_t *, std::size_t, uint32_t) const |
| |
| uint16_t | Csum (uint16_t *, std::size_t, uint32_t) const |
| |
| uint16_t | UdpCsum (in_addr_t, in_addr_t, std::size_t, udphdr *) const |
| |
| uint16_t | Ipv6Csum (const uint8_t *src, const uint8_t *dest, uint16_t plen, uint8_t next_hdr, uint16_t *hdr) const |
| |
| uint16_t | Icmpv6Csum (const uint8_t *src, const uint8_t *dest, icmp6_hdr *icmp, uint16_t plen) const |
| |
| Agent * | agent () const |
| |
| uint32_t | GetVrfIndex () const |
| |
| uint32_t | GetInterfaceIndex () const |
| |
| uint16_t | GetLength () const |
| |
| uint32_t | GetCmdParam () const |
| |
| PktInfo * | pkt_info () const |
| |
| uint32_t | EncapHeaderLen () const |
| |
|
| bool | HandleVmRequest () |
| |
| bool | HandleMessage () |
| |
| bool | HandleDhcpFromFabric () |
| |
| bool | ReadOptions (int16_t opt_rem_len) |
| |
| bool | GetGatewayInterfaceLease () |
| |
| void | ReleaseGatewayInterfaceLease () |
| |
| bool | FindLeaseData () |
| |
| void | FillDhcpInfo (Ip4Address &addr, int plen, Ip4Address &gw, Ip4Address &dns) |
| |
| void | WriteOption82 (Dhcpv4Options *opt, uint16_t *optlen) |
| |
| bool | ReadOption82 (Dhcpv4Options *opt) |
| |
| bool | CreateRelayPacket () |
| |
| bool | CreateRelayResponsePacket () |
| |
| void | RelayRequestToFabric () |
| |
| void | RelayResponseFromFabric () |
| |
| uint16_t | DhcpHdr (in_addr_t, in_addr_t) |
| |
| uint16_t | AddIP (uint16_t opt_len, const std::string &input) |
| |
| uint16_t | AddDomainNameOption (uint16_t opt_len) |
| |
| uint16_t | FillDhcpResponse (const MacAddress &dest_mac, in_addr_t src_ip, in_addr_t dest_ip, in_addr_t siaddr, in_addr_t yiaddr) |
| |
| void | SendDhcpResponse () |
| |
| bool | IsOptionRequested (uint8_t option) |
| |
| bool | IsRouterOptionNeeded () |
| |
| void | UpdateStats () |
| |
| DhcpHandler::DhcpOptionCategory | OptionCategory (uint32_t option) const |
| |
| uint32_t | OptionCode (const std::string &option) const |
| |
| void | DhcpTrace (const std::string &msg) const |
| |
| | DISALLOW_COPY_AND_ASSIGN (DhcpHandler) |
| |
|
Public Types inherited from DhcpHandlerBase |
| enum | DhcpOptionCategory {
None
, NoData
, Bool
, Byte
,
ByteArray
, ByteString
, ByteOneIPPlus
, String
,
Int32bit
, Uint32bit
, Uint16bit
, Uint16bitArray
,
OneIPv4
, ZeroIPv4Plus
, OneIPv4Plus
, TwoIPv4Plus
,
OneIPv6
, OneIPv6Plus
, ClasslessRoute
, NameCompression
,
NameCompressionArray
, ByteNameCompression
} |
| |
| enum | DhcpOptionLevel { Invalid
, InterfaceLevel
, SubnetLevel
, IpamLevel
} |
| |
Protected Member Functions inherited from DhcpHandlerBase |
| uint16_t | AddNoDataOption (uint32_t option, uint16_t opt_len) |
| |
| uint16_t | AddByteOption (uint32_t option, uint16_t opt_len, const std::string &input) |
| |
| uint16_t | AddByteArrayOption (uint32_t option, uint16_t opt_len, const std::string &input) |
| |
| uint16_t | AddByteStringOption (uint32_t option, uint16_t opt_len, const std::string &input) |
| |
| uint16_t | AddByteIPOption (uint32_t option, uint16_t opt_len, const std::string &input) |
| |
| uint16_t | AddStringOption (uint32_t option, uint16_t opt_len, const std::string &input) |
| |
| uint16_t | AddIntegerOption (uint32_t option, uint16_t opt_len, const std::string &input) |
| |
| uint16_t | AddShortArrayOption (uint32_t option, uint16_t opt_len, const std::string &input, bool array) |
| |
| bool | IsValidIpOption (uint32_t option, const std::string &ipstr, bool is_v4) |
| |
| bool | IsValidDnsOption (uint32_t option, const std::string &ipstr) |
| |
| uint16_t | AddIpv4Option (uint32_t option, uint16_t opt_len, const std::string &input, uint8_t min_count, uint8_t max_count, uint8_t multiples) |
| |
| uint16_t | AddIpv6Option (uint32_t option, uint16_t opt_len, const std::string &input, bool list) |
| |
| uint16_t | AddCompressedNameOption (uint32_t option, uint16_t opt_len, const std::string &input, bool list) |
| |
| uint16_t | AddByteCompressedNameOption (uint32_t option, uint16_t opt_len, const std::string &input) |
| |
| uint16_t | AddCompressedName (uint16_t opt_len, const std::string &input) |
| |
| uint16_t | AddDnsServers (uint16_t opt_len) |
| |
| void | ReadClasslessRoute (uint32_t option, uint16_t opt_len, const std::string &input) |
| |
| uint16_t | AddClasslessRouteOption (uint16_t opt_len) |
| |
| uint16_t | AddConfigDhcpOptions (uint16_t opt_len, bool is_v6) |
| |
| uint16_t | AddDhcpOptions (uint16_t opt_len, std::vector< autogen::DhcpOptionType > &options, DhcpOptionLevel level) |
| |
| void | FindDomainName (const IpAddress &vm_addr) |
| |
| bool | CanOverrideWithBytes (DhcpOptionCategory category) |
| |
| bool | is_flag_set (uint8_t flag) const |
| |
| void | set_flag (uint8_t flag) |
| |
| bool | is_dns_enabled () const |
| |
| | DISALLOW_COPY_AND_ASSIGN (DhcpHandlerBase) |
| |
Protected Attributes inherited from DhcpHandlerBase |
| VmInterface * | vm_itf_ |
| |
| uint32_t | vm_itf_index_ |
| |
| ConfigRecord | config_ |
| |
| boost::scoped_ptr< DhcpOptionHandler > | option_ |
| |
| std::bitset< 256 > | flags_ |
| |
| bool | dns_enable_ |
| |
| std::string | routers_ |
| |
| std::vector< OperDhcpOptions::HostRoute > | host_routes_ |
| |
| DhcpOptionLevel | host_routes_level_ |
| |
| std::string | ipam_name_ |
| |
| autogen::IpamType | ipam_type_ |
| |
| autogen::VirtualDnsType | vdns_type_ |
| |
| uint32_t | siaddr_tftp_ |
| |
Protected Attributes inherited from ProtoHandler |
| Agent * | agent_ |
| |
| boost::shared_ptr< PktInfo > | pkt_info_ |
| |
| boost::asio::io_context & | io_ |
| |
Definition at line 261 of file dhcp_handler.h.