RADIUS-S Messages
Introduction
The RadiusApp uses RADIUS-S-… messages to communicate with other applications (such as the LogicApp) to handle inbound RADIUS requests received from an external RADIUS Client.
The following LuaApp services from the core n2svcd
module handle messages
from RadiusApp.
RadiusLuaService
(handles inbound RADIUS requests within LogicApp)
The internal RADIUS-S-… messages are:
RADIUS-S-REQUEST
RADIUS-S-RESPONSE
Note that this page uses the term “on-the-wire” to refer to the sending or receiving of RADIUS content by the RadiusApp. This term is also inclusive of the case where the message is sent by local loopback and does not physically transit a Network Interface Controller (NIC).
RADIUS-S-REQUEST
The RADIUS-S-REQUEST
message is sent by RadiusApp to the application that is configured
for handling of inbound RADIUS requests.
Refer to the RadiusApp Configuration documentation for more information on setting default parameters.
The attributes of the RADIUS-S-REQUEST
message are:
Attribute | Type | Description |
---|---|---|
radius
|
Object | Container for the parameters of the RADIUS request that we have received. |
.bytes
|
Object | [Required] The raw on-the-wire RADIUS request bytes. |
.connection
|
String | Container for connection information. |
.remote_ip
|
String | The remote dot-notation IP address from which the RADIUS request was received. |
.remote_port
|
Integer | The remote UDP port from which the RADIUS request was received. |
.name
|
String |
The name of the RADIUS packet type, e.g. Access-Request .This field will only be populated if the packet type is supported within N2::RADIUS::Codec .
|
.code
|
Integer | [Required] The packet type identifier from the received request. |
.attributes
|
Array of Object | Array of RADIUS attribute objects, each with the following fields. |
[].name
|
String |
The name of the RADIUS attribute, e.g. User-Name .This field will only be populated if the attribute is supported within N2::RADIUS::Codec .
|
[].type
|
Integer | [Required] The code that identifies the RADIUS attribute. |
[].vendor_id
|
Integer |
The identifier of the vendor that defines the attribute if the attribute is a vendor-specific attribute. This field will only be present if the attribute is supported in N2::RADIUS::Codec .
|
[].type
|
String |
[Required] One of enum , ifid , integer , ipv4addr , ipv4prefix ,
ipv6addr , ipv6prefix , string , other , text ,
time , unknown .
|
[].value
|
Various |
[Required] The attribute's value. For most attributes this will be a SCALAR of the appropriate type. For attributes with data type other this may be a HASH.
|
[].value_name
|
String |
The name associated with [].value .This field will only be present if the attribute [].data_type is enum and the value mapping is defined in N2::RADIUS::Codec .
|
RADIUS-S-RESPONSE
The RADIUS-S-RESPONSE
message is sent back to the RadiusApp by the handling application
when it is ready to send a RADIUS Response to the original received RADIUS Request.
The attributes of the RADIUS-S-RESPONSE
message are:
Field | Type | Description |
---|---|---|
success
|
0 /1
|
[Required] Indicates if the request handling was successful or not. |
error
|
String |
Indicates the reason why the request handling failed. Present and applicable only if success == 0 .
|
radius
|
Object |
Container for the RADIUS response parameters we are to send. Present only if success == 1 and a response is to be sent.
|
.name
|
String |
The RADIUS packet type name of the response to send, e.g. Access-Accept .This must be the name of a supported packet type within N2::RADIUS::Codec .If the packet type is not supported, you may instead specify .code .
|
.code
|
Integer |
The RADIUS packet type code, e.g. 2 for Access-Accept .
|
.attributes
|
Array of Object |
Array of RADIUS attribute objects to include in the response, each with the fields described as for RADIUS-S-REQUEST .
|
The other attributes of the RADIUS response are automatically determined by the RadiusApp
.