- type_end = strrchr(counter_name, '_');
-
- if ((type_end != NULL) &&
- (strncmp(counter_name, "rx_", strlen("rx_")) == 0)) {
- if (strstr(type_end, "bytes") != NULL) {
- sstrncpy(vl.type, "if_rx_octets", sizeof(vl.type));
- } else if (strstr(type_end, "error") != NULL) {
- sstrncpy(vl.type, "if_rx_errors", sizeof(vl.type));
- } else if (strstr(type_end, "dropped") != NULL) {
- sstrncpy(vl.type, "if_rx_dropped", sizeof(vl.type));
- } else if (strstr(type_end, "packets") != NULL) {
- sstrncpy(vl.type, "if_rx_packets", sizeof(vl.type));
- } else if (strstr(type_end, "_placement") != NULL) {
- sstrncpy(vl.type, "if_rx_errors", sizeof(vl.type));
- } else if (strstr(type_end, "_buff") != NULL) {
- sstrncpy(vl.type, "if_rx_errors", sizeof(vl.type));
- } else {
- /* Does not fit obvious type: use a more generic one */
- sstrncpy(vl.type, "derive", sizeof(vl.type));
- }
-
- } else if ((type_end != NULL) &&
- (strncmp(counter_name, "tx_", strlen("tx_"))) == 0) {
- if (strstr(type_end, "bytes") != NULL) {
- sstrncpy(vl.type, "if_tx_octets", sizeof(vl.type));
- } else if (strstr(type_end, "error") != NULL) {
- sstrncpy(vl.type, "if_tx_errors", sizeof(vl.type));
- } else if (strstr(type_end, "dropped") != NULL) {
- sstrncpy(vl.type, "if_tx_dropped", sizeof(vl.type));
- } else if (strstr(type_end, "packets") != NULL) {
- sstrncpy(vl.type, "if_tx_packets", sizeof(vl.type));
- } else {
- /* Does not fit obvious type: use a more generic one */
- sstrncpy(vl.type, "derive", sizeof(vl.type));
- }
- } else if ((type_end != NULL) &&
- (strncmp(counter_name, "flow_", strlen("flow_"))) == 0) {
-
- if (strstr(type_end, "_filters") != NULL) {
- sstrncpy(vl.type, "operations", sizeof(vl.type));
- } else if (strstr(type_end, "error") != NULL)
- sstrncpy(vl.type, "errors", sizeof(vl.type));
-
- } else if ((type_end != NULL) &&
- (strncmp(counter_name, "mac_", strlen("mac_"))) == 0) {
- if (strstr(type_end, "error") != NULL) {
- sstrncpy(vl.type, "errors", sizeof(vl.type));
- }
- } else {
- /* Does not fit obvious type, or strrchr error:
- * use a more generic type */
- sstrncpy(vl.type, "derive", sizeof(vl.type));
- }