|
| 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.