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) |
![]() | |
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 |
![]() | |
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.