class XrlRawSocket4Manager

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

Definition#include <xrl_rawsock4.hh>
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Protected Types

Protected Methods

Protected Members


Detailed Description

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.