| 
 | 
 | ||||||||||||||||
Class to hold MD5 key information.
| MD5Key (uint8_t		key_id,
	       const string&	key,
	       const TimeVal&	start_timeval,
	       const TimeVal&	end_timeval,
	       const TimeVal&	max_time_drift,
	       XorpTimer	start_timer,
	       XorpTimer	end_timer) | MD5Key | 
Construct an MD5 Key.
Parameters:
| key_id | unique ID associated with key. | 
| key | phrase used for MD5 digest computation. | 
| start_timeval | start time when key becomes valid. | 
| end_timeval | end time when key becomes invalid. | 
| max_time_drift | the maximum time drift among all routers. | 
| start_timer | the timer to mark when the key becomes valid. | 
| end_timer | the timer to mark when the key becomes invalid. | 
| uint8_t	 id () | id | 
[const]
Get the ID associated with the key.
| const char*	 key_data () | key_data | 
[const]
Get pointer to key data. The data is of size KEY_BYTES.
| uint32_t	 key_data_bytes () | key_data_bytes | 
[const]
Get the size of the key data in bytes.
| string	 	 key () | key | 
[const]
| const TimeVal&	 start_timeval () | start_timeval | 
[const]
Get the start time of the key.
| const TimeVal&	 end_timeval () | end_timeval | 
[const]
| const TimeVal&	 max_time_drift () | max_time_drift | 
[const]
Get the maximum time drift among all routers.
| bool		 is_persistent () | is_persistent | 
[const]
Get indication of whether key is persistent.
| void		 set_persistent (bool v) | set_persistent | 
Set the flag whether the key is persistent.
Parameters:
| v | if true the key is persistent. | 
| bool		 id_matches (uint8_t o) | id_matches | 
[const]
Get whether ID matches a particular value (convenient for STL algorithms).
| bool		 valid_at (const TimeVal& when) | valid_at | 
[const]
Get key validity status of key at a particular time.
Parameters:
| when | the time to test whether the key is valid. | 
| void		 reset () | reset | 
Reset the key for all sources.
| void		 reset (const IPv4& src_addr) | reset | 
Reset the key for a particular source.
Parameters:
| src_addr | the source address. | 
| bool		 packets_received (const IPv4& src_addr) | packets_received | 
[const]
Indicate whether valid packets have been received from a source with this key ID.
Parameters:
| src_addr | the source address. | 
Returns: true if a packet has been received from the source, otherwise false.
| uint32_t	 last_seqno_recv (const IPv4& src_addr) | last_seqno_recv | 
[const]
Get last received sequence number from a source.
Parameters:
| src_addr | the source address. | 
Returns: last sequence number seen from the source. Value may be garbage if no packets have been received (check first with packets_received()).
| void		 set_last_seqno_recv (const IPv4& src_addr,
					    uint32_t seqno) | set_last_seqno_recv | 
Set last sequence number received from a source. This method implicitly set packets received to true.
Parameters:
| src_addr | the source address. | 
| seqno | the last sequence number received from the source. | 
| uint32_t  next_seqno_out () | next_seqno_out | 
Get next sequence number for outbound packets. The counter is automatically updated with each call of this method.
| static const uint32_t KEY_BYTES | KEY_BYTES | 
[protected]
| uint8_t _id | _id | 
[protected]
| char _key_data[KEY_BYTES] | _key_data[KEY_BYTES] | 
[protected]
| TimeVal _start_timeval | _start_timeval | 
[protected]
| TimeVal _end_timeval | _end_timeval | 
[protected]
| TimeVal _max_time_drift | _max_time_drift | 
[protected]
| bool _is_persistent | _is_persistent | 
[protected]
| map<IPv4, bool> _pkts_recv | _pkts_recv | 
[protected]
| map<IPv4, uint32_t> _lr_seqno | _lr_seqno | 
[protected]
| uint32_t _o_seqno | _o_seqno | 
[protected]
| XorpTimer _start_timer | _start_timer | 
[protected]
| XorpTimer _stop_timer | _stop_timer | 
[protected]
| friend class MD5AuthHandler | MD5AuthHandler | 
[protected]