Fwd: [PATCH] Define the NAS-Port-Id RADIUS attribute.
Nick Lowe
nick.lowe at lugatech.com
Sun Feb 7 03:21:43 PST 2016
Forgot to copy the list in, oops.
So the salient point here: if the NAS-Port and NAS-Port-Id was going
to change while populated with ifindex and ifname, we would expect to
see a Stop and a Start for the related session with the same
Acct-Multi-Session-Id.
Cheers,
Nick
On Sun, Feb 7, 2016 at 10:46 AM, Nick Lowe <nick.lowe at lugatech.com> wrote:
> Hi Jouni,
>
> It is perfectly legal and good practice to send both. The 'or'
> definitely does not mean one-or-the-other.
>
> We see the same language used with:
>
> "Either NAS-IP-Address or NAS-Identifier MUST be present in a RADIUS
> Accounting-Request."
>
> Later, however, we see:
>
> "[Note 1] An Accounting-Request MUST contain either a NAS-IP-Address
> or a NAS-Identifier (or both)."
>
> The or there does not mean one-or-the-other. It is poorly worded.
>
> There is also clarification of expected behaviour is in RFC 3580 for
> NAS-Port and NAS-Port-ID.
>
> 3.4. NAS-Port
>
> For use with IEEE 802.1X the NAS-Port will contain the port number of
> the bridge, if this is available. While an Access Point does not
> have physical ports, a unique "association ID" is assigned to every
> mobile Station upon a successful association exchange. As a result,
> for an Access Point, if the association exchange has been completed
> prior to authentication, the NAS-Port attribute will contain the
> association ID, which is a 16-bit unsigned integer. Where IEEE
> 802.1X authentication occurs prior to association, a unique NAS-Port
> value may not be available.
>
> 3.29. NAS-Port-Id
>
> This attribute is used to identify the IEEE 802.1X Authenticator port
> which authenticates the Supplicant. The NAS-Port-Id differs from the
> NAS-Port in that it is a string of variable length whereas the NAS-
> Port is a 4 octet value.
>
> Conceptually and abstractly, the NAS-Port should contain the
> association id only when it is available. When it is not, we need to
> do something sensible.
> Presently, hostap will usually always send 0, which is invalid. It
> makes more sense to send the ifindex rather than omit the attribute.
> This allows us to distinguish sessions by virtual interface (aka VAP)
> at the RADIUS server. It is useful from a compartmentalisation
> perspective, and can be used when constructing a GUI to show live
> sessions that are being accounted for.
>
> The NAS-Port-Id, again allows us to distinguish sessions by virtual
> interface (aka VAP), but can contain a human readable and friendly
> ifname showing the radio and virtual interface index.
> For example: wifi0.1, wifi1.1
>
> It is again useful from a compartmentalisation perspective, and can be
> used when constructing a GUI to show live sessions that are being
> accounted for - this time with that friendly name.
>
> The key point is that we should not change the value of the NAS-Port
> attribute that is accounted with once we start sending it for an
> individual session. This is because breaks many, many things at RADIUS
> servers in the default configuration.
>
> For example:
>
> http://freeradius.org/radiusd/man/rlm_acct_unique.txt
>
> When a related session is created, however, for which we must see a
> Stop and a Start and with the same Acct-Multi-Session-Id, it is
> perfectly fine and usually expected for the value to be different.
>
> Cheers,
>
> Nick
More information about the Hostap
mailing list