| 
 | 
 | ||||||||||||||||
The real receiver must inherit from this class and register with the corresponding IoIp entity to receive the raw IP packets.
See also: IoIp.
| IoIpReceiver () | IoIpReceiver | 
| ~IoIpReceiver () | ~IoIpReceiver | 
[virtual]
| void  recv_packet (const string&	if_name,
			     const string&	vif_name,
			     const IPvX&	src_address,
			     const IPvX&	dst_address,
			     int32_t		ip_ttl,
			     int32_t		ip_tos,
			     bool		ip_router_alert,
			     bool		ip_internet_control,
			     const vector<uint8_t>& ext_headers_type,
			     const vector<vector<uint8_t> >& ext_headers_payload,
			     const vector<uint8_t>& payload) | recv_packet | 
[pure virtual]
Received a raw IP packet.
Parameters:
| if_name | the interface name the packet arrived on. | 
| vif_name | the vif name the packet arrived on. | 
| src_address | the IP source address. | 
| dst_address | the IP destination address. | 
| ip_ttl | the IP TTL (hop-limit). If it has a negative value, then the received value is unknown. | 
| ip_tos | The type of service (Diffserv/ECN bits for IPv4). If it has a negative value, then the received value is unknown. | 
| ip_router_alert | if true, the IP Router Alert option was included in the IP packet. | 
| ip_internet_control | if true, then this is IP control traffic. | 
| ext_headers_type | a vector of integers with the types of the optional IPv6 extention headers. | 
| ext_headers_payload | a vector of payload data, one for each optional IPv6 extention header. The number of entries must match ext_headers_type. | 
| packet | the payload, everything after the IP header and options. | 
| void  recv_system_multicast_upcall (const vector<uint8_t>& payload) | recv_system_multicast_upcall | 
[pure virtual]
Received a multicast forwarding related upcall from the system.
Examples of such upcalls are: "nocache", "wrongiif", "wholepkt", "bw_upcall".
Parameters:
| payload | the payload data for the upcall. |