xorp

XrlRawLinkV0p1Client Class Reference

List of all members.

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

 XrlRawLinkV0p1Client (XrlSender *s)
bool send_send (const char *dst_xrl_target_name, const string &if_name, const string &vif_name, const Mac &src_address, const Mac &dst_address, const uint32_t &ether_type, 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 &ether_type, const string &filter_program, 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 &ether_type, const string &filter_program, 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 &ether_type, const string &filter_program, const Mac &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 &ether_type, const string &filter_program, const Mac &group_address, const LeaveMulticastGroupCB &cb)
 Send Xrl intended to:
 XrlRawLinkV0p1Client (XrlSender *s)
bool send_send (const char *dst_xrl_target_name, const string &if_name, const string &vif_name, const Mac &src_address, const Mac &dst_address, const uint32_t &ether_type, 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 &ether_type, const string &filter_program, 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 &ether_type, const string &filter_program, 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 &ether_type, const string &filter_program, const Mac &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 &ether_type, const string &filter_program, const Mac &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< Xrlap_xrl_send
auto_ptr< Xrlap_xrl_register_receiver
auto_ptr< Xrlap_xrl_unregister_receiver
auto_ptr< Xrlap_xrl_join_multicast_group
auto_ptr< Xrlap_xrl_leave_multicast_group

Member Function Documentation

bool XrlRawLinkV0p1Client::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 &  ether_type,
const string &  filter_program,
const Mac group_address,
const JoinMulticastGroupCB &  cb 
)

Send Xrl intended to:

Join a MAC multicast group.

Parameters:
dst_xrl_target_namethe Xrl target name of the destination.
xrl_target_instance_namethe receiver's XRL target instance name.
if_namethe interface through which packets should be accepted.
vif_namethe vif through which packets should be accepted.
ether_typethe EtherType protocol number or the Destination SAP that the receiver is interested in. It must be between 1536 and 65535 to specify the EtherType, or between 1 and 255 to specify the Destination SAP for IEEE 802.2 LLC frames. A protocol number of 0 is used to specify all protocols.
filter_programthe optional filter program to be applied on the received packets. The program uses tcpdump(1) style expression.
group_addressthe multicast group address to join.
bool XrlRawLinkV0p1Client::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 &  ether_type,
const string &  filter_program,
const Mac group_address,
const JoinMulticastGroupCB &  cb 
)

Send Xrl intended to:

Join a MAC multicast group.

Parameters:
dst_xrl_target_namethe Xrl target name of the destination.
xrl_target_instance_namethe receiver's XRL target instance name.
if_namethe interface through which packets should be accepted.
vif_namethe vif through which packets should be accepted.
ether_typethe EtherType protocol number or the Destination SAP that the receiver is interested in. It must be between 1536 and 65535 to specify the EtherType, or between 1 and 255 to specify the Destination SAP for IEEE 802.2 LLC frames. A protocol number of 0 is used to specify all protocols.
filter_programthe optional filter program to be applied on the received packets. The program uses tcpdump(1) style expression.
group_addressthe multicast group address to join.
bool XrlRawLinkV0p1Client::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 &  ether_type,
const string &  filter_program,
const Mac group_address,
const LeaveMulticastGroupCB &  cb 
)

Send Xrl intended to:

Leave a MAC multicast group.

Parameters:
dst_xrl_target_namethe Xrl target name of the destination.
xrl_target_instance_namethe receiver's XRL target instance name.
if_namethe interface through which packets should not be accepted.
vif_namethe vif through which packets should not be accepted.
ether_typethe EtherType protocol number or the Destination SAP that the receiver is not interested in anymore. It must be between 1536 and 65535 to specify the EtherType, or between 1 and 255 to specify the Destination SAP for IEEE 802.2 LLC frames. A protocol number of 0 is used to specify all protocols.
filter_programthe filter program that was applied on the received packets. The program uses tcpdump(1) style expression.
group_addressthe multicast group address to leave.
bool XrlRawLinkV0p1Client::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 &  ether_type,
const string &  filter_program,
const Mac group_address,
const LeaveMulticastGroupCB &  cb 
)

Send Xrl intended to:

Leave a MAC multicast group.

Parameters:
dst_xrl_target_namethe Xrl target name of the destination.
xrl_target_instance_namethe receiver's XRL target instance name.
if_namethe interface through which packets should not be accepted.
vif_namethe vif through which packets should not be accepted.
ether_typethe EtherType protocol number or the Destination SAP that the receiver is not interested in anymore. It must be between 1536 and 65535 to specify the EtherType, or between 1 and 255 to specify the Destination SAP for IEEE 802.2 LLC frames. A protocol number of 0 is used to specify all protocols.
filter_programthe filter program that was applied on the received packets. The program uses tcpdump(1) style expression.
group_addressthe multicast group address to leave.
bool XrlRawLinkV0p1Client::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 &  ether_type,
const string &  filter_program,
const bool &  enable_multicast_loopback,
const RegisterReceiverCB &  cb 
)

Send Xrl intended to:

Register to receive raw link-level packets. The receiver is expected to support raw_link_client/0.1 interface.

Parameters:
dst_xrl_target_namethe Xrl target name of the destination.
xrl_target_instance_namethe receiver's XRL target instance name.
if_namethe interface through which packets should be accepted.
vif_namethe vif through which packets should be accepted.
ether_typethe EtherType protocol number or the Destination SAP that the receiver is interested in. It must be between 1536 and 65535 to specify the EtherType, or between 1 and 255 to specify the Destination SAP for IEEE 802.2 LLC frames. A protocol number of 0 is used to specify all protocols.
filter_programthe optional filter program to be applied on the received packets. The program uses tcpdump(1) style expression.
enable_multicast_loopbackif true then enable delivering of multicast datagrams back to this host (assuming the host is a member of the same multicast group).
bool XrlRawLinkV0p1Client::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 &  ether_type,
const string &  filter_program,
const bool &  enable_multicast_loopback,
const RegisterReceiverCB &  cb 
)

Send Xrl intended to:

Register to receive raw link-level packets. The receiver is expected to support raw_link_client/0.1 interface.

Parameters:
dst_xrl_target_namethe Xrl target name of the destination.
xrl_target_instance_namethe receiver's XRL target instance name.
if_namethe interface through which packets should be accepted.
vif_namethe vif through which packets should be accepted.
ether_typethe EtherType protocol number or the Destination SAP that the receiver is interested in. It must be between 1536 and 65535 to specify the EtherType, or between 1 and 255 to specify the Destination SAP for IEEE 802.2 LLC frames. A protocol number of 0 is used to specify all protocols.
filter_programthe optional filter program to be applied on the received packets. The program uses tcpdump(1) style expression.
enable_multicast_loopbackif true then enable delivering of multicast datagrams back to this host (assuming the host is a member of the same multicast group).
bool XrlRawLinkV0p1Client::send_send ( const char *  dst_xrl_target_name,
const string &  if_name,
const string &  vif_name,
const Mac src_address,
const Mac dst_address,
const uint32_t &  ether_type,
const vector< uint8_t > &  payload,
const SendCB &  cb 
)

Send Xrl intended to:

Send a raw link-level packet on an interface.

Parameters:
dst_xrl_target_namethe Xrl target name of the destination.
if_namethe interface to send the packet on.
vif_namethe vif to send the packet on.
src_addressthe MAC source address.
dst_addressthe MAC destination address.
ether_typethe EtherType protocol type or the Destination SAP. It must be between 1536 and 65535 to specify the EtherType, or between 1 and 255 to specify the Destination SAP IEEE 802.2 LLC frames.
payloadthe payload, everything after the MAC header.
bool XrlRawLinkV0p1Client::send_send ( const char *  dst_xrl_target_name,
const string &  if_name,
const string &  vif_name,
const Mac src_address,
const Mac dst_address,
const uint32_t &  ether_type,
const vector< uint8_t > &  payload,
const SendCB &  cb 
)

Send Xrl intended to:

Send a raw link-level packet on an interface.

Parameters:
dst_xrl_target_namethe Xrl target name of the destination.
if_namethe interface to send the packet on.
vif_namethe vif to send the packet on.
src_addressthe MAC source address.
dst_addressthe MAC destination address.
ether_typethe EtherType protocol type or the Destination SAP. It must be between 1536 and 65535 to specify the EtherType, or between 1 and 255 to specify the Destination SAP IEEE 802.2 LLC frames.
payloadthe payload, everything after the MAC header.
bool XrlRawLinkV0p1Client::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 &  ether_type,
const string &  filter_program,
const UnregisterReceiverCB &  cb 
)

Send Xrl intended to:

Unregister to receive raw link-level packets.

Parameters:
dst_xrl_target_namethe Xrl target name of the destination.
xrl_target_instance_namethe receiver's XRL target instance name.
if_namethe interface through which packets should not be accepted.
vif_namethe vif through which packets should not be accepted.
ether_typethe EtherType protocol number or the Destination SAP that the receiver is not interested in anymore. It must be between 1536 and 65535 to specify the EtherType, or between 1 and 255 to specify the Destination SAP for IEEE 802.2 LLC frames. A protocol number of 0 is used to specify all protocols.
filter_programthe filter program that was applied on the received packets. The program uses tcpdump(1) style expression.
bool XrlRawLinkV0p1Client::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 &  ether_type,
const string &  filter_program,
const UnregisterReceiverCB &  cb 
)

Send Xrl intended to:

Unregister to receive raw link-level packets.

Parameters:
dst_xrl_target_namethe Xrl target name of the destination.
xrl_target_instance_namethe receiver's XRL target instance name.
if_namethe interface through which packets should not be accepted.
vif_namethe vif through which packets should not be accepted.
ether_typethe EtherType protocol number or the Destination SAP that the receiver is not interested in anymore. It must be between 1536 and 65535 to specify the EtherType, or between 1 and 255 to specify the Destination SAP for IEEE 802.2 LLC frames. A protocol number of 0 is used to specify all protocols.
filter_programthe filter program that was applied on the received packets. The program uses tcpdump(1) style expression.

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations