class XrlRawSocket6Manager

A class that manages raw sockets as used by the XORP Xrl Interface. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Types

Protected Methods

Protected Members


Detailed Description

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.

 XrlRawSocket6Manager (EventLoop& eventloop, InterfaceManager& ifmgr, XrlRouter& xr)
throw (RawSocket6Exception)

XrlRawSocket6Manager

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

XrlRouter&  router ()

router

InterfaceManager&  ifmgr ()

ifmgr

void  xrl_vif_send_handler (const XrlError& e, string tgt_name)

xrl_vif_send_handler

EventLoop& _eventloop

_eventloop

[protected]

InterfaceManager& _ifmgr

_ifmgr

[protected]

XrlRouter& _xrlrouter

_xrlrouter

[protected]

typedef map<uint8_t, FilterRawSocket6*> SocketTable6

SocketTable6

[protected]

SocketTable6 _sockets

_sockets

[protected]

typedef multimap<string, XrlRawSocket6Filter*> FilterBag6

FilterBag6

[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 $.