Skip to content

Commit

Permalink
ltq-vdsl-app: add error vector counters to the ubus metrics
Browse files Browse the repository at this point in the history
These are useful stats to debug vector related line deteriorations,
see [0].

Example output:
    "erb": {
	    "sent": 169925,
	    "discarded": 0
    }

[0] https://forum.openwrt.org/t/vectoring-on-lantiq-vrx200-vr9-missing-callback-for-sending-error-samples/104046

Signed-off-by: Andre Heider <a.heider@gmail.com>
  • Loading branch information
dhewg authored and hauke committed Oct 20, 2021
1 parent 276c80b commit 70729d3
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions package/network/config/ltq-vdsl-app/src/src/dsl_cpe_ubus.c
Expand Up @@ -502,6 +502,18 @@ static void get_vector_status(int fd, vector_t *status) {
#endif
}

static void vector_erb(int fd) {
#ifdef INCLUDE_DSL_CPE_API_VRX
if (fd < 0)
return;

IOCTL(IOCTL_MEI_dsmStatistics_t, FIO_MEI_DSM_STATISTICS_GET);

m_u32("sent", out.n_processed);
m_u32("discarded", out.n_fw_dropped_size + out.n_mei_dropped_size + out.n_mei_dropped_no_pp_cb + out.n_pp_dropped);
#endif
}

static void band_plan_status(int fd, profile_t *profile) {
#if (INCLUDE_DSL_CPE_API_VDSL_SUPPORT == 1)
IOCTL(DSL_BandPlanStatus_t, DSL_FIO_BAND_PLAN_STATUS_GET)
Expand Down Expand Up @@ -803,6 +815,17 @@ static int metrics(struct ubus_context *ctx, struct ubus_object *obj,
blobmsg_close_table(&b, c2);
blobmsg_close_table(&b, c);

switch (vector) {
case VECTOR_ON_DS:
case VECTOR_ON_DS_US:
c = blobmsg_open_table(&b, "erb");
vector_erb(fd_mei);
blobmsg_close_table(&b, c);
break;
default:
break;
};

ubus_send_reply(ctx, req, b.head);

if (fd_mei >= 0)
Expand Down

0 comments on commit 70729d3

Please sign in to comment.