class ResponsePacketAssembler

Class for RIP Response Packet Assemblers. More...

Definition#include <packet_assembly.hh>
Template formResponsePacketAssembler<typename A>
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

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 ()

~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 ()

~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 ()

~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 Nov 6 23:47:08 2003, using kdoc 2.0a54+XORP.