Repeating same TLV in a given VSA Issue

Cholleti, Hanumantha Hanumantha.Cholleti at viasat.com
Wed May 1 08:58:53 CEST 2013


We have configured FreeRadius 2.1.12 on RedHat ;

Requirement
==========
In a given WiMax-Packet-Flow-Descriptor VSA, we want to have following multiple WiMAX-Uplink-Classifier (attribute 9) as shown in the below packet capture:

WiMAX-Uplink-Classifier:
===================

1.       permit in ip src any dst any 0-66 priority 3

2.       permit in ip src any dst any 69-65535 priority 3

1st Packet Capture (Expected Behavior)
===============================
   AVP: l=125  t=Vendor-Specific(26) v=WiMAX(24757)
            VSA: l=119 t=WiMAX-Packet-Flow-Descriptor(28) C=0x00: 8 TLV(s) inside
                TLV: l=4  t=WiMAX-Packet-Data-Flow-Id(1): 111
                    WiMAX-Packet-Data-Flow-Id: 111
                TLV: l=4  t=WiMAX-Service-Data-Flow-Id(2): 101
                    WiMAX-Service-Data-Flow-Id: 101
                TLV: l=3  t=WiMAX-Direction(4): Uplink(1)
                    WiMAX-Direction: Uplink (1)
                TLV: l=3  t=WiMAX-Activation-Trigger(5): 4
                    WiMAX-Activation-Trigger: 4
                TLV: l=3  t=WiMAX-Transport-Type(6): IPv4-CS(1)
                    WiMAX-Transport-Type: IPv4-CS (1)
                TLV: l=3  t=WiMAX-Uplink-QOS-Id(7): 111
                    WiMAX-Uplink-QOS-Id: 111
                TLV: l=46  t=WiMAX-Uplink-Classifier(9): permit in ip src any dst any 0-66 priority 3
                    WiMAX-Uplink-Classifier: permit in ip src any dst any 0-66 priority 3
                TLV: l=50  t=WiMAX-Uplink-Classifier(9): permit in ip src any dst any 69-65535 priority 3
                    WiMAX-Uplink-Classifier: permit in ip src any dst any 69-65535 priority 3

Configuration in MySQL
==================
Here are the inserts we have in the radreply table:

//--- WiMAX Capabilities attributes
INSERT INTO radreply (username, attribute, op, value) VALUES
('testuser', 'WiMAX-Accounting-Capabilities', ':=', '1'),
('testuser', 'WiMAX-Hotlining-Capabilities', ':=', '1'),
('testuser', 'WiMAX-Idle-Mode-Notification-Cap', ':=', '0'),
('testuser', 'WiMAX-ROHC-Support', ':=', '01');

//--- WiMAX Packet Flow and QoS Descriptors - First Pair
INSERT INTO radreply (username, attribute, op, value) VALUES
('testuser', 'WiMAX-Packet-Data-Flow-Id', ':=', '101'),
('testuser', 'WiMAX-Service-Data-Flow-Id', ':=', '101'),
('testuser', 'WiMAX-Direction', ':=', '2'),
('testuser', 'WiMAX-Activation-Trigger', ':=', '4'),
('testuser', 'WiMAX-Transport-Type', ':=', '1'),
('testuser', 'WiMAX-Downlink-QOS-Id', ':=', '101'),
('testuser', 'WiMAX-Downlink-Classifier', ':=', 'permit in any src any dst any priority 3'),
('testuser', 'WiMAX-QoS-Id', ':=', '101'),
('testuser', 'WiMAX-Schedule-Type', ':=', '2'),
('testuser', 'WiMAX-Traffic-Priority', ':=', '1'),
('testuser', 'WiMAX-Maximum-Sustained-Traffic-Rate', ':=', '22000000'),
('testuser', 'WiMAX-Minimum-Reserved-Traffic-Rate', ':=', '0'),
('testuser', 'WiMAX-Transmission-Policy', ':=', '208');

//--- WiMAX Packet Flow and QoS Descriptors - Second Pair
//--- Note: Please note that change in the 'op' column value from the above
//--- Since this is an additional packet flow and qos descriptor operator is set to '+=' instead of ':='
INSERT INTO radreply (username, attribute, op, value) VALUES
('testuser', 'WiMAX-Packet-Data-Flow-Id', '+=', '111'),
('testuser', 'WiMAX-Service-Data-Flow-Id', '+=', '101'),
('testuser', 'WiMAX-Direction', '+=', '1'),
('testuser', 'WiMAX-Activation-Trigger', '+=', '4'),
('testuser', 'WiMAX-Transport-Type', '+=', '1'),
('testuser', 'WiMAX-Uplink-QOS-Id', '+=', '111'),
('testuser', 'WiMAX-Uplink-Classifier', '+=', 'permit in ip src any dst any 0-66 priority 3'),
('testuser', 'WiMAX-Uplink-Classifier', '+=', 'permit in ip src any dst any 69-65535 priority 3'),
('testuser', 'WiMAX-QoS-Id', '+=', '111'),
('testuser', 'WiMAX-Schedule-Type', '+=', '5'),
('testuser', 'WiMAX-Traffic-Priority', '+=', '1'),
('testuser', 'WiMAX-Maximum-Sustained-Traffic-Rate', '+=', '5500000'),
('testuser', 'WiMAX-Minimum-Reserved-Traffic-Rate', '+=', '0'),
('testuser', 'WiMAX-Tolerated-Jitter', '+=', '1000'),
('testuser', 'WiMAX-Maximum-Latency', '+=', '1000'),
('testuser', 'WiMAX-Unsolicited-Grant-Interval', '+=', '40'),
('testuser', 'WiMAX-Transmission-Policy', '+=', '211');

Issue/Problem:
============
Version 2.1.2 and 2.20
--------------------------
In both FreeRadius versions 2.1.2 and 2.20 on RedHat, the 2nd Uplink-Classifier (permit in ip src any dst any 69-65535 priority 3) is showing up in a separate VSA on its own as shown below;
Expecting to see it in the same VSA as show in the first packet capture.

      2nd Packet Capture (Not an expected Behavior)
     ==================================
   AVP: l=125  t=Vendor-Specific(26) v=WiMAX(24757)
            VSA: l=119 t=WiMAX-Packet-Flow-Descriptor(28) C=0x00: 7 TLV(s) inside
                TLV: l=4  t=WiMAX-Packet-Data-Flow-Id(1): 111
                    WiMAX-Packet-Data-Flow-Id: 111
                TLV: l=4  t=WiMAX-Service-Data-Flow-Id(2): 101
                    WiMAX-Service-Data-Flow-Id: 101
                TLV: l=3  t=WiMAX-Direction(4): Uplink(1)
                    WiMAX-Direction: Uplink (1)
                TLV: l=3  t=WiMAX-Activation-Trigger(5): 4
                    WiMAX-Activation-Trigger: 4
                TLV: l=3  t=WiMAX-Transport-Type(6): IPv4-CS(1)
                    WiMAX-Transport-Type: IPv4-CS (1)
                TLV: l=3  t=WiMAX-Uplink-QOS-Id(7): 111
                    WiMAX-Uplink-QOS-Id: 111
                TLV: l=46  t=WiMAX-Uplink-Classifier(9): permit in ip src any dst any 0-66 priority 3
                    WiMAX-Uplink-Classifier: permit in ip src any dst any 0-66 priority 3
            VSA: l=50 t=WiMAX-Packet-Flow-Descriptor(28) C=0x00: 1 TLV(s) inside
                TLV: l=50  t=WiMAX-Uplink-Classifier(9): permit in ip src any dst any 69-65535 priority 3
                    WiMAX-Uplink-Classifier: permit in ip src any dst any 69-65535 priority 3

Master Branch
------------------
If we configure the FreeRadius using the "Master" branch, we get the 2nd Uplink-Classifier in the same VSA as expected (as shown in the first packet capture)

Wondering if the behavior in versions 2.1.2 and 2.20 is a bug and was fixed in the "master" branch or are we missing any configuration in 2.1.2/2.20 which is causing the undesired behavior?
For our production implementation, don't want to go to the "master" branch if possible.

Sorry for the last email, but want to provide as much details as possible.

Thanks
-Hanu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20130501/e4ffc04c/attachment-0001.html>


More information about the Freeradius-Users mailing list