|
| | Icmpv6Handler (Agent *agent, boost::shared_ptr< PktInfo > info, boost::asio::io_context &io) |
| |
| virtual | ~Icmpv6Handler () |
| |
| bool | Run () |
| |
| bool | RouterAdvertisement (Icmpv6Proto *proto) |
| |
| void | SendNeighborAdvert (const Ip6Address &sip, const Ip6Address &dip, const MacAddress &smac, const MacAddress &dmac, uint32_t itf, uint32_t vrf, bool solicited) |
| |
| void | SendNeighborSolicit (const Ip6Address &sip, const Ip6Address &dip, const VmInterface *vmi, uint32_t vrf, bool send_unicast=false) |
| |
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 | CheckPacket () |
| |
| bool | HandlePacket () |
| |
| bool | HandleMessage () |
| |
| void | EntryDelete (NdpKey &key) |
| |
| uint16_t | FillRouterAdvertisement (uint8_t *buf, uint32_t ifindex, uint8_t *src, uint8_t *dest, const Ip6Address &prefix, uint8_t plen) |
| |
| uint16_t | FillNeighborAdvertisement (uint8_t *buf, uint8_t *dip, uint8_t *sip, const Ip6Address &target, const MacAddress &dmac, bool solicited) |
| |
| void | SendRAResponse (uint32_t ifindex, uint32_t vrfindex, uint8_t *src_ip, uint8_t *dest_ip, const MacAddress &dest_mac, const Ip6Address &prefix, uint8_t plen) |
| |
| void | SendPingResponse () |
| |
| void | SendIcmpv6Response (uint32_t ifindex, uint32_t vrfindex, uint8_t *src_ip, uint8_t *dest_ip, const MacAddress &dest_mac, uint16_t len) |
| |
| void | SolicitedMulticastIpAndMac (const Ip6Address &dip, uint8_t *ip, MacAddress &mac) |
| |
| uint16_t | FillNeighborSolicit (uint8_t *buf, const Ip6Address &target, uint8_t *sip, uint8_t *dip) |
| |
| void | Ipv6Lower24BitsExtract (uint8_t *dst, uint8_t *src) |
| |
| void | Ipv6AddressBitwiseOr (uint8_t *dst, uint8_t *src) |
| |
| bool | IsDefaultGatewayConfigured (uint32_t ifindex, const Ip6Address &addr) |
| |
| bool | IsIPv6AddrUnspecifiedBytes (const uint8_t *ip) |
| |
| | DISALLOW_COPY_AND_ASSIGN (Icmpv6Handler) |
| |
Definition at line 17 of file icmpv6_handler.h.