class ResponsePacketAssembler

Class for RIP Response Packet Assemblers. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Types

Public Methods

Protected Methods

Protected Members


Detailed Description

Both RIPv2 and RIPng have some oddities in packing and this interface provides a consistent interface for that packing.

This class has specialized IPv4 and IPv6 implementations.

typedef A Addr

Addr

typedef IPNet<A> Net

Net

typedef PacketAssemblerSpecState<A> SpState

SpState

inline  ResponsePacketAssembler (Port<A>& p)

ResponsePacketAssembler

Constructor.

Parameters:

pPort to take configuration information from.
inline  ResponsePacketAssembler (SpState& sp)

ResponsePacketAssembler

Constructor.

Parameters:

spSpecialized state.
inline  ~ResponsePacketAssembler ()

~ResponsePacketAssembler

Destructor.

inline void  packet_start (RipPacket<A>* pkt)

packet_start

Start assembling RIP response packet.

inline bool  packet_add_route (const Net& net, const Addr& nexthop, uint16_t cost, uint16_t tag)

packet_add_route

Add a route to RIP response packet.

Returns: true if route was added, false if packet is full and would have indicated this if only packet_full was called.

inline bool  packet_full ()

packet_full

[const]

Ready-to-go accessor.

Returns: true if packet has no more space for route entries.

inline bool  packet_finish ()

packet_finish

Finish packet. Some packet types require final stage processing and this method gives that processing a chance to happen. Common usage is RIPv2 authentication.

Returns: true on success, false if a failure is detected.

RipPacket<A>* _p

_p

[protected]

uint32_t _pos

_pos

[protected]

SpState _sp_state

_sp_state

[protected]

template <> inline  ResponsePacketAssembler (Port<IPv4>& p)

ResponsePacketAssembler

[protected]

template <> inline  ResponsePacketAssembler (SpState& sp)

ResponsePacketAssembler

[protected]

template <> inline  ~ResponsePacketAssembler ()

~ResponsePacketAssembler

[protected]

template <> inline void  packet_start (RipPacket<IPv4>* p)

packet_start

[protected]

template <> inline bool  packet_full ()

packet_full

[protected const]

template <> inline bool  packet_add_route (const Net& net, const Addr& nexthop, uint16_t cost, uint16_t tag)

packet_add_route

[protected]

template <> inline bool  packet_finish ()

packet_finish

[protected]

template <> inline  ResponsePacketAssembler (Port<IPv6>& p)

ResponsePacketAssembler

[protected]

template <> inline  ResponsePacketAssembler (SpState& sp)

ResponsePacketAssembler

[protected]

template <> inline  ~ResponsePacketAssembler ()

~ResponsePacketAssembler

[protected]

template <> inline void  packet_start (RipPacket<IPv6>* p)

packet_start

[protected]

template <> inline bool  packet_full ()

packet_full

[protected const]

template <> inline bool  packet_add_route (const Net& net, const Addr& nexthop, uint16_t cost, uint16_t tag)

packet_add_route

[protected]

template <> inline bool  packet_finish ()

packet_finish

[protected]


Generated by: pavlin on possum.icir.org on Thu Jul 8 23:48:39 2004, using kdoc $.