F5BigSubscriberAttribute

Overview

The F5BigSubscriberAttribute Custom Resource (CR) declares a well-known subscriber session attribute and whether the system should import it from incoming control-plane messages and/or export it to outgoing messages. Subscriber attributes are the fields stored in the subscriber session (for example, imsi, ip-address, user-name) and are used by Policy Enforcement, reporting, and logging. RADIUS protocol profiles reference these attributes by name to map parsed AVP values into the subscriber session.

This document guides you through understanding, configuring and deploying a simple F5BigSubscriberAttribute CR.

Parameters

The following tables describe the F5BigSubscriberAttribute CR parameters.

metadata

Parameter Description
name The unique name of the Subscriber Attribute. This value is referenced by protocol profiles (for example, in radiusMessages.attributeList.subscriberAttribute).
namespace The Kubernetes namespace where the attribute is installed.

spec

The table below describes the CR’s spec parameters:

Parameter Description
import Specifies whether the subscriber attribute can be imported (parsed) from the incoming messages. The default value is true.
export Specifies whether the subscriber attribute can be exported (inserted) to the outgoing messages. The default value is true. This option is available only when the attribute is used in a Gx protocol profile and not for a RADIUS protocol profile.
wellKnownAttributeId Specifies an identifier of a well-known (built-in) subscriber attribute. The system provides a special handling for well-known subscriber attributes. For example, most of the well-known attributes are included into session reporting records by default. The allowed values are not-defined, called-station-id, ip-address, imeisv, user-name, user-location-information, imsi, rat-type, nas-ip-address, nas-ipv6-address, subscriber-id, calling-station-id. The default value is not-defined.

CR Examples

For IMSI:

apiVersion: "k8s.f5net.com/v1"
kind: F5BigSubscriberAttribute
metadata:
 name: "subscriber-attribute-imsi"
spec:
 import: true
 export: true
 wellKnownAttributeId: "imsi"

For Subscriber IP address (Framed IP):

apiVersion: "k8s.f5net.com/v1"
kind: F5BigSubscriberAttribute
metadata:
 name: "subscriber-attribute-framed-ip"
spec:
 import: true
 export: true

For Username (NAI):

apiVersion: "k8s.f5net.com/v1"
kind: F5BigSubscriberAttribute
metadata:
 name: "subscriber-attribute-user-name"
spec:
 import: true
 export: true
 wellKnownAttributeId: "user-name" 

For Calling-Station-Id:

apiVersion: "k8s.f5net.com/v1"
kind: F5BigSubscriberAttribute
metadata:
 name: "subscriber-attribute-calling-station-id"
spec:
 import: true
 export: true
 wellKnownAttributeId: "calling-station-id"

For NAS IP address (originator):

apiVersion: "k8s.f5net.com/v1"
kind: F5BigSubscriberAttribute
metadata:
 name: "subscriber-attribute-nas-ip"
spec:
 import: true
 export: true
 wellKnownAttributeId: "nas-ip-address"

CR shortName

CR shortNames provide an easy way to view installed CRs, and their configuration parameters. The CR shortName can also be used to delete the CR instance. The F5BigSubscriberAttribute CR shortName is subscrattr.

View CR instance:

oc get subscrattr -n <namespace>

View CR configuration:

oc get subscrattr -n <namespace> -o yaml

Deployment

Use the following steps to deploy the example F5BigSubscriberAttribute CR.

  1. Copy the F5BigSubscriberAttribute CRs into a YAML file:

    apiVersion: apiextensions.k8s.io/v1
    kind: "CustomResourceDefinition"
    metadata:
    name: <<name>>.k8s.f5net.com
    # def_webhook_conversion_annotation
    # alias_disable
    spec:
    group: k8s.f5net.com
    versions:
        - name: v1
        served: true
        storage: true
        # en_status_subresource
        schema:
            openAPIV3Schema:
            type: object
            required: 
            - spec
            properties:
                # def_status_object
                spec:
                type: object
                properties:
                    import:
                    description: >
                        Specifies whether the subscriber attribute can be imported (parsed) 
                        from the incoming messages. The default value is true.
                    type: boolean
                    default: true
                    enum: [true, false]
                    export:
                    description: >
                        Specifies whether the subscriber attribute can be exported (inserted) 
                        to the outgoing messages. The default value is true. This option 
                        is available only when the attribute is used in a Gx protocol profile 
                        and not for a RADIUS protocol profile.
                    type: boolean
                    default: true
                    enum: [true, false]
                    wellKnownAttributeId:
                    description: >
                        Specifies an identifier of a well-known (built-in) subscriber attribute. 
                        The system provides a special handling for well-known subscriber attributes. 
                        For example, most of the well-known attributes are included into session 
                        reporting records by default.
                    type: string
                    default: "not-defined"
                    enum: ["not-defined","called-station-id","ip-address","imeisv","user-name","user-location-information","imsi","rat-type","nas-ip-address","nas-ipv6-address","subscriber-id","calling-station-id"]
    
  2. Install the CR:

    oc apply -f cnf-subscrattr.yaml
    

Feedback

Provide feedback to improve this document by emailing cnfdocs@f5.com.