]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Updated all SQL schema adding a new 'Class' column. (#4052)
authorJorge Pereira <jpereira@users.noreply.github.com>
Thu, 29 Apr 2021 13:43:18 +0000 (10:43 -0300)
committerGitHub <noreply@github.com>
Thu, 29 Apr 2021 13:43:18 +0000 (09:43 -0400)
It helps the admin to locate accounting packets.

13 files changed:
raddb/mods-config/sql/main/cassandra/queries.conf
raddb/mods-config/sql/main/cassandra/schema.sql
raddb/mods-config/sql/main/mssql/queries.conf
raddb/mods-config/sql/main/mssql/schema.sql
raddb/mods-config/sql/main/mysql/queries.conf
raddb/mods-config/sql/main/mysql/schema.sql
raddb/mods-config/sql/main/ndb/schema.sql
raddb/mods-config/sql/main/oracle/queries.conf
raddb/mods-config/sql/main/oracle/schema.sql
raddb/mods-config/sql/main/postgresql/queries.conf
raddb/mods-config/sql/main/postgresql/schema.sql
raddb/mods-config/sql/main/sqlite/queries.conf
raddb/mods-config/sql/main/sqlite/schema.sql

index a94a7167f9a23bc259b018907268672e6e7c350e..5a9267fd7fa68e181c53eb9e32e3f660c074afaa 100644 (file)
@@ -193,7 +193,8 @@ accounting {
                                        framedipv6address, \
                                        framedipv6prefix, \
                                        framedinterfaceid, \
-                                       delegatedipv6prefix \
+                                       delegatedipv6prefix, \
+                                       class
                                ) VALUES ( \
                                        '%{Acct-Unique-Session-Id}', \
                                        '%{Acct-Session-Id}', \
@@ -217,7 +218,8 @@ accounting {
                                        '%{Framed-IPv6-Address}', \
                                        '%{Framed-IPv6-Prefix}', \
                                        '%{Framed-Interface-Id}', \
-                                       '%{Delegated-IPv6-Prefix}' \
+                                       '%{Delegated-IPv6-Prefix}', \
+                                       '%{Class}'
                                );"
                }
 
@@ -253,7 +255,8 @@ accounting {
                                        framedipv6address, \
                                        framedipv6prefix, \
                                        framedinterfaceid, \
-                                       delegatedipv6prefix \
+                                       delegatedipv6prefix, \
+                                       class \
                                ) VALUES ( \
                                        '%{Acct-Unique-Session-Id}', \
                                        '%{Acct-Session-Id}', \
@@ -276,7 +279,8 @@ accounting {
                                        '%{Framed-IPv6-Address}', \
                                        '%{Framed-IPv6-Prefix}', \
                                        '%{Framed-Interface-Id}', \
-                                       '%{Delegated-IPv6-Prefix}' \
+                                       '%{Delegated-IPv6-Prefix}', \
+                                       '%{Class}' \
                                ); \
                                APPLY BATCH;"
                }
@@ -314,7 +318,8 @@ accounting {
                                        framedipv6prefix, \
                                        framedinterfaceid, \
                                        delegatedipv6prefix, \
-                                       acctterminatecause \
+                                       acctterminatecause, \
+                                       class \
                                ) VALUES ( \
                                        '%{Acct-Unique-Session-Id}', \
                                        '%{Acct-Session-Id}', \
@@ -338,7 +343,8 @@ accounting {
                                        '%{Framed-IPv6-Prefix}', \
                                        '%{Framed-Interface-Id}', \
                                        '%{Delegated-IPv6-Prefix}', \
-                                       '%{Acct-Terminate-Cause}' \
+                                       '%{Acct-Terminate-Cause}', \
+                                       '%{Class}' \
                                ); \
                                APPLY BATCH;"
                }
index 72e7e1d84993503877b51691b04b9521c78138cd..d97b77366e2f164686d8aa91b711dbd7a02ba9bd 100644 (file)
@@ -43,6 +43,7 @@ CREATE TABLE radacct (
   framedipv6prefix text,
   framedinterfaceid text,
   delegatedipv6prefix text,
+  class text,
   PRIMARY KEY (acctuniqueid)
 );
 
index 0cbece561adcc8c020d2f088d7dd8e28d783ca28..ed4421ff5197ba1a4846ab299385fd2dc21861aa 100644 (file)
@@ -177,7 +177,8 @@ accounting {
                                        FramedInterfaceId, \
                                        DelegatedIPv6Prefix, \
                                        AcctStartDelay, \
-                                       AcctStopDelay) \
+                                       AcctStopDelay, \
+                                       Class) \
                                VALUES(\
                                        '%{Acct-Session-Id}', \
                                        '%{Acct-Unique-Session-Id}', \
@@ -204,7 +205,8 @@ accounting {
                                        '%{Framed-Interface-Id}', \
                                        '%{Delegated-IPv6-Prefix}', \
                                        '%{Acct-Delay-Time}', \
-                                       '0')"
+                                       '0', \
+                                       '%{Class}')"
 
                        query = "\
                                UPDATE ${....acct_table1} \
@@ -224,7 +226,8 @@ accounting {
                                        FramedIPv6Address = '%{Framed-IPv6-Address}', \
                                        FramedIPv6Prefix = '%{Framed-IPv6-Prefix}', \
                                        FramedInterfaceId = '%{Framed-Interface-Id}', \
-                                       DelegatedIPv6Prefix = '%{Delegated-IPv6-Prefix}' \
+                                       DelegatedIPv6Prefix = '%{Delegated-IPv6-Prefix}', \
+                                       Class = '%{Class}' \
                                WHERE AcctUniqueId = '%{Acct-Unique-Session-ID}' \
                                AND AcctStopTime = 0"
 
@@ -251,7 +254,8 @@ accounting {
                                        FramedIPv6Prefix, \
                                        FramedInterfaceId, \
                                        DelegatedIPv6Prefix, \
-                                       AcctStartDelay) \
+                                       AcctStartDelay, \
+                                       Class) \
                                VALUES(\
                                        '%{Acct-Session-Id}', \
                                        '%{Acct-Unique-Session-Id}', \
@@ -274,7 +278,8 @@ accounting {
                                        '%{Framed-IPv6-Prefix}', \
                                        '%{Framed-Interface-Id}', \
                                        '%{Delegated-IPv6-Prefix}', \
-                                       '0')"
+                                       '0' \
+                                       '%{Class}')"
                }
 
                stop {
@@ -287,7 +292,8 @@ accounting {
                                        AcctOutputOctets = convert(bigint, '%{%{Acct-Output-Gigawords}:-0}' * POWER(2.0, 32)) | '%{%{Acct-Output-Octets}:-0}', \
                                        AcctTerminateCause = '%{Acct-Terminate-Cause}', \
                                        AcctStopDelay = '%{%{Acct-Delay-Time}:-0}', \
-                                       ConnectInfo_stop = '%{Connect-Info}' \
+                                       ConnectInfo_stop = '%{Connect-Info}', \
+                                       Class = '%{Class}' \
                                WHERE AcctUniqueId = '%{Acct-Unique-Session-ID}' \
                                AND AcctStopTime = 0"
 
@@ -318,7 +324,8 @@ accounting {
                                        FramedInterfaceId, \
                                        DelegatedIPv6Prefix, \
                                        AcctStartDelay, \
-                                       AcctStopDelay) \
+                                       AcctStopDelay, \
+                                       Class) \
                                VALUES(\
                                        '%{Acct-Session-Id}', \
                                        '%{Acct-Unique-Session-Id}', \
@@ -346,7 +353,8 @@ accounting {
                                        '%{Framed-Interface-Id}', \
                                        '%{Delegated-IPv6-Prefix}', \
                                        '0', \
-                                       '%{%{Acct-Delay-Time}:-0}')"
+                                       '%{%{Acct-Delay-Time}:-0}', \
+                                       '%{Class}')"
                }
        }
 }
index c2ef5592c96c0034c8d9620144729d3f9ea8d709..3361015685d9dc3435b530ba12e2e885a0737bdf 100644 (file)
@@ -46,7 +46,8 @@ CREATE TABLE [radacct] (
        [FramedInterfaceId] [varchar] (44) NOT NULL,
        [DelegatedIPv6Prefix] [varchar] (45) NOT NULL,
        [AcctStartDelay] [int] NULL,
-       [AcctStopDelay] [int] NULL
+       [AcctStopDelay] [int] NULL,
+       [Class] [varchar] (64) NULL
 ) ON [PRIMARY]
 GO
 
@@ -79,6 +80,7 @@ ALTER TABLE [radacct] WITH NOCHECK ADD
        CONSTRAINT [DF_radacct_DelegatedIPv6Prefix] DEFAULT ('') FOR [DelegatedIPv6Prefix],
        CONSTRAINT [DF_radacct_AcctStartDelay] DEFAULT (null) FOR [AcctStartDelay],
        CONSTRAINT [DF_radacct_AcctStopDelay] DEFAULT (null) FOR [AcctStopDelay],
+       CONSTRAINT [DF_radacct_Class] DEFAULT (null) FOR [Class],
        CONSTRAINT [PK_radacct] PRIMARY KEY NONCLUSTERED
        (
                [RadAcctId]
@@ -118,6 +120,9 @@ GO
 CREATE INDEX [NASIPAddress] ON [radacct]([NASIPAddress]) ON [PRIMARY]
 GO
 
+CREATE INDEX [Class] ON [radacct]([Class]) ON [PRIMARY]
+GO
+
 -- For use by onoff
 CREATE INDEX [RadacctBulkClose] ON [radacct]([NASIPAddress],[AcctStartTime]) WHERE [AcctStopTime] IS NULL ON [PRIMARY]
 GO
index bc7ace8fe46da681a477bc48068e7e4a0b45409b..8f4625aec12a9b39b6f505b8d8f7da08d4b70d57 100644 (file)
@@ -182,7 +182,7 @@ accounting {
                acctoutputoctets,       calledstationid,        callingstationid, \
                acctterminatecause,     servicetype,            framedprotocol, \
                framedipaddress,        framedipv6address,      framedipv6prefix, \
-               framedinterfaceid,      delegatedipv6prefix"
+               framedinterfaceid,      delegatedipv6prefix, class"
 
        type {
                accounting-on {
@@ -247,7 +247,8 @@ accounting {
                                        '%{Framed-IPv6-Address}', \
                                        '%{Framed-IPv6-Prefix}', \
                                        '%{Framed-Interface-Id}', \
-                                       '%{Delegated-IPv6-Prefix}')"
+                                       '%{Delegated-IPv6-Prefix}', \
+                                       '%{Class}')"
 
                        #
                        #  Key constraints prevented us from inserting a new session,
@@ -257,7 +258,8 @@ accounting {
                                UPDATE ${....acct_table1} SET \
                                        acctstarttime   = ${....event_timestamp}, \
                                        acctupdatetime  = ${....event_timestamp}, \
-                                       connectinfo_start = '%{Connect-Info}' \
+                                       connectinfo_start = '%{Connect-Info}', \
+                                       class = '%{Class}' \
                                WHERE acctuniqueid = '%{Acct-Unique-Session-Id}'"
                }
 
@@ -283,7 +285,8 @@ accounting {
                                        acctinputoctets = '%{%{Acct-Input-Gigawords}:-0}' \
                                                << 32 | '%{%{Acct-Input-Octets}:-0}', \
                                        acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' \
-                                               << 32 | '%{%{Acct-Output-Octets}:-0}' \
+                                               << 32 | '%{%{Acct-Output-Octets}:-0}', \
+                                       class = '%{Class}' \
                                WHERE acctuniqueid = '%{Acct-Unique-Session-Id}'"
 
                        #
@@ -319,7 +322,8 @@ accounting {
                                        '%{Framed-IPv6-Address}', \
                                        '%{Framed-IPv6-Prefix}', \
                                        '%{Framed-Interface-Id}', \
-                                       '%{Delegated-IPv6-Prefix}')"
+                                       '%{Delegated-IPv6-Prefix}', \
+                                       '%{Class}')"
                }
 
                stop {
@@ -335,7 +339,8 @@ accounting {
                                        acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' \
                                                << 32 | '%{%{Acct-Output-Octets}:-0}', \
                                        acctterminatecause = '%{Acct-Terminate-Cause}', \
-                                       connectinfo_stop = '%{Connect-Info}' \
+                                       connectinfo_stop = '%{Connect-Info}', \
+                                       class = '%{Class}' \
                                WHERE acctuniqueid = '%{Acct-Unique-Session-Id}'"
 
                        #
@@ -371,7 +376,8 @@ accounting {
                                        '%{Framed-IPv6-Address}', \
                                        '%{Framed-IPv6-Prefix}', \
                                        '%{Framed-Interface-Id}', \
-                                       '%{Delegated-IPv6-Prefix}')"
+                                       '%{Delegated-IPv6-Prefix}', \
+                                       '%{Class}')"
                }
        }
 }
index 3df995f0304c5b933958f9a0c0a7345df56c591d..2fa9f5888d7288d18d7a500d8ece8dd61542ee07 100644 (file)
@@ -44,6 +44,7 @@ CREATE TABLE radacct (
   framedipv6prefix varchar(45) NOT NULL default '',
   framedinterfaceid varchar(44) NOT NULL default '',
   delegatedipv6prefix varchar(45) NOT NULL default '',
+  class varchar(64) default NULL,
   PRIMARY KEY (radacctid),
   UNIQUE KEY acctuniqueid (acctuniqueid),
   KEY username (username),
index 03699a6918fe88835fd546d534d4fc83d13a40dc..2897494ce17f6ed0757980a3eacf636ef2b80d7d 100644 (file)
@@ -46,6 +46,7 @@ CREATE TABLE radacct (
   framedipv6prefix varchar(45) NOT NULL default '',
   framedinterfaceid varchar(44) NOT NULL default '',
   delegatedipv6prefix varchar(45) NOT NULL default '',
+  class varchar(64) default NULL,
   PRIMARY KEY (radacctid),
   UNIQUE KEY acctuniqueid (acctuniqueid),
   KEY username (username),
index 261ed011c3f1d1cbb0d41ffa980dc6a204b7c7b4..7be44903262a5b6d6729f23d81c3a11dff7c9030 100644 (file)
@@ -163,7 +163,8 @@ accounting {
                                        AcctSessionTime = ROUND((${....event_timestamp} - \
                                                TO_DATE(TO_CHAR(acctstarttime, 'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss'))*86400), \
                                        AcctTerminateCause='%{%{Acct-Terminate-Cause}:-NAS-Reboot}', \
-                                       AcctStopDelay = %{%{Acct-Delay-Time}:-0} \
+                                       AcctStopDelay = %{%{Acct-Delay-Time}:-0}, \
+                                       Class = '%{Class}' \
                                WHERE AcctStopTime IS NULL \
                                AND NASIPAddress = '%{NAS-IP-Address}' \
                                AND AcctStartTime <= ${....event_timestamp}"
@@ -212,7 +213,8 @@ accounting {
                                        FramedInterfaceId, \
                                        DelegatedIPv6Prefix, \
                                        AcctStartDelay, \
-                                       AcctStopDelay) \
+                                       AcctStopDelay, \
+                                       Class) \
                                VALUES(\
                                        '', \
                                        '%{Acct-Session-Id}', \
@@ -241,7 +243,8 @@ accounting {
                                        '%{Framed-Interface-Id}', \
                                        '%{Delegated-IPv6-Prefix}', \
                                        '%{Acct-Delay-Time}', \
-                                       '0')"
+                                       '0', \
+                                       '%{Class}')"
 
                        query = "\
                                UPDATE ${....acct_table1} \
@@ -266,7 +269,8 @@ accounting {
                                        AcctInputOctets = '%{Acct-Input-Octets}' + \
                                                ('%{%{Acct-Input-Gigawords}:-0}' * 4294967296), \
                                        AcctOutputOctets = '%{Acct-Output-Octets}' +  \
-                                               ('%{%{Acct-Output-Gigawords}:-0}' * 4294967296) \
+                                               ('%{%{Acct-Output-Gigawords}:-0}' * 4294967296), \
+                                       Class = '%{Class}' \
                                WHERE AcctUniqueId = '%{Acct-Unique-Session-ID}' \
                                AND AcctStopTime IS NULL"
 
@@ -291,7 +295,8 @@ accounting {
                                        ServiceType, \
                                        FramedProtocol, \
                                        FramedIPAddress, \
-                                       AcctStartDelay) \
+                                       AcctStartDelay, \
+                                       Class) \
                                VALUES(\
                                        '', \
                                        '%{Acct-Session-Id}', \
@@ -314,7 +319,8 @@ accounting {
                                        '%{Service-Type}', \
                                        '%{Framed-Protocol}', \
                                        '%{Framed-IP-Address}', \
-                                       '0')"
+                                       '0', \
+                                       '%{Class}')"
                }
 
                stop {
@@ -329,7 +335,8 @@ accounting {
                                                ('%{%{Acct-Output-Gigawords}:-0}' * 4294967296), \
                                        AcctTerminateCause = '%{Acct-Terminate-Cause}', \
                                        AcctStopDelay = '%{%{Acct-Delay-Time}:-0}', \
-                                       ConnectInfo_stop = '%{Connect-Info}' \
+                                       ConnectInfo_stop = '%{Connect-Info}', \
+                                       Class = '%{Class}'
                                WHERE AcctUniqueId = '%{Acct-Unique-Session-ID}' \
                                AND AcctStopTime IS NULL"
 
@@ -358,7 +365,8 @@ accounting {
                                        FramedProtocol, \
                                        FramedIPAddress, \
                                        AcctStartDelay, \
-                                       AcctStopDelay) \
+                                       AcctStopDelay, \
+                                       Class) \
                                VALUES(\
                                        '', \
                                        '%{Acct-Session-Id}', \
@@ -386,7 +394,8 @@ accounting {
                                        '%{Framed-Protocol}', \
                                        '%{Framed-IP-Address}', \
                                        '0', \
-                                       '%{%{Acct-Delay-Time}:-0}')"
+                                       '%{%{Acct-Delay-Time}:-0}', \
+                                       '%{Class}')"
                }
 
                #
index 1f6aa493a7253ae6c17a5c1ceeea8287f2d8c5c7..7cda4fef3082d27c9e20555ec081c2ac8f46b46c 100644 (file)
@@ -40,7 +40,8 @@ CREATE TABLE radacct (
        framedinterfaceid       VARCHAR(44),
        delegatedipv6prefix     VARCHAR(45),
        acctstartdelay          NUMERIC(12),
-       acctstopdelay           NUMERIC(12)
+       acctstopdelay           NUMERIC(12),
+       class                   VARCHAR(64)
 );
 
 CREATE UNIQUE INDEX radacct_idx0
index 0015f096b696517c5d94d0633d51422649f1c70b..86a3ba1387da4d275943317912e6aa9e908ce09d 100644 (file)
@@ -223,7 +223,8 @@ accounting {
                FramedIpv6Address, \
                FramedIpv6Prefix, \
                FramedInterfaceId, \
-               DelegatedIpv6Prefix"
+               DelegatedIpv6Prefix, \
+               Class"
 
        type {
                accounting-on {
@@ -233,7 +234,8 @@ accounting {
                                        AcctStopTime = ${....event_timestamp}, \
                                        AcctUpdateTime = ${....event_timestamp}, \
                                        AcctSessionTime = (${....event_timestamp_epoch} - EXTRACT(EPOCH FROM(AcctStartTime))), \
-                                       AcctTerminateCause = '%{%{Acct-Terminate-Cause}:-NAS-Reboot}' \
+                                       AcctTerminateCause = '%{%{Acct-Terminate-Cause}:-NAS-Reboot}', \
+                                       Class = '%{Class}' \
                                WHERE AcctStopTime IS NULL \
                                AND NASIPAddress= '%{%{NAS-IPv6-Address}:-%{NAS-IP-Address}}' \
                                AND AcctStartTime <= ${....event_timestamp}"
@@ -282,13 +284,15 @@ accounting {
                                        NULLIF('%{Framed-IPv6-Address}', '')::inet, \
                                        NULLIF('%{Framed-IPv6-Prefix}', '')::inet, \
                                        NULLIF('%{Framed-Interface-Id}', ''), \
-                                       NULLIF('%{Delegated-IPv6-Prefix}', '')::inet) \
+                                       NULLIF('%{Delegated-IPv6-Prefix}', '')::inet, \
+                                       '%{Class}') \
                                ON CONFLICT (AcctUniqueId) \
                                DO UPDATE \
                                SET \
                                        AcctStartTime = ${....event_timestamp}, \
                                        AcctUpdateTime = ${....event_timestamp}, \
-                                       ConnectInfo_start = '%{Connect-Info}' \
+                                       ConnectInfo_start = '%{Connect-Info}', \
+                                       Class = '%{Class}' \
                                WHERE ${....acct_table1}.AcctUniqueId = '%{Acct-Unique-Session-Id}' \
                                AND ${....acct_table1}.AcctStopTime IS NULL"
 
@@ -298,7 +302,8 @@ accounting {
                                SET \
                                        AcctStartTime = ${....event_timestamp}, \
                                        AcctUpdateTime = ${....event_timestamp}, \
-                                       ConnectInfo_start = '%{Connect-Info}' \
+                                       ConnectInfo_start = '%{Connect-Info}', \
+                                       Class = '%{Class}' \
                                WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
                }
 
@@ -317,7 +322,8 @@ accounting {
                                        AcctInputOctets = (('%{%{Acct-Input-Gigawords}:-0}'::bigint << 32) + \
                                                '%{%{Acct-Input-Octets}:-0}'::bigint), \
                                        AcctOutputOctets = (('%{%{Acct-Output-Gigawords}:-0}'::bigint << 32) + \
-                                               '%{%{Acct-Output-Octets}:-0}'::bigint) \
+                                               '%{%{Acct-Output-Octets}:-0}'::bigint), \
+                                       Class = '%{Class}' \
                                WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}' \
                                AND AcctStopTime IS NULL"
 
@@ -352,7 +358,8 @@ accounting {
                                        NULLIF('%{Framed-IPv6-Address}', '')::inet, \
                                        NULLIF('%{Framed-IPv6-Prefix}', '')::inet, \
                                        NULLIF('%{Framed-Interface-Id}', ''), \
-                                       NULLIF('%{Delegated-IPv6-Prefix}', '')::inet) \
+                                       NULLIF('%{Delegated-IPv6-Prefix}', '')::inet, \
+                                       '%{Class}') \
                                ON CONFLICT (AcctUniqueId) \
                                DO NOTHING"
                }
@@ -375,7 +382,8 @@ accounting {
                                        FramedIPv6Prefix = NULLIF('%{Framed-IPv6-Prefix}', '')::inet, \
                                        FramedInterfaceId = NULLIF('%{Framed-Interface-Id}', ''), \
                                        DelegatedIPv6Prefix = NULLIF('%{Delegated-IPv6-Prefix}', '')::inet, \
-                                       ConnectInfo_stop = '%{Connect-Info}' \
+                                       ConnectInfo_stop = '%{Connect-Info}', \
+                                       Class = '%{Class}' \
                                WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}' \
                                AND AcctStopTime IS NULL"
 
@@ -410,7 +418,8 @@ accounting {
                                        NULLIF('%{Framed-IPv6-Address}', '')::inet, \
                                        NULLIF('%{Framed-IPv6-Prefix}', '')::inet, \
                                        NULLIF('%{Framed-Interface-Id}', ''), \
-                                       NULLIF('%{Delegated-IPv6-Prefix}', '')::inet) \
+                                       NULLIF('%{Delegated-IPv6-Prefix}', '')::inet, \
+                                       '%{Class}') \
                                ON CONFLICT (AcctUniqueId) \
                                DO NOTHING"
 
@@ -432,7 +441,8 @@ accounting {
                                        FramedIPv6Prefix = NULLIF('%{Framed-IPv6-Prefix}', '')::inet, \
                                        FramedInterfaceId = NULLIF('%{Framed-Interface-Id}', ''), \
                                        DelegatedIPv6Prefix = NULLIF('%{Delegated-IPv6-Prefix}', '')::inet, \
-                                       ConnectInfo_stop = '%{Connect-Info}' \
+                                       ConnectInfo_stop = '%{Connect-Info}', \
+                                       Class = '%{Class}' \
                                WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
                }
 
index d518315fae0829d0d2069a7d54919816dc64bcd7..9a73c7cbbffee5ff80592a6c223f6dab48680866 100644 (file)
@@ -42,7 +42,8 @@ CREATE TABLE radacct (
        FramedIPv6Address       inet,
        FramedIPv6Prefix        inet,
        FramedInterfaceId       text,
-       DelegatedIPv6Prefix     inet
+       DelegatedIPv6Prefix     inet,
+       Class                   text
 );
 -- This index may be useful..
 -- CREATE UNIQUE INDEX radacct_whoson on radacct (AcctStartTime, nasipaddress);
index f4d84e803640da86e7f2465263657a3dfd338567..e3abb905c09204b474b9d3d73cbecaf59eaba525 100644 (file)
@@ -194,7 +194,8 @@ accounting {
                framedipv6address, \
                framedipv6prefix, \
                framedinterfaceid, \
-               delegatedipv6prefix"
+               delegatedipv6prefix, \
+               class"
 
        type {
                accounting-on {
@@ -208,7 +209,8 @@ accounting {
                                        acctsessiontime = \
                                                (${....event_timestamp_epoch} \
                                                - acctstarttime), \
-                                       acctterminatecause = '%{Acct-Terminate-Cause}' \
+                                       acctterminatecause = '%{Acct-Terminate-Cause}', \
+                                       class = '%{Class}' \
                                WHERE acctstoptime IS NULL \
                                AND nasipaddress   = '%{NAS-IP-Address}' \
                                AND acctstarttime <= ${....event_timestamp}"
@@ -260,7 +262,8 @@ accounting {
                                        '%{Framed-IPv6-Address}', \
                                        '%{Framed-IPv6-Prefix}', \
                                        '%{Framed-Interface-Id}', \
-                                       '%{Delegated-IPv6-Prefix}')"
+                                       '%{Delegated-IPv6-Prefix}', \
+                                       '%{Class}')"
 
                        #
                        #  Key constraints prevented us from inserting a new session,
@@ -270,7 +273,8 @@ accounting {
                                UPDATE ${....acct_table1} SET \
                                        acctstarttime   = ${....event_timestamp}, \
                                        acctupdatetime  = ${....event_timestamp}, \
-                                       connectinfo_start = '%{Connect-Info}' \
+                                       connectinfo_start = '%{Connect-Info}', \
+                                       class = '%{Class}' \
                                WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
                }
 
@@ -294,7 +298,8 @@ accounting {
                                        acctinputoctets = %{%{Acct-Input-Gigawords}:-0} \
                                                << 32 | %{%{Acct-Input-Octets}:-0}, \
                                        acctoutputoctets = %{%{Acct-Output-Gigawords}:-0} \
-                                               << 32 | %{%{Acct-Output-Octets}:-0} \
+                                               << 32 | %{%{Acct-Output-Octets}:-0}, \
+                                       class = '%{Class}' \
                                WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
 
                        #
@@ -332,7 +337,8 @@ accounting {
                                        '%{Framed-IPv6-Address}', \
                                        '%{Framed-IPv6-Prefix}', \
                                        '%{Framed-Interface-Id}', \
-                                       '%{Delegated-IPv6-Prefix}')"
+                                       '%{Delegated-IPv6-Prefix}', \
+                                       '%{Class}')"
                }
 
                stop {
@@ -348,7 +354,8 @@ accounting {
                                        acctoutputoctets = %{%{Acct-Output-Gigawords}:-0} \
                                                << 32 | %{%{Acct-Output-Octets}:-0}, \
                                        acctterminatecause = '%{Acct-Terminate-Cause}', \
-                                       connectinfo_stop = '%{Connect-Info}' \
+                                       connectinfo_stop = '%{Connect-Info}', \
+                                       class = '%{Class}' \
                                WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
 
                        #
@@ -386,7 +393,8 @@ accounting {
                                        '%{Framed-IPv6-Address}', \
                                        '%{Framed-IPv6-Prefix}', \
                                        '%{Framed-Interface-Id}', \
-                                       '%{Delegated-IPv6-Prefix}')"
+                                       '%{Delegated-IPv6-Prefix}', \
+                                       '%{Class}')"
                }
        }
 }
index 077bff2e3e9059dd3c2f5f1609bfd981067b71a9..790ce2d91218ad8d8f7765242f63b874ccdcc637 100644 (file)
@@ -39,7 +39,8 @@ CREATE TABLE radacct (
        framedipv6address varchar(45) NOT NULL default '',
        framedipv6prefix varchar(45) NOT NULL default '',
        framedinterfaceid varchar(44) NOT NULL default '',
-       delegatedipv6prefix varchar(45) NOT NULL default ''
+       delegatedipv6prefix varchar(45) NOT NULL default '',
+       class varchar(64) default NULL
 );
 
 CREATE UNIQUE INDEX acctuniqueid ON radacct(acctuniqueid);