Lines 963-980
radius_acct_stop(void)
Link Here
|
963 |
|
963 |
|
964 |
|
964 |
|
965 |
if (link_stats_valid) { |
965 |
if (link_stats_valid) { |
|
|
966 |
DICT_ATTR* attr; |
967 |
static char bigint[64]; |
968 |
|
966 |
av_type = link_connect_time; |
969 |
av_type = link_connect_time; |
967 |
rc_avpair_add(&send, PW_ACCT_SESSION_TIME, &av_type, 0, VENDOR_NONE); |
970 |
rc_avpair_add(&send, PW_ACCT_SESSION_TIME, &av_type, 0, VENDOR_NONE); |
968 |
|
971 |
|
969 |
av_type = link_stats.bytes_out; |
972 |
if ( (attr=rc_dict_findattr("Acct-Output-Octets-64")) ) { |
|
|
973 |
snprintf(bigint,sizeof(bigint),"%llu",link_stats.bytes_out); |
974 |
rc_avpair_add(&send,attr->value,bigint,0,attr->vendorcode); |
975 |
} |
976 |
av_type = (UINT4)link_stats.bytes_out; |
970 |
rc_avpair_add(&send, PW_ACCT_OUTPUT_OCTETS, &av_type, 0, VENDOR_NONE); |
977 |
rc_avpair_add(&send, PW_ACCT_OUTPUT_OCTETS, &av_type, 0, VENDOR_NONE); |
971 |
|
978 |
|
972 |
av_type = link_stats.bytes_in; |
979 |
av_type = (UINT4)(link_stats.bytes_out >> 32); |
|
|
980 |
rc_avpair_add(&send, PW_ACCT_OUTPUT_GIGAWORDS, &av_type, 0, VENDOR_NONE); |
981 |
|
982 |
if ( (attr=rc_dict_findattr("Acct-Input-Octets-64")) ) { |
983 |
snprintf(bigint,sizeof(bigint),"%llu",link_stats.bytes_in); |
984 |
rc_avpair_add(&send,attr->value,bigint,0,attr->vendorcode); |
985 |
} |
986 |
av_type = (UINT4)link_stats.bytes_in; |
973 |
rc_avpair_add(&send, PW_ACCT_INPUT_OCTETS, &av_type, 0, VENDOR_NONE); |
987 |
rc_avpair_add(&send, PW_ACCT_INPUT_OCTETS, &av_type, 0, VENDOR_NONE); |
974 |
|
988 |
|
|
|
989 |
av_type = (UINT4)(link_stats.bytes_in >> 32); |
990 |
rc_avpair_add(&send, PW_ACCT_INPUT_GIGAWORDS, &av_type, 0, VENDOR_NONE); |
991 |
|
992 |
if ( (attr=rc_dict_findattr("Acct-Output-Packets-64")) ) { |
993 |
snprintf(bigint,sizeof(bigint),"%llu",link_stats.pkts_out); |
994 |
rc_avpair_add(&send,attr->value,bigint,0,attr->vendorcode); |
995 |
} |
996 |
|
975 |
av_type = link_stats.pkts_out; |
997 |
av_type = link_stats.pkts_out; |
976 |
rc_avpair_add(&send, PW_ACCT_OUTPUT_PACKETS, &av_type, 0, VENDOR_NONE); |
998 |
rc_avpair_add(&send, PW_ACCT_OUTPUT_PACKETS, &av_type, 0, VENDOR_NONE); |
977 |
|
999 |
|
|
|
1000 |
if ( (attr=rc_dict_findattr("Acct-Input-Packets-64")) ) { |
1001 |
snprintf(bigint,sizeof(bigint),"%llu",link_stats.pkts_in); |
1002 |
rc_avpair_add(&send,attr->value,bigint,0,attr->vendorcode); |
1003 |
} |
978 |
av_type = link_stats.pkts_in; |
1004 |
av_type = link_stats.pkts_in; |
979 |
rc_avpair_add(&send, PW_ACCT_INPUT_PACKETS, &av_type, 0, VENDOR_NONE); |
1005 |
rc_avpair_add(&send, PW_ACCT_INPUT_PACKETS, &av_type, 0, VENDOR_NONE); |
980 |
} |
1006 |
} |
Lines 1105-1124
radius_acct_interim(void *ignored)
Link Here
|
1105 |
update_link_stats(0); |
1131 |
update_link_stats(0); |
1106 |
|
1132 |
|
1107 |
if (link_stats_valid) { |
1133 |
if (link_stats_valid) { |
|
|
1134 |
DICT_ATTR* attr; |
1135 |
static char bigint[64]; |
1136 |
|
1108 |
link_stats_valid = 0; /* Force later code to update */ |
1137 |
link_stats_valid = 0; /* Force later code to update */ |
1109 |
|
1138 |
|
1110 |
av_type = link_connect_time; |
1139 |
av_type = link_connect_time; |
1111 |
rc_avpair_add(&send, PW_ACCT_SESSION_TIME, &av_type, 0, VENDOR_NONE); |
1140 |
rc_avpair_add(&send, PW_ACCT_SESSION_TIME, &av_type, 0, VENDOR_NONE); |
1112 |
|
1141 |
|
1113 |
av_type = link_stats.bytes_out; |
1142 |
if ( (attr=rc_dict_findattr("Acct-Output-Octets-64")) ) { |
|
|
1143 |
snprintf(bigint,sizeof(bigint),"%llu",link_stats.bytes_out); |
1144 |
rc_avpair_add(&send,attr->value,bigint,0,attr->vendorcode); |
1145 |
} |
1146 |
av_type = (UINT4)link_stats.bytes_out; |
1114 |
rc_avpair_add(&send, PW_ACCT_OUTPUT_OCTETS, &av_type, 0, VENDOR_NONE); |
1147 |
rc_avpair_add(&send, PW_ACCT_OUTPUT_OCTETS, &av_type, 0, VENDOR_NONE); |
1115 |
|
1148 |
|
1116 |
av_type = link_stats.bytes_in; |
1149 |
av_type = (UINT4)(link_stats.bytes_out >> 32); |
|
|
1150 |
rc_avpair_add(&send, PW_ACCT_OUTPUT_GIGAWORDS, &av_type, 0, VENDOR_NONE); |
1151 |
|
1152 |
if ( (attr=rc_dict_findattr("Acct-Input-Octets-64")) ) { |
1153 |
snprintf(bigint,sizeof(bigint),"%llu",link_stats.bytes_in); |
1154 |
rc_avpair_add(&send,attr->value,bigint,0,attr->vendorcode); |
1155 |
} |
1156 |
av_type = (UINT4)link_stats.bytes_in; |
1117 |
rc_avpair_add(&send, PW_ACCT_INPUT_OCTETS, &av_type, 0, VENDOR_NONE); |
1157 |
rc_avpair_add(&send, PW_ACCT_INPUT_OCTETS, &av_type, 0, VENDOR_NONE); |
1118 |
|
1158 |
|
|
|
1159 |
av_type = (UINT4)(link_stats.bytes_in >> 32); |
1160 |
rc_avpair_add(&send, PW_ACCT_INPUT_GIGAWORDS, &av_type, 0, VENDOR_NONE); |
1161 |
|
1162 |
if ( (attr=rc_dict_findattr("Acct-Output-Packets-64")) ) { |
1163 |
snprintf(bigint,sizeof(bigint),"%llu",link_stats.pkts_out); |
1164 |
rc_avpair_add(&send,attr->value,bigint,0,attr->vendorcode); |
1165 |
} |
1119 |
av_type = link_stats.pkts_out; |
1166 |
av_type = link_stats.pkts_out; |
1120 |
rc_avpair_add(&send, PW_ACCT_OUTPUT_PACKETS, &av_type, 0, VENDOR_NONE); |
1167 |
rc_avpair_add(&send, PW_ACCT_OUTPUT_PACKETS, &av_type, 0, VENDOR_NONE); |
1121 |
|
1168 |
|
|
|
1169 |
if ( (attr=rc_dict_findattr("Acct-Input-Packets-64")) ) { |
1170 |
snprintf(bigint,sizeof(bigint),"%llu",link_stats.pkts_in); |
1171 |
rc_avpair_add(&send,attr->value,bigint,0,attr->vendorcode); |
1172 |
} |
1122 |
av_type = link_stats.pkts_in; |
1173 |
av_type = link_stats.pkts_in; |
1123 |
rc_avpair_add(&send, PW_ACCT_INPUT_PACKETS, &av_type, 0, VENDOR_NONE); |
1174 |
rc_avpair_add(&send, PW_ACCT_INPUT_PACKETS, &av_type, 0, VENDOR_NONE); |
1124 |
} |
1175 |
} |