class XrlRawSocket4Manager
|
A class that manages raw sockets as used by the XORP Xrl Interface.
More... |
|
|
Public Methods
- XrlRawSocket4Manager (EventLoop& eventloop, InterfaceManager& ifmgr,
XrlRouter& xr)
- ~XrlRawSocket4Manager ()
- XrlCmdError send (const string& vifname, const vector<uint8_t>& packet)
- 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)
- XrlCmdError register_vif_receiver (const string& tgt,
const string& ifname,
const string& vifname,
const uint32_t& proto)
- XrlCmdError unregister_vif_receiver (const string& tgt,
const string& ifname,
const string& vifname,
const uint32_t& proto)
- XrlRouter& router ()
- InterfaceManager& ifmgr ()
- void xrl_vif_send_handler (const XrlError& e, string tgt_name)
Protected Types
- typedef multimap<string, XrlRawSocket4Filter*> FilterBag4
Protected Methods
- void erase_filters (const FilterBag4::iterator& begin,
const FilterBag4::iterator& end)
Protected Members
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.
Contructor for XrlRawSocket4Manager instances.
May throw RawSocket4Exception 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 |
void xrl_vif_send_handler (const XrlError& e, string tgt_name)
| xrl_vif_send_handler |
[protected]
[protected]
[protected]
[protected]
[protected]
FilterBag4 _filters
| _filters |
[protected]
void erase_filters (const FilterBag4::iterator& begin,
const FilterBag4::iterator& end)
| erase_filters |
[protected]
Generated by: pavlin on possum.icir.org on Wed Apr 13 21:53:05 2005, using kdoc $.