wlan-ap-Telecominfraproject/feeds/wlan-ap/opensync/patches/17-radius-client.patch
Ammad Rehmat efb5e4a9aa WIFI-442 : Support for synthetic radius client added
Signed-off-by: Ammad Rehmat <ammad.rehmat@connectus.ai>
2020-09-07 11:47:28 +02:00

905 lines
29 KiB
Diff

Index: opensync-2.0.5.0/src/lib/datapipeline/inc/dpp_network_probe.h
===================================================================
--- opensync-2.0.5.0.orig/src/lib/datapipeline/inc/dpp_network_probe.h
+++ opensync-2.0.5.0/src/lib/datapipeline/inc/dpp_network_probe.h
@@ -5,7 +5,7 @@
#include "ds_dlist.h"
#include "dpp_types.h"
-
+#define DPP_RADIUS_SERVERS_MAX 24
#define MAX_IP_ADDR_SIZE 16
#define MAX_IF_NAME_SIZE 16
typedef enum
@@ -29,17 +29,6 @@ typedef struct
char vlanIF[MAX_IF_NAME_SIZE];
StateUpDown_t dhcpState;
uint32_t dhcpLatency;
- StateUpDown_t dnsState;
- uint32_t dnsLatency;
- StateUpDown_t obsV200_radiusState;
- uint32_t obsV200_radiusLatency;
- dpp_dns_metrics_t dnsProbeResults;
- uint32_t dur_vlanIF;
- uint32_t dur_dhcpState;
- uint32_t dur_dhcpLatency;
- uint32_t dur_dnsState;
- uint32_t dur_dnsLatency;
- uint32_t dur_dnsReport;
} dpp_vlan_metrics_t;
@@ -47,29 +36,42 @@ typedef struct
typedef struct
{
char serverIP[MAX_IP_ADDR_SIZE];
- uint32_t noAnswer;
- uint32_t latencyMin;
- uint32_t latencyMax;
- uint32_t latencyAve;
-
- // -- duration
- uint32_t dur_serverIP; //category Network
- uint32_t dur_noAnswer; //category Network
- uint32_t dur_latencyMin; //category Network
- uint32_t dur_latencyMax; //category Network
- uint32_t dur_latencyAve; //category Network
+ StateUpDown_t radiusState;
+ uint32_t latency;
+ ds_dlist_node_t node;
} dpp_radius_metrics_t;
+static inline dpp_radius_metrics_t * dpp_radius_metrics_record_alloc()
+{
+ dpp_radius_metrics_t *record = NULL;
+
+ record = malloc(sizeof(dpp_radius_metrics_t));
+ if (record)
+ {
+ memset(record, 0, sizeof(dpp_radius_metrics_t));
+ }
+
+ return record;
+}
+
+static inline void dpp_radius_metrics_record_free(dpp_radius_metrics_t *record)
+{
+ if (NULL != record)
+ {
+ free(record);
+ }
+}
+
typedef struct
{
dpp_dns_metrics_t dns_probe;
dpp_vlan_metrics_t vlan_probe;
- dpp_radius_metrics_t radius_probe;
} dpp_network_probe_record_t;
typedef struct
{
+ ds_dlist_t radius_probe;
dpp_network_probe_record_t record;
uint64_t timestamp_ms;
} dpp_network_probe_report_data_t;
Index: opensync-2.0.5.0/src/lib/target/inc/target_common.h
===================================================================
--- opensync-2.0.5.0.orig/src/lib/target/inc/target_common.h
+++ opensync-2.0.5.0/src/lib/target/inc/target_common.h
@@ -564,6 +564,7 @@ bool target_stats_scan_get(
* NETWORK PROBE definitions
*****************************************************************************/
bool target_stats_network_probe_get(dpp_network_probe_record_t *network_probe_report);
+bool target_stats_radius_probe_get(struct schema_Wifi_VIF_State schema, dpp_radius_metrics_t *radius_probe_report);
/******************************************************************************
* DEVICE definitions
Index: opensync-2.0.5.0/src/sm/src/sm_network_probe_report.c
===================================================================
--- opensync-2.0.5.0.orig/src/sm/src/sm_network_probe_report.c
+++ opensync-2.0.5.0/src/sm/src/sm_network_probe_report.c
@@ -82,6 +82,24 @@ bool dpp_network_probe_report_timer_set(
return true;
}
+static
+bool sm_radius_list_clear (
+ ds_dlist_t *radius_list)
+{
+ dpp_radius_metrics_t *record = NULL;
+ ds_dlist_iter_t record_iter;
+
+ for ( record = ds_dlist_ifirst(&record_iter, radius_list);
+ record != NULL;
+ record = ds_dlist_inext(&record_iter))
+ {
+ ds_dlist_iremove(&record_iter);
+ dpp_radius_metrics_record_free(record);
+ record = NULL;
+ }
+
+ return true;
+}
static
bool dpp_network_probe_report_timer_restart(
@@ -128,6 +146,32 @@ void sm_network_probe_report (EV_P_ ev_t
dpp_network_probe_report_timer_restart(report_timer);
+ ds_tree_t *vifs = sm_vifs_get();
+ sm_vif_state_t *vif;
+ dpp_radius_metrics_t *temp;
+
+ ds_tree_foreach(vifs, vif)
+ {
+ temp = NULL;
+ temp =
+ dpp_radius_metrics_record_alloc();
+ if (NULL == temp) {
+ goto clean;
+ }
+
+ rc =
+ target_stats_radius_probe_get (
+ vif->schema,
+ temp);
+ if (true != rc) {
+ dpp_radius_metrics_record_free(temp);
+ continue;
+ }
+
+ /* Add radius config to report */
+ ds_dlist_insert_tail(&report_ctx->radius_probe, temp);
+ }
+
/* Get network probe stats */
rc =
target_stats_network_probe_get (
@@ -149,6 +193,10 @@ void sm_network_probe_report (EV_P_ ev_t
sm_timestamp_ms_to_date(report_ctx->timestamp_ms), report_ctx->record.dns_probe.latency);
dpp_put_network_probe(report_ctx);
+
+clean:
+ /* Clear radius list */
+ sm_radius_list_clear(&report_ctx->radius_probe);
}
@@ -183,6 +231,10 @@ bool sm_network_probe_report_request(
LOG(INFO,
"Initializing network probe reporting");
+ ds_dlist_init(
+ &report_ctx->radius_probe,
+ dpp_radius_metrics_t,
+ node);
/* Initialize event lib timers and pass the global
internal cache
*/
@@ -211,6 +263,7 @@ bool sm_network_probe_report_request(
}
else {
LOG(INFO, "Stopped network probe reporting");
+ sm_radius_list_clear(&report_ctx->radius_probe);
memset(request_ctx, 0, sizeof(*request_ctx));
}
Index: opensync-2.0.5.0/src/sm/src/sm.h
===================================================================
--- opensync-2.0.5.0.orig/src/sm/src/sm.h
+++ opensync-2.0.5.0/src/sm/src/sm.h
@@ -303,6 +303,7 @@ typedef struct
} sm_stats_config_t;
ds_tree_t *sm_radios_get();
+ds_tree_t *sm_vifs_get();
void sm_vif_whitelist_get(char **mac_list, uint16_t *mac_size, uint16_t *mac_qty);
Index: opensync-2.0.5.0/interfaces/opensync_stats.proto
===================================================================
--- opensync-2.0.5.0.orig/interfaces/opensync_stats.proto
+++ opensync-2.0.5.0/interfaces/opensync_stats.proto
@@ -511,13 +511,13 @@ message RssiReport {
//
// Network probe parameters
//
-////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////
enum StateUpDown {
SUD_down = 0;
SUD_up = 1;
SUD_error = 2;
}
-
+
message DNSProbeMetric {
optional string serverIP = 1;
optional StateUpDown state = 2; // State of the server
@@ -527,44 +527,20 @@ message DNSProbeMetric {
message VLANMetrics {
optional string vlanIF = 1; // The name of the interface (ie: brtrunk.100)
optional StateUpDown dhcpState = 2; // The state of the DHCP server according to that vlan
- optional uint32 dhcpLatency = 3;
- optional StateUpDown dnsState = 4; // The state of the DNS server according to that vlan
- optional uint32 dnsLatency = 5;
- optional StateUpDown obsV200_radiusState = 6; // The state of the Radius server according to that vlan
- optional uint32 obsV200_radiusLatency = 7;
- repeated DNSProbeMetric dnsProbeResults = 8; // ver=1300
-
- // -- duration
- optional uint32 dur_vlanIF = 501; //category Network
- optional uint32 dur_dhcpState = 502; //category Network
- optional uint32 dur_dhcpLatency = 503; //category Network
- optional uint32 dur_dnsState = 504; //category Network
- optional uint32 dur_dnsLatency = 505; //category Network
- // optional uint32 obsV200_dur_radiusState = 506;
- // optional uint32 obsV200_dur_radiusLatency = 507;
- optional uint32 dur_dnsReport = 508;
+ optional uint32 latency = 3;
}
message RADIUSMetrics {
- optional bytes serverIP = 1;
- optional uint32 noAnswer = 2;
- optional uint32 latencyMin = 3;
- optional uint32 latencyMax = 4;
- optional uint32 latencyAve = 5;
-
- // -- duration
- optional uint32 dur_serverIP = 501; //category Network
- optional uint32 dur_noAnswer = 502; //category Network
- optional uint32 dur_latencyMin = 503; //category Network
- optional uint32 dur_latencyMax = 504; //category Network
- optional uint32 dur_latencyAve = 505; //category Network
+ optional string serverIP = 1;
+ optional StateUpDown radiusState = 2;
+ optional uint32 latency = 3;
}
message NetworkProbe {
optional DNSProbeMetric dns_probe = 1;
optional VLANMetrics vlan_probe = 2;
- optional RADIUSMetrics radius_probe = 3;
+ repeated RADIUSMetrics radius_probe = 3;
optional uint64 timestamp_ms = 4;
}
////////////////////////////////////////////////////////////////////////////////
Index: opensync-2.0.5.0/src/lib/datapipeline/inc/opensync_stats.pb-c.h
===================================================================
--- opensync-2.0.5.0.orig/src/lib/datapipeline/inc/opensync_stats.pb-c.h
+++ opensync-2.0.5.0/src/lib/datapipeline/inc/opensync_stats.pb-c.h
@@ -177,7 +177,7 @@ typedef enum _Sts__DiffType {
/*
* //////////////////////////////////////////////////////////////////////////////
* Network probe parameters
- * //////////////////////////////////////////////////////////////////////////////
+ * /////////////////////////////////////////////////////////////////////////////
*/
typedef enum _Sts__StateUpDown {
STS__STATE_UP_DOWN__SUD_down = 0,
@@ -1033,112 +1033,26 @@ struct _Sts__VLANMetrics
*/
protobuf_c_boolean has_dhcpstate;
Sts__StateUpDown dhcpstate;
- protobuf_c_boolean has_dhcplatency;
- uint32_t dhcplatency;
- /*
- * The state of the DNS server according to that vlan
- */
- protobuf_c_boolean has_dnsstate;
- Sts__StateUpDown dnsstate;
- protobuf_c_boolean has_dnslatency;
- uint32_t dnslatency;
- /*
- * The state of the Radius server according to that vlan
- */
- protobuf_c_boolean has_obsv200_radiusstate;
- Sts__StateUpDown obsv200_radiusstate;
- protobuf_c_boolean has_obsv200_radiuslatency;
- uint32_t obsv200_radiuslatency;
- /*
- * ver=1300
- */
- size_t n_dnsproberesults;
- Sts__DNSProbeMetric **dnsproberesults;
- /*
- * -- duration
- */
- /*
- *category Network
- */
- protobuf_c_boolean has_dur_vlanif;
- uint32_t dur_vlanif;
- /*
- *category Network
- */
- protobuf_c_boolean has_dur_dhcpstate;
- uint32_t dur_dhcpstate;
- /*
- *category Network
- */
- protobuf_c_boolean has_dur_dhcplatency;
- uint32_t dur_dhcplatency;
- /*
- *category Network
- */
- protobuf_c_boolean has_dur_dnsstate;
- uint32_t dur_dnsstate;
- /*
- *category Network
- */
- protobuf_c_boolean has_dur_dnslatency;
- uint32_t dur_dnslatency;
- /*
- * optional uint32 obsV200_dur_radiusState = 506;
- * optional uint32 obsV200_dur_radiusLatency = 507;
- */
- protobuf_c_boolean has_dur_dnsreport;
- uint32_t dur_dnsreport;
+ protobuf_c_boolean has_latency;
+ uint32_t latency;
};
#define STS__VLANMETRICS__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&sts__vlanmetrics__descriptor) \
- , NULL, 0, STS__STATE_UP_DOWN__SUD_down, 0, 0, 0, STS__STATE_UP_DOWN__SUD_down, 0, 0, 0, STS__STATE_UP_DOWN__SUD_down, 0, 0, 0,NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+ , NULL, 0, STS__STATE_UP_DOWN__SUD_down, 0, 0 }
struct _Sts__RADIUSMetrics
{
ProtobufCMessage base;
- protobuf_c_boolean has_serverip;
- ProtobufCBinaryData serverip;
- protobuf_c_boolean has_noanswer;
- uint32_t noanswer;
- protobuf_c_boolean has_latencymin;
- uint32_t latencymin;
- protobuf_c_boolean has_latencymax;
- uint32_t latencymax;
- protobuf_c_boolean has_latencyave;
- uint32_t latencyave;
- /*
- * -- duration
- */
- /*
- *category Network
- */
- protobuf_c_boolean has_dur_serverip;
- uint32_t dur_serverip;
- /*
- *category Network
- */
- protobuf_c_boolean has_dur_noanswer;
- uint32_t dur_noanswer;
- /*
- *category Network
- */
- protobuf_c_boolean has_dur_latencymin;
- uint32_t dur_latencymin;
- /*
- *category Network
- */
- protobuf_c_boolean has_dur_latencymax;
- uint32_t dur_latencymax;
- /*
- *category Network
- */
- protobuf_c_boolean has_dur_latencyave;
- uint32_t dur_latencyave;
+ char *serverip;
+ protobuf_c_boolean has_radiusstate;
+ Sts__StateUpDown radiusstate;
+ protobuf_c_boolean has_latency;
+ uint32_t latency;
};
#define STS__RADIUSMETRICS__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&sts__radiusmetrics__descriptor) \
- , 0, {0,NULL}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+ , NULL, 0, STS__STATE_UP_DOWN__SUD_down, 0, 0 }
struct _Sts__NetworkProbe
@@ -1146,13 +1060,14 @@ struct _Sts__NetworkProbe
ProtobufCMessage base;
Sts__DNSProbeMetric *dns_probe;
Sts__VLANMetrics *vlan_probe;
- Sts__RADIUSMetrics *radius_probe;
+ size_t n_radius_probe;
+ Sts__RADIUSMetrics **radius_probe;
protobuf_c_boolean has_timestamp_ms;
uint64_t timestamp_ms;
};
#define STS__NETWORK_PROBE__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&sts__network_probe__descriptor) \
- , NULL, NULL, NULL, 0, 0 }
+ , NULL, NULL, 0,NULL, 0, 0 }
/*
Index: opensync-2.0.5.0/src/lib/datapipeline/src/dppline.c
===================================================================
--- opensync-2.0.5.0.orig/src/lib/datapipeline/src/dppline.c
+++ opensync-2.0.5.0/src/lib/datapipeline/src/dppline.c
@@ -93,6 +93,7 @@ typedef struct
typedef struct dpp_network_probe_stats
{
+ dpp_radius_metrics_t *list;
dpp_network_probe_record_t record;
uint32_t qty;
uint64_t timestamp_ms;
@@ -231,6 +232,7 @@ static void dppline_free_stat(dppline_st
free(s->u.rssi.list);
break;
case DPP_T_NETWORK_PROBE:
+ free(s->u.network_probe.list);
break;
default:;
}
@@ -646,9 +648,38 @@ static bool dppline_copysts(dppline_stat
case DPP_T_NETWORK_PROBE:
{
dpp_network_probe_report_data_t *report_data = sts;
+ dpp_radius_metrics_t *result_entry = NULL;
+ ds_dlist_iter_t result_iter;
+
+
memcpy(&dst->u.network_probe.record.dns_probe, &report_data->record.dns_probe, sizeof(dpp_dns_metrics_t));
memcpy(&dst->u.network_probe.record.vlan_probe, &report_data->record.vlan_probe, sizeof(dpp_vlan_metrics_t));
dst->u.network_probe.timestamp_ms = report_data->timestamp_ms;
+
+ /* Loop through linked list of results and copy them to dppline buffer */
+
+ dst->u.network_probe.qty = 0;
+ for ( result_entry = ds_dlist_ifirst(&result_iter, &report_data->radius_probe);
+ result_entry != NULL;
+ result_entry = ds_dlist_inext(&result_iter))
+ {
+ size = (dst->u.network_probe.qty + 1) * sizeof(dpp_radius_metrics_t);
+ if (!dst->u.network_probe.qty)
+ {
+ dst->u.network_probe.list = calloc(1, size);
+ }
+ else
+ {
+ dst->u.network_probe.list = realloc(dst->u.network_probe.list, size);
+ memset(&dst->u.network_probe.list[dst->u.network_probe.qty],
+ 0,
+ sizeof(dpp_radius_metrics_t));
+ }
+ memcpy(&dst->u.network_probe.list[dst->u.network_probe.qty++],
+ result_entry,
+ sizeof(dpp_radius_metrics_t));
+ }
+
}
break;
default:
@@ -1628,9 +1659,30 @@ static void dppline_add_stat_network_pro
size += strlen(network_probe->record.vlan_probe.vlanIF) + 1;
sr->vlan_probe->dhcpstate = network_probe->record.vlan_probe.dhcpState;
sr->vlan_probe->has_dhcpstate = true;
- sr->vlan_probe->dhcplatency = network_probe->record.vlan_probe.dhcpLatency;
- sr->vlan_probe->has_dhcplatency = true;
+ sr->vlan_probe->latency = network_probe->record.vlan_probe.dhcpLatency;
+ sr->vlan_probe->has_latency = true;
+ if (network_probe->qty > 0)
+ {
+ sr->radius_probe = malloc(network_probe->qty * sizeof(*sr->radius_probe));
+ size += network_probe->qty * sizeof(*sr->radius_probe);
+ assert(sr->radius_probe);
+ }
+ sr->n_radius_probe = network_probe->qty;
+ for (uint i = 0; i < network_probe->qty; i++)
+ {
+ sr->radius_probe[i] = malloc(sizeof(**sr->radius_probe));
+ size += sizeof(**sr->radius_probe);
+ assert(sr->radius_probe[i]);
+ sts__radiusmetrics__init(sr->radius_probe[i]);
+
+ sr->radius_probe[i]->serverip = strdup(network_probe->list[i].serverIP);
+ size += strlen(network_probe->list[i].serverIP) + 1;
+ sr->radius_probe[i]->radiusstate = network_probe->list[i].radiusState;
+ sr->radius_probe[i]->has_radiusstate = true;
+ sr->radius_probe[i]->latency = network_probe->list[i].latency;
+ sr->radius_probe[i]->has_latency = true;
+ }
}
static void dppline_add_stat_bs_client(Sts__Report * r, dppline_stats_t * s)
Index: opensync-2.0.5.0/src/lib/datapipeline/src/opensync_stats.pb-c.c
===================================================================
--- opensync-2.0.5.0.orig/src/lib/datapipeline/src/opensync_stats.pb-c.c
+++ opensync-2.0.5.0/src/lib/datapipeline/src/opensync_stats.pb-c.c
@@ -4612,7 +4612,7 @@ const ProtobufCMessageDescriptor sts__dn
(ProtobufCMessageInit) sts__dnsprobe_metric__init,
NULL,NULL,NULL /* reserved[123] */
};
-static const ProtobufCFieldDescriptor sts__vlanmetrics__field_descriptors[14] =
+static const ProtobufCFieldDescriptor sts__vlanmetrics__field_descriptors[3] =
{
{
"vlanIF",
@@ -4639,144 +4639,12 @@ static const ProtobufCFieldDescriptor st
0,NULL,NULL /* reserved1,reserved2, etc */
},
{
- "dhcpLatency",
+ "latency",
3,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__VLANMetrics, has_dhcplatency),
- offsetof(Sts__VLANMetrics, dhcplatency),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dnsState",
- 4,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_ENUM,
- offsetof(Sts__VLANMetrics, has_dnsstate),
- offsetof(Sts__VLANMetrics, dnsstate),
- &sts__state_up_down__descriptor,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dnsLatency",
- 5,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__VLANMetrics, has_dnslatency),
- offsetof(Sts__VLANMetrics, dnslatency),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "obsV200_radiusState",
- 6,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_ENUM,
- offsetof(Sts__VLANMetrics, has_obsv200_radiusstate),
- offsetof(Sts__VLANMetrics, obsv200_radiusstate),
- &sts__state_up_down__descriptor,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "obsV200_radiusLatency",
- 7,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__VLANMetrics, has_obsv200_radiuslatency),
- offsetof(Sts__VLANMetrics, obsv200_radiuslatency),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dnsProbeResults",
- 8,
- PROTOBUF_C_LABEL_REPEATED,
- PROTOBUF_C_TYPE_MESSAGE,
- offsetof(Sts__VLANMetrics, n_dnsproberesults),
- offsetof(Sts__VLANMetrics, dnsproberesults),
- &sts__dnsprobe_metric__descriptor,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dur_vlanIF",
- 501,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__VLANMetrics, has_dur_vlanif),
- offsetof(Sts__VLANMetrics, dur_vlanif),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dur_dhcpState",
- 502,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__VLANMetrics, has_dur_dhcpstate),
- offsetof(Sts__VLANMetrics, dur_dhcpstate),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dur_dhcpLatency",
- 503,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__VLANMetrics, has_dur_dhcplatency),
- offsetof(Sts__VLANMetrics, dur_dhcplatency),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dur_dnsState",
- 504,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__VLANMetrics, has_dur_dnsstate),
- offsetof(Sts__VLANMetrics, dur_dnsstate),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dur_dnsLatency",
- 505,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__VLANMetrics, has_dur_dnslatency),
- offsetof(Sts__VLANMetrics, dur_dnslatency),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dur_dnsReport",
- 508,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__VLANMetrics, has_dur_dnsreport),
- offsetof(Sts__VLANMetrics, dur_dnsreport),
+ offsetof(Sts__VLANMetrics, has_latency),
+ offsetof(Sts__VLANMetrics, latency),
NULL,
NULL,
0, /* flags */
@@ -4784,27 +4652,14 @@ static const ProtobufCFieldDescriptor st
},
};
static const unsigned sts__vlanmetrics__field_indices_by_name[] = {
- 2, /* field[2] = dhcpLatency */
1, /* field[1] = dhcpState */
- 4, /* field[4] = dnsLatency */
- 7, /* field[7] = dnsProbeResults */
- 3, /* field[3] = dnsState */
- 10, /* field[10] = dur_dhcpLatency */
- 9, /* field[9] = dur_dhcpState */
- 12, /* field[12] = dur_dnsLatency */
- 13, /* field[13] = dur_dnsReport */
- 11, /* field[11] = dur_dnsState */
- 8, /* field[8] = dur_vlanIF */
- 6, /* field[6] = obsV200_radiusLatency */
- 5, /* field[5] = obsV200_radiusState */
+ 2, /* field[2] = latency */
0, /* field[0] = vlanIF */
};
-static const ProtobufCIntRange sts__vlanmetrics__number_ranges[3 + 1] =
+static const ProtobufCIntRange sts__vlanmetrics__number_ranges[1 + 1] =
{
{ 1, 0 },
- { 501, 8 },
- { 508, 13 },
- { 0, 14 }
+ { 0, 3 }
};
const ProtobufCMessageDescriptor sts__vlanmetrics__descriptor =
{
@@ -4814,21 +4669,21 @@ const ProtobufCMessageDescriptor sts__vl
"Sts__VLANMetrics",
"sts",
sizeof(Sts__VLANMetrics),
- 14,
+ 3,
sts__vlanmetrics__field_descriptors,
sts__vlanmetrics__field_indices_by_name,
- 3, sts__vlanmetrics__number_ranges,
+ 1, sts__vlanmetrics__number_ranges,
(ProtobufCMessageInit) sts__vlanmetrics__init,
NULL,NULL,NULL /* reserved[123] */
};
-static const ProtobufCFieldDescriptor sts__radiusmetrics__field_descriptors[10] =
+static const ProtobufCFieldDescriptor sts__radiusmetrics__field_descriptors[3] =
{
{
"serverIP",
1,
PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_BYTES,
- offsetof(Sts__RADIUSMetrics, has_serverip),
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
offsetof(Sts__RADIUSMetrics, serverip),
NULL,
NULL,
@@ -4836,108 +4691,24 @@ static const ProtobufCFieldDescriptor st
0,NULL,NULL /* reserved1,reserved2, etc */
},
{
- "noAnswer",
+ "radiusState",
2,
PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__RADIUSMetrics, has_noanswer),
- offsetof(Sts__RADIUSMetrics, noanswer),
- NULL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(Sts__RADIUSMetrics, has_radiusstate),
+ offsetof(Sts__RADIUSMetrics, radiusstate),
+ &sts__state_up_down__descriptor,
NULL,
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
{
- "latencyMin",
+ "latency",
3,
PROTOBUF_C_LABEL_OPTIONAL,
PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__RADIUSMetrics, has_latencymin),
- offsetof(Sts__RADIUSMetrics, latencymin),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "latencyMax",
- 4,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__RADIUSMetrics, has_latencymax),
- offsetof(Sts__RADIUSMetrics, latencymax),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "latencyAve",
- 5,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__RADIUSMetrics, has_latencyave),
- offsetof(Sts__RADIUSMetrics, latencyave),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dur_serverIP",
- 501,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__RADIUSMetrics, has_dur_serverip),
- offsetof(Sts__RADIUSMetrics, dur_serverip),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dur_noAnswer",
- 502,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__RADIUSMetrics, has_dur_noanswer),
- offsetof(Sts__RADIUSMetrics, dur_noanswer),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dur_latencyMin",
- 503,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__RADIUSMetrics, has_dur_latencymin),
- offsetof(Sts__RADIUSMetrics, dur_latencymin),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dur_latencyMax",
- 504,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__RADIUSMetrics, has_dur_latencymax),
- offsetof(Sts__RADIUSMetrics, dur_latencymax),
- NULL,
- NULL,
- 0, /* flags */
- 0,NULL,NULL /* reserved1,reserved2, etc */
- },
- {
- "dur_latencyAve",
- 505,
- PROTOBUF_C_LABEL_OPTIONAL,
- PROTOBUF_C_TYPE_UINT32,
- offsetof(Sts__RADIUSMetrics, has_dur_latencyave),
- offsetof(Sts__RADIUSMetrics, dur_latencyave),
+ offsetof(Sts__RADIUSMetrics, has_latency),
+ offsetof(Sts__RADIUSMetrics, latency),
NULL,
NULL,
0, /* flags */
@@ -4945,22 +4716,14 @@ static const ProtobufCFieldDescriptor st
},
};
static const unsigned sts__radiusmetrics__field_indices_by_name[] = {
- 9, /* field[9] = dur_latencyAve */
- 8, /* field[8] = dur_latencyMax */
- 7, /* field[7] = dur_latencyMin */
- 6, /* field[6] = dur_noAnswer */
- 5, /* field[5] = dur_serverIP */
- 4, /* field[4] = latencyAve */
- 3, /* field[3] = latencyMax */
- 2, /* field[2] = latencyMin */
- 1, /* field[1] = noAnswer */
+ 2, /* field[2] = latency */
+ 1, /* field[1] = radiusState */
0, /* field[0] = serverIP */
};
-static const ProtobufCIntRange sts__radiusmetrics__number_ranges[2 + 1] =
+static const ProtobufCIntRange sts__radiusmetrics__number_ranges[1 + 1] =
{
{ 1, 0 },
- { 501, 5 },
- { 0, 10 }
+ { 0, 3 }
};
const ProtobufCMessageDescriptor sts__radiusmetrics__descriptor =
{
@@ -4970,10 +4733,10 @@ const ProtobufCMessageDescriptor sts__ra
"Sts__RADIUSMetrics",
"sts",
sizeof(Sts__RADIUSMetrics),
- 10,
+ 3,
sts__radiusmetrics__field_descriptors,
sts__radiusmetrics__field_indices_by_name,
- 2, sts__radiusmetrics__number_ranges,
+ 1, sts__radiusmetrics__number_ranges,
(ProtobufCMessageInit) sts__radiusmetrics__init,
NULL,NULL,NULL /* reserved[123] */
};
@@ -5006,9 +4769,9 @@ static const ProtobufCFieldDescriptor st
{
"radius_probe",
3,
- PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_LABEL_REPEATED,
PROTOBUF_C_TYPE_MESSAGE,
- 0, /* quantifier_offset */
+ offsetof(Sts__NetworkProbe, n_radius_probe),
offsetof(Sts__NetworkProbe, radius_probe),
&sts__radiusmetrics__descriptor,
NULL,