Classes | |
| struct | icmpv6_dest_unreach_hdr_t |
| struct | icmpv6_echo_reply_hdr_t |
| struct | icmpv6_echo_request_hdr_t |
| struct | icmpv6_hdr_t |
| struct | icmpv6_neighbor_advertisement_hdr_t |
| struct | icmpv6_neighbor_solicitation_hdr_t |
| struct | icmpv6_param_problem_hdr_t |
| struct | icmpv6_pkt_too_big_hdr_t |
| struct | icmpv6_pseudo_hdr_t |
| struct | icmpv6_redirect_hdr_t |
| struct | icmpv6_router_advertisement_hdr_t |
| struct | icmpv6_router_solicitation_hdr_t |
| struct | icmpv6_time_exceeded_hdr_t |
Public Member Functions | |
|
struct rofl::ficmpv6frame::icmpv6_hdr_t | __attribute__ ((packed)) |
|
struct rofl::ficmpv6frame::icmpv6_dest_unreach_hdr_t | __attribute__ ((packed)) |
|
struct rofl::ficmpv6frame::icmpv6_pkt_too_big_hdr_t | __attribute__ ((packed)) |
|
struct rofl::ficmpv6frame::icmpv6_time_exceeded_hdr_t | __attribute__ ((packed)) |
|
struct rofl::ficmpv6frame::icmpv6_param_problem_hdr_t | __attribute__ ((packed)) |
|
struct rofl::ficmpv6frame::icmpv6_echo_request_hdr_t | __attribute__ ((packed)) |
|
struct rofl::ficmpv6frame::icmpv6_echo_reply_hdr_t | __attribute__ ((packed)) |
|
struct rofl::ficmpv6frame::icmpv6_router_solicitation_hdr_t | __attribute__ ((packed)) |
|
struct rofl::ficmpv6frame::icmpv6_router_advertisement_hdr_t | __attribute__ ((packed)) |
|
struct rofl::ficmpv6frame::icmpv6_neighbor_solicitation_hdr_t | __attribute__ ((packed)) |
|
struct rofl::ficmpv6frame::icmpv6_neighbor_advertisement_hdr_t | __attribute__ ((packed)) |
|
struct rofl::ficmpv6frame::icmpv6_redirect_hdr_t | __attribute__ ((packed)) |
|
struct rofl::ficmpv6frame::icmpv6_pseudo_hdr_t | __attribute__ ((packed)) |
| ficmpv6frame (uint8_t *data, size_t datalen) | |
| ficmpv6frame (size_t len=DEFAULT_ICMPV6_FRAME_SIZE) | |
| virtual | ~ficmpv6frame () |
| void | icmpv6_calc_checksum () |
| ficmpv6opt & | get_option (ficmpv6opt::icmpv6_option_type_t type) throw (eICMPv6FrameNotFound) |
| virtual bool | complete () const |
| virtual size_t | need_bytes () const |
| virtual void | validate (uint16_t total_len=0) const |
| virtual void | initialize () |
| virtual void | payload_insert (uint8_t *data, size_t datalen) throw (eFrameOutOfRange) |
| virtual uint8_t * | payload () const throw (eFrameNoPayload) |
| virtual size_t | payloadlen () const throw (eFrameNoPayload) |
| uint8_t | get_icmpv6_code () const |
| void | set_icmpv6_code (uint8_t code) |
| uint8_t | get_icmpv6_type () const |
| void | set_icmpv6_type (uint8_t type) |
| uint8_t | get_icmpv6_ndp_rtr_flag () const |
| void | set_icmpv6_ndp_rtr_flag () |
| uint8_t | get_icmpv6_ndp_solicited_flag () const |
| void | set_icmpv6_ndp_solicited_flag () |
| uint8_t | get_icmpv6_ndp_override_flag () const |
| void | set_icmpv6_ndp_override_flag () |
| caddress_in6 | get_icmpv6_neighbor_taddr () const |
| void | set_icmpv6_neighbor_taddr (caddress_in6 const &addr) |
Public Member Functions inherited from rofl::fframe | |
| fframe (uint8_t *_data=NULL, size_t _datalen=0) | |
| fframe (size_t len=DEFAULT_FFRAME_SIZE) | |
| virtual | ~fframe () |
| virtual void | reset (uint8_t *_data, size_t _datalen) |
| fframe (const fframe &frame) | |
| fframe & | operator= (const fframe &frame) |
| virtual uint8_t * | sopdu () const |
| Returns pointer to begin of this PDU. | |
| virtual size_t | pdulen () const |
| Returns length of this PDU. | |
| virtual uint8_t * | sosdu () const |
| Returns pointer to begin of SDU encapsulated in this PDU (if any). | |
| virtual uint8_t & | operator[] (size_t index) throw (eFrameOutOfRange) |
| virtual uint8_t * | soframe () const |
| virtual size_t | framelen () const |
| bool | empty () const |
| void | shift_left (size_t bytes) |
| void | shift_right (size_t bytes) |
Public Attributes | |
| union { | |
| struct icmpv6_hdr_t * icmpv6u_hdr | |
| struct icmpv6_dest_unreach_hdr_t * icmpv6u_dst_unreach_hdr | |
| struct icmpv6_pkt_too_big_hdr_t * icmpv6u_pkt_too_big_hdr | |
| struct icmpv6_time_exceeded_hdr_t * icmpv6u_time_exceeded_hdr | |
| struct icmpv6_param_problem_hdr_t * icmpv6u_param_problem_hdr | |
| struct icmpv6_echo_request_hdr_t * icmpv6u_echo_request_hdr | |
| struct icmpv6_echo_reply_hdr_t * icmpv6u_echo_reply_hdr | |
|
struct icmpv6_router_solicitation_hdr_t * icmpv6u_rtr_solicitation_hdr | |
|
struct icmpv6_router_advertisement_hdr_t * icmpv6u_rtr_advertisement_hdr | |
|
struct icmpv6_neighbor_solicitation_hdr_t * icmpv6u_neighbor_solication_hdr | |
|
struct icmpv6_neighbor_advertisement_hdr_t * icmpv6u_neighbor_advertisement_hdr | |
| struct icmpv6_redirect_hdr_t * icmpv6u_redirect_hdr | |
| } | icmpv6u |
|
std::map < ficmpv6opt::icmpv6_option_type_t, ficmpv6opt > | icmpv6opts |
| uint8_t * | data |
| size_t | datalen |
Public Attributes inherited from rofl::fframe | |
| fframe * | next |
| fframe * | prev |
Friends | |
| std::ostream & | operator<< (std::ostream &os, ficmpv6frame const &frame) |
| ficmpv6frame::ficmpv6frame | ( | uint8_t * | data, |
| size_t | datalen | ||
| ) |
constructor
| ficmpv6frame::ficmpv6frame | ( | size_t | len = DEFAULT_ICMPV6_FRAME_SIZE | ) |
constructor for creating new icmpv4 frame
|
virtual |
destructor
|
virtual |
returns boolean value indicating completeness of the packet
Reimplemented from rofl::fframe.
| ficmpv6opt & ficmpv6frame::get_option | ( | ficmpv6opt::icmpv6_option_type_t | type | ) | |
| throw | ( | eICMPv6FrameNotFound | |||
| ) | |||||
get specific ICMPv6 option
| void ficmpv6frame::icmpv6_calc_checksum | ( | ) |
calculate TCP header checksum
|
virtual |
initialize (set eth_hdr, pppoe_hdr)
Reimplemented from rofl::fframe.
|
virtual |
returns the number of bytes this packet expects from the socket next
Reimplemented from rofl::fframe.
|
virtual | |||||||||||||
get payload
Reimplemented from rofl::fframe.
|
virtual | ||||||||||||||||||||
insert payload
Reimplemented from rofl::fframe.
|
virtual | |||||||||||||
get payload length
Reimplemented from rofl::fframe.
|
virtual |
validate (frame structure)
Reimplemented from rofl::fframe.
1.8.6