|
|
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 Mon Mar 10 19:34:57 2003, using kdoc 2.0a54+XORP. |