|
xorp
|
Public Types | |
|
typedef XorpCallback1< void, const XrlError & >::RefPtr | SendCB |
|
typedef XorpCallback1< void, const XrlError & >::RefPtr | RegisterReceiverCB |
|
typedef XorpCallback1< void, const XrlError & >::RefPtr | UnregisterReceiverCB |
|
typedef XorpCallback1< void, const XrlError & >::RefPtr | JoinMulticastGroupCB |
|
typedef XorpCallback1< void, const XrlError & >::RefPtr | LeaveMulticastGroupCB |
|
typedef XorpCallback1< void, const XrlError & >::RefPtr | SendCB |
|
typedef XorpCallback1< void, const XrlError & >::RefPtr | RegisterReceiverCB |
|
typedef XorpCallback1< void, const XrlError & >::RefPtr | UnregisterReceiverCB |
|
typedef XorpCallback1< void, const XrlError & >::RefPtr | JoinMulticastGroupCB |
|
typedef XorpCallback1< void, const XrlError & >::RefPtr | LeaveMulticastGroupCB |
Public Member Functions | |
| XrlRawPacket4V0p1Client (XrlSender *s) | |
| 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 bool &ip_internet_control, const vector< uint8_t > &payload, const SendCB &cb) |
| Send Xrl intended to: | |
| bool | send_register_receiver (const char *dst_xrl_target_name, const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t &ip_protocol, const bool &enable_multicast_loopback, const RegisterReceiverCB &cb) |
| Send Xrl intended to: | |
| bool | send_unregister_receiver (const char *dst_xrl_target_name, const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t &ip_protocol, const UnregisterReceiverCB &cb) |
| Send Xrl intended to: | |
| bool | send_join_multicast_group (const char *dst_xrl_target_name, const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t &ip_protocol, const IPv4 &group_address, const JoinMulticastGroupCB &cb) |
| Send Xrl intended to: | |
| bool | send_leave_multicast_group (const char *dst_xrl_target_name, const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t &ip_protocol, const IPv4 &group_address, const LeaveMulticastGroupCB &cb) |
| Send Xrl intended to: | |
| XrlRawPacket4V0p1Client (XrlSender *s) | |
| 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 bool &ip_internet_control, const vector< uint8_t > &payload, const SendCB &cb) |
| Send Xrl intended to: | |
| bool | send_register_receiver (const char *dst_xrl_target_name, const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t &ip_protocol, const bool &enable_multicast_loopback, const RegisterReceiverCB &cb) |
| Send Xrl intended to: | |
| bool | send_unregister_receiver (const char *dst_xrl_target_name, const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t &ip_protocol, const UnregisterReceiverCB &cb) |
| Send Xrl intended to: | |
| bool | send_join_multicast_group (const char *dst_xrl_target_name, const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t &ip_protocol, const IPv4 &group_address, const JoinMulticastGroupCB &cb) |
| Send Xrl intended to: | |
| bool | send_leave_multicast_group (const char *dst_xrl_target_name, const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t &ip_protocol, const IPv4 &group_address, const LeaveMulticastGroupCB &cb) |
| Send Xrl intended to: | |
Protected Attributes | |
| XrlSender * | _sender |
Static Private Member Functions | |
| static void | unmarshall_send (const XrlError &e, XrlArgs *a, SendCB cb) |
| static void | unmarshall_register_receiver (const XrlError &e, XrlArgs *a, RegisterReceiverCB cb) |
| static void | unmarshall_unregister_receiver (const XrlError &e, XrlArgs *a, UnregisterReceiverCB cb) |
| static void | unmarshall_join_multicast_group (const XrlError &e, XrlArgs *a, JoinMulticastGroupCB cb) |
| static void | unmarshall_leave_multicast_group (const XrlError &e, XrlArgs *a, LeaveMulticastGroupCB cb) |
| static void | unmarshall_send (const XrlError &e, XrlArgs *a, SendCB cb) |
| static void | unmarshall_register_receiver (const XrlError &e, XrlArgs *a, RegisterReceiverCB cb) |
| static void | unmarshall_unregister_receiver (const XrlError &e, XrlArgs *a, UnregisterReceiverCB cb) |
| static void | unmarshall_join_multicast_group (const XrlError &e, XrlArgs *a, JoinMulticastGroupCB cb) |
| static void | unmarshall_leave_multicast_group (const XrlError &e, XrlArgs *a, LeaveMulticastGroupCB cb) |
Private Attributes | |
| auto_ptr< Xrl > | ap_xrl_send |
| auto_ptr< Xrl > | ap_xrl_register_receiver |
| auto_ptr< Xrl > | ap_xrl_unregister_receiver |
| auto_ptr< Xrl > | ap_xrl_join_multicast_group |
| auto_ptr< Xrl > | ap_xrl_leave_multicast_group |
| bool XrlRawPacket4V0p1Client::send_join_multicast_group | ( | const char * | dst_xrl_target_name, |
| const string & | xrl_target_instance_name, | ||
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ip_protocol, | ||
| const IPv4 & | group_address, | ||
| const JoinMulticastGroupCB & | cb | ||
| ) |
Join an IPv4 multicast group.
| dst_xrl_target_name | the Xrl target name of the destination. |
| xrl_target_instance_name | the receiver's XRL target instance 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. |
| bool XrlRawPacket4V0p1Client::send_join_multicast_group | ( | const char * | dst_xrl_target_name, |
| const string & | xrl_target_instance_name, | ||
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ip_protocol, | ||
| const IPv4 & | group_address, | ||
| const JoinMulticastGroupCB & | cb | ||
| ) |
Join an IPv4 multicast group.
| dst_xrl_target_name | the Xrl target name of the destination. |
| xrl_target_instance_name | the receiver's XRL target instance 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. |
| bool XrlRawPacket4V0p1Client::send_leave_multicast_group | ( | const char * | dst_xrl_target_name, |
| const string & | xrl_target_instance_name, | ||
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ip_protocol, | ||
| const IPv4 & | group_address, | ||
| const LeaveMulticastGroupCB & | cb | ||
| ) |
Leave an IPv4 multicast group.
| dst_xrl_target_name | the Xrl target name of the destination. |
| xrl_target_instance_name | the receiver's XRL target instance 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. |
| bool XrlRawPacket4V0p1Client::send_leave_multicast_group | ( | const char * | dst_xrl_target_name, |
| const string & | xrl_target_instance_name, | ||
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ip_protocol, | ||
| const IPv4 & | group_address, | ||
| const LeaveMulticastGroupCB & | cb | ||
| ) |
Leave an IPv4 multicast group.
| dst_xrl_target_name | the Xrl target name of the destination. |
| xrl_target_instance_name | the receiver's XRL target instance 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. |
| bool XrlRawPacket4V0p1Client::send_register_receiver | ( | const char * | dst_xrl_target_name, |
| const string & | xrl_target_instance_name, | ||
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ip_protocol, | ||
| const bool & | enable_multicast_loopback, | ||
| const RegisterReceiverCB & | cb | ||
| ) |
Register to receive IPv4 packets. The receiver is expected to support raw_packet4_client/0.1 interface.
| dst_xrl_target_name | the Xrl target name of the destination. |
| xrl_target_instance_name | the receiver's XRL target instance 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. |
| bool XrlRawPacket4V0p1Client::send_register_receiver | ( | const char * | dst_xrl_target_name, |
| const string & | xrl_target_instance_name, | ||
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ip_protocol, | ||
| const bool & | enable_multicast_loopback, | ||
| const RegisterReceiverCB & | cb | ||
| ) |
Register to receive IPv4 packets. The receiver is expected to support raw_packet4_client/0.1 interface.
| dst_xrl_target_name | the Xrl target name of the destination. |
| xrl_target_instance_name | the receiver's XRL target instance 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. |
| bool XrlRawPacket4V0p1Client::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 bool & | ip_internet_control, | ||
| const vector< uint8_t > & | payload, | ||
| const SendCB & | cb | ||
| ) |
Send an IPv4 packet on a raw socket.
| 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. |
| ip_internet_control | if true, then this is IP control traffic. |
| payload | the payload, everything after the IP header and options. |
| bool XrlRawPacket4V0p1Client::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 bool & | ip_internet_control, | ||
| const vector< uint8_t > & | payload, | ||
| const SendCB & | cb | ||
| ) |
Send an IPv4 packet on a raw socket.
| 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. |
| ip_internet_control | if true, then this is IP control traffic. |
| payload | the payload, everything after the IP header and options. |
| bool XrlRawPacket4V0p1Client::send_unregister_receiver | ( | const char * | dst_xrl_target_name, |
| const string & | xrl_target_instance_name, | ||
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ip_protocol, | ||
| const UnregisterReceiverCB & | cb | ||
| ) |
Unregister to receive IPv4 packets.
| dst_xrl_target_name | the Xrl target name of the destination. |
| xrl_target_instance_name | the receiver's XRL target instance 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. |
| bool XrlRawPacket4V0p1Client::send_unregister_receiver | ( | const char * | dst_xrl_target_name, |
| const string & | xrl_target_instance_name, | ||
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ip_protocol, | ||
| const UnregisterReceiverCB & | cb | ||
| ) |
Unregister to receive IPv4 packets.
| dst_xrl_target_name | the Xrl target name of the destination. |
| xrl_target_instance_name | the receiver's XRL target instance 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. |