|
|
The XrlRawSocket4Manager has two containers: a container for raw sockets indexed by the protocol associated with the raw socket, and a container for the filters associated with each xrl_target. When an Xrl Target registers for interest in a particular type of raw packet a raw socket (FilterRawSocket4) is created if necessary, then the relevent filter is created and associated with the RawSocket.
XrlRawSocket4Manager (EventLoop& e, InterfaceManager& ifmgr, XrlRouter& xr)
throw (RawSocketException) | XrlRawSocket4Manager |
Contructor for XrlRawSocket4Manager instances.
May throw RawSocketException since a raw socket is contructed and this requires root privelage.
~XrlRawSocket4Manager ()
| ~XrlRawSocket4Manager |
XrlCmdError send (const string& vifname, const vector<uint8_t>& packet)
| send |
XrlCmdError send (const IPv4& src_address,
const IPv4& dst_address,
const string& vifname,
const uint32_t& proto,
const uint32_t& ttl,
const uint32_t& tos,
const vector<uint8_t>& options,
const vector<uint8_t>& payload)
| send |
XrlCmdError register_vif_receiver (const string& tgt,
const string& ifname,
const string& vifname,
const uint32_t& proto)
| register_vif_receiver |
XrlCmdError unregister_vif_receiver (const string& tgt,
const string& ifname,
const string& vifname,
const uint32_t& proto)
| unregister_vif_receiver |
XrlRouter& router ()
| router |
InterfaceManager& ifmgr ()
| ifmgr |
void xrl_vif_send_handler (const XrlError& e, string tgt_name)
| xrl_vif_send_handler |
EventLoop& _e | _e |
[protected]
InterfaceManager& _ifmgr | _ifmgr |
[protected]
XrlRouter& _xrlrouter | _xrlrouter |
[protected]
FilterRawSocket4 _rs | _rs |
[protected]
typedef multimap<string, XrlRawSocketFilter*> FilterBag | FilterBag |
[protected]
FilterBag _filters | _filters |
[protected]
void erase_filters (const FilterBag::iterator& begin,
const FilterBag::iterator& end)
| erase_filters |
[protected]
Generated by: pavlin on possum.icir.org on Thu Nov 6 23:46:57 2003, using kdoc 2.0a54+XORP. |