Exemple #1
0
static int
dlcosmk_statinit(ipp_action_id_t aid, dlcosmk_data_t *dlcosmk_data)
{
	int err;
	dlcosmk_stat_t *statp;

	/* install stats entry */
	if ((err = ipp_stat_create(aid, DLCOSMK_STATS_STRING,
	    DLCOSMK_STATS_COUNT, dlcosmk_update_stats, dlcosmk_data,
	    &dlcosmk_data->stats)) != 0) {
		dlcosmk0dbg(("dlcosmk_create_action: ipp_stat_create " \
		    "returned with error %d\n", err));
		return (err);
	}

	statp = (dlcosmk_stat_t *)(dlcosmk_data->stats)->ipps_data;
	ASSERT(statp != NULL);

	if ((err = ipp_stat_named_init(dlcosmk_data->stats, "npackets",
	    IPP_STAT_UINT64, &statp->npackets)) != 0) {
		dlcosmk0dbg(("dlcosmk_create_action: ipp_stat_named_init " \
		    "returned with error %d\n", err));
		return (err);
	}

	if ((err = ipp_stat_named_init(dlcosmk_data->stats, "ipackets",
	    IPP_STAT_UINT64, &statp->ipackets)) != 0) {
		dlcosmk0dbg(("dlcosmk_create_action: ipp_stat_named_init " \
		    "returned with error %d\n", err));
		return (err);
	}

	if ((err = ipp_stat_named_init(dlcosmk_data->stats, "epackets",
	    IPP_STAT_UINT64, &statp->epackets)) != 0) {
		dlcosmk0dbg(("dlcosmk_create_action: ipp_stat_named_init " \
		    "returned with error %d\n", err));
		return (err);
	}

	if ((err = ipp_stat_named_init(dlcosmk_data->stats, "usr_pri",
	    IPP_STAT_INT32, &statp->usr_pri)) != 0) {
		dlcosmk0dbg(("dlcosmk_create_action: ipp_stat_named_init " \
		    "returned with error %d", err));
		return (err);
	}

	if ((err = ipp_stat_named_init(dlcosmk_data->stats, "b_band",
	    IPP_STAT_INT32, &statp->b_band)) != 0) {
		dlcosmk0dbg(("dlcosmk_create_action: ipp_stat_named_init " \
		    "returned with error %d\n", err));
		return (err);
	}

	if ((err = ipp_stat_named_init(dlcosmk_data->stats, "dl_max",
	    IPP_STAT_INT32, &statp->dl_max)) != 0) {
		dlcosmk0dbg(("dlcosmk_create_action: ipp_stat_named_init " \
		    "returned with error %d\n", err));
		return (err);
	}

	ipp_stat_install(dlcosmk_data->stats);
	return (0);
}
static int
tswtcl_statinit(ipp_action_id_t aid, tswtcl_data_t *tswtcl_data)
{
	int rc = 0;
	meter_stat_t *statsp;

	/* install stats entry */
	if ((rc = ipp_stat_create(aid, TSWTCL_STATS_STRING, METER_STATS_COUNT,
	    tswtcl_update_stats, tswtcl_data, &tswtcl_data->stats)) != 0) {
		tswtcl0dbg(("tswtcl_statinit:ipp_stat_create failed "\
		    " with %d\n", rc));
		return (rc);
	}

	statsp = (meter_stat_t *)(tswtcl_data->stats)->ipps_data;
	ASSERT(statsp != NULL);

	if ((rc = ipp_stat_named_init(tswtcl_data->stats, "red_packets",
	    IPP_STAT_UINT64, &statsp->red_packets)) != 0) {
		tswtcl0dbg(("tswtcl_statinit:ipp_stat_create failed "\
		    " with %d\n", rc));
		return (rc);
	}
	if ((rc = ipp_stat_named_init(tswtcl_data->stats, "red_bits",
	    IPP_STAT_UINT64, &statsp->red_bits)) != 0) {
		tswtcl0dbg(("tswtcl_statinit:ipp_stat_create failed "\
		    " with %d\n", rc));
		return (rc);
	}
	if ((rc = ipp_stat_named_init(tswtcl_data->stats, "yellow_packets",
	    IPP_STAT_UINT64, &statsp->yellow_packets)) != 0) {
		tswtcl0dbg(("tswtcl_statinit:ipp_stat_named_init failed "\
		    " with %d\n", rc));
		return (rc);
	}
	if ((rc = ipp_stat_named_init(tswtcl_data->stats, "yellow_bits",
	    IPP_STAT_UINT64, &statsp->yellow_bits)) != 0) {
		tswtcl0dbg(("tswtcl_statinit:ipp_stat_create failed "\
		    " with %d\n", rc));
		return (rc);
	}
	if ((rc = ipp_stat_named_init(tswtcl_data->stats, "green_packets",
	    IPP_STAT_UINT64, &statsp->green_packets)) != 0) {
		tswtcl0dbg(("tswtcl_statinit:ipp_stat_named_init failed "\
		    " with %d\n", rc));
		return (rc);
	}
	if ((rc = ipp_stat_named_init(tswtcl_data->stats, "green_bits",
	    IPP_STAT_UINT64, &statsp->green_bits)) != 0) {
		tswtcl0dbg(("tswtcl_statinit:ipp_stat_create failed "\
		    " with %d\n", rc));
		return (rc);
	}
	if ((rc = ipp_stat_named_init(tswtcl_data->stats, "epackets",
	    IPP_STAT_UINT64, &statsp->epackets)) != 0) {
		tswtcl0dbg(("tswtcl_statinit:ipp_stat_named_init failed "\
		    " with %d\n", rc));
		return (rc);
	}
	ipp_stat_install(tswtcl_data->stats);

	return (rc);

}