XrlRawPacket4V0p1Client (XrlSender* s)
| XrlRawPacket4V0p1Client |
~XrlRawPacket4V0p1Client ()
| ~XrlRawPacket4V0p1Client |
[virtual]
typedef XorpCallback1<void, const XrlError&>::RefPtr SendCB | SendCB |
bool send_send (
const char* dst_xrl_target_name,
const string& if_name,
const string& vif_name,
const IPv4& src_address,
const IPv4& dst_address,
const uint32_t& ip_protocol,
const int32_t& ip_ttl,
const int32_t& ip_tos,
const bool& ip_router_alert,
const vector<uint8_t>& payload,
const SendCB& cb
)
| send_send |
Send Xrl intended to:
Send an IPv4 packet on a raw socket.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
if_name | the interface to send the packet on. It is essential for multicast. In the unicast case this field may be empty. |
vif_name | the vif to send the packet on. It is essential for multicast. In the unicast case this field may be empty. |
src_address | the IP source address. |
dst_address | the IP destination address. |
ip_protocol | the IP protocol number. It must be between 1 and 255. |
ip_ttl | the IP TTL (hop-limit). If it has a negative value, the TTL will be set internally before transmission. |
ip_tos | the Type Of Service (Diffserv/ECN bits for IPv4). If it has a negative value, the TOS will be set internally before transmission. |
ip_router_alert | if true, then add the IP Router Alert option to the IP packet. |
payload | the payload, everything after the IP header and options. |
typedef XorpCallback1<void, const XrlError&>::RefPtr RegisterReceiverCB | RegisterReceiverCB |
bool send_register_receiver (
const char* dst_xrl_target_name,
const string& xrl_target_name,
const string& if_name,
const string& vif_name,
const uint32_t& ip_protocol,
const bool& enable_multicast_loopback,
const RegisterReceiverCB& cb
)
| send_register_receiver |
Send Xrl intended to:
Register to receive IPv4 packets. The receiver is expected to support raw_packet4_client/0.1 interface.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
xrl_target_name | the receiver's XRL target name. |
if_name | the interface through which packets should be accepted. |
vif_name | the vif through which packets should be accepted. |
ip_protocol | the IP protocol number that the receiver is interested in. It must be between 0 and 255. A protocol number of 0 is used to specify all protocols. |
enable_multicast_loopback | if true then enable delivering of multicast datagrams back to this host (assuming the host is a member of the same multicast group. |
typedef XorpCallback1<void, const XrlError&>::RefPtr UnregisterReceiverCB | UnregisterReceiverCB |
bool send_unregister_receiver (
const char* dst_xrl_target_name,
const string& xrl_target_name,
const string& if_name,
const string& vif_name,
const uint32_t& ip_protocol,
const UnregisterReceiverCB& cb
)
| send_unregister_receiver |
Send Xrl intended to:
Unregister to receive IPv4 packets.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
xrl_target_name | the receiver's XRL target name. |
if_name | the interface through which packets should not be accepted. |
vif_name | the vif through which packets should not be accepted. |
ip_protocol | the IP Protocol number that the receiver is not interested in anymore. It must be between 0 and 255. A protocol number of 0 is used to specify all protocols. |
typedef XorpCallback1<void, const XrlError&>::RefPtr JoinMulticastGroupCB | JoinMulticastGroupCB |
bool send_join_multicast_group (
const char* dst_xrl_target_name,
const string& xrl_target_name,
const string& if_name,
const string& vif_name,
const uint32_t& ip_protocol,
const IPv4& group_address,
const JoinMulticastGroupCB& cb
)
| send_join_multicast_group |
Send Xrl intended to:
Join an IPv4 multicast group.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
xrl_target_name | the receiver's XRL target name. |
if_name | the interface through which packets should be accepted. |
vif_name | the vif through which packets should be accepted. |
ip_protocol | the IP protocol number that the receiver is interested in. It must be between 0 and 255. A protocol number of 0 is used to specify all protocols. |
group_address | the multicast group address to join. |
typedef XorpCallback1<void, const XrlError&>::RefPtr LeaveMulticastGroupCB | LeaveMulticastGroupCB |
bool send_leave_multicast_group (
const char* dst_xrl_target_name,
const string& xrl_target_name,
const string& if_name,
const string& vif_name,
const uint32_t& ip_protocol,
const IPv4& group_address,
const LeaveMulticastGroupCB& cb
)
| send_leave_multicast_group |
Send Xrl intended to:
Leave an IPv4 multicast group.
Parameters:
dst_xrl_target_name | the Xrl target name of the destination. |
xrl_target_name | the receiver's XRL target name. |
if_name | the interface through which packets should not be accepted. |
vif_name | the vif through which packets should not be accepted. |
ip_protocol | the IP protocol number that the receiver is not interested in anymore. It must be between 0 and 255. A protocol number of 0 is used to specify all protocols. |
group_address | the multicast group address to leave. |
XrlSender* _sender | _sender |
[protected]