nr_retransmit_config_t Struct Reference

#include <client.h>

Data Fields

int irt
int mrt
int mrd
int mrc

Detailed Description

Configuration for retransmitting a request.

See RFC 5080 Section 2.2.1 for the meaning of the individual fields. The times given in these fields are used as a basis for the calculations, and are not fixed (i.e. absolute) values. The RFC requires that "jitter" be added, so that retransmissions do not "clump" together.

The functions that take this structure as an argument also accept a NULL pointer instead of a pointer to this structure. In that case, those functions use "default" values. You should nearly always use NULL, as changing the default values is not recommended.

If you do need to change these value, we recommend first changing only nr_transmit_config_t::mrd, to set the maximum retransmit duration. Set the other values to the defaults recommended below.

It is possible to change the nr_transmit_config_t::mrc field, but we recommend always leaving it at the default value.

The nr_transmit_config_t::irt and nr_retransmit_config_t::mrt fields should never be changed from the defaults. They are here solely for completeness of the API.

Field Documentation

int nr_retransmit_config_t::irt

Initial Retransmission Time

The time in seconds between the initial packet, and the first retransmit. It should be between 2 and 5. Other values may cause problems in the network.

Defaults to 2s.

int nr_retransmit_config_t::mrc

Maximum Retransmission Count

The maximum number of retranmissions. It it is zero, the packet will be retransmitted forever, or until nr_retransmit_config_t::mrd is reached.

It should either be zero (only for accounting packets), or be between 3 and 8. Other values may cause problems in the network.

If accounting packets have an Acct-Delay-Time field, then retransmits will cause that field to be updated, requiring that the RADIUS_PACKET::id field changes. When that happens, the "retransmit" count is set to zero, which means that this field is ignored.

In short, this field should be zero for accounting packets. Use nr_retransmit_config_t::mrd instead to limit the accounting retransmissions.

Defaults to 5 attempts.

int nr_retransmit_config_t::mrd

Maximum Retransmission Duration

The maximum duration in seconds for sending retransmissions. It it is zero, the packet will be retransmitted forever, or until nr_retransmit_config_t::mrc is reached.

It should either be zero, or be between 5 and 30. After 30 seconds, most users will have given up on the authentication process.

Defaults to 30s.

Accounting-Request packets use a default of 0. (transmit forever)

int nr_retransmit_config_t::mrt

Maximum Retransmission Time

The maximum time in seconds between subsequent retransmissions. It should be between 6 and 16. Other values may cause problems in the network.

Defaults to 16s.

The documentation for this struct was generated from the following file: