class XrlRawSocket6Manager
|
A class that manages raw sockets as used by the XORP Xrl Interface.
More... |
|
|
Public Methods
- XrlRawSocket6Manager (EventLoop& eventloop, InterfaceManager& ifmgr,
XrlRouter& xr)
- ~XrlRawSocket6Manager ()
- XrlCmdError send (const IPv6& src,
const IPv6& dst,
const string& vifname,
uint8_t proto,
uint8_t tclass,
uint8_t hoplimit,
const vector<uint8_t>& hopopts,
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 map<uint8_t, FilterRawSocket6*> SocketTable6
- typedef multimap<string, XrlRawSocket6Filter*> FilterBag6
Protected Methods
- void erase_filters (const FilterBag6::iterator& begin,
const FilterBag6::iterator& end)
Protected Members
The XrlRawSocket6Manager 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 (FilterRawSocket6) is created if necessary,
then the relevent filter is created and associated with the
RawSocket.
Contructor for XrlRawSocket6Manager instances.
May throw RawSocket6Exception since a raw socket is contructed and
this requires root privelage.
~XrlRawSocket6Manager ()
| ~XrlRawSocket6Manager |
XrlCmdError send (const IPv6& src,
const IPv6& dst,
const string& vifname,
uint8_t proto,
uint8_t tclass,
uint8_t hoplimit,
const vector<uint8_t>& hopopts,
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]
SocketTable6 _sockets
| _sockets |
[protected]
[protected]
FilterBag6 _filters
| _filters |
[protected]
void erase_filters (const FilterBag6::iterator& begin,
const FilterBag6::iterator& end)
| erase_filters |
[protected]
Generated by: pavlin on possum.icir.org on Wed Apr 13 21:53:05 2005, using kdoc $.