diff --git a/src/cntlr_map_debug.c b/src/cntlr_map_debug.c index 4d92070cacc386bbd4222ffb90faaa4d418447bc..155defef3e0056c9e4fc78b9f04030245336a500 100644 --- a/src/cntlr_map_debug.c +++ b/src/cntlr_map_debug.c @@ -1127,49 +1127,38 @@ int debug_hld_message(void *cntlr, struct cmdu_buff *cmdu, struct node *n) int debug_backhaul_sta_steer_response(void *cntlr, struct cmdu_buff *cmdu, struct node *n) { + struct tlv_backhaul_steer_resp *p = NULL; + struct tlv *tv[2][TLV_MAXNUM] = {0}; + int ret; + + trace("%s: --->\n", __func__); + trace("parsing backhaul steer steer response of |:" MACFMT "|\n", + MAC2STR(cmdu->origin)); + + ret = map_cmdu_parse_tlvs(cmdu, tv, 2, n->map_profile); + if (ret) { + dbg("%s: map_cmdu_parse_tlvs failed, err = (%d) '%s'\n", __func__, + map_error, map_strerror(map_error)); + return ret; + } + + if (!tv[0][0]) + return -1; + + p = (struct tlv_backhaul_steer_resp *)tv[0][0]->data; + + trace("\ttarget_bssid: " MACFMT "\n", MAC2STR(p->target_bssid)); + trace("\tmacaddr: " MACFMT "\n", MAC2STR(p->macaddr)); + trace("\tresult: 0x%02x\n", p->result); + + if (tv[1][0]) { + struct tlv_error_code *r = + (struct tlv_error_code *) tv[1][0]->data; + + trace("\treason_code: 0x%02x\n", r->reason); + } + return 0; -// int i; -// uint8_t *tlv = NULL; -// -// trace("%s: --->\n", __func__); -// trace("parsing backhaul sta steer response of |%s:" MACFMT "|\n", -// cmdu->intf_name, MAC2STR(cmdu->origin)); -// -// for (i = 0; i < cmdu->num_tlvs; i++) { -// tlv = cmdu->tlvs[i]; -// trace("CMDU type: %s\n", map_stringify_tlv_type(*tlv)); -// switch (*tlv) { -// case MAP_TLV_BACKHAUL_STEERING_RESPONSE: -// { -// struct tlv_backhaul_steer_resp *p = -// (struct tlv_backhaul_steer_resp *)tlv; -// -// trace("\tbssid: " MACFMT "\n", -// MAC2STR(p->bssid)); -// trace("\taddr: " MACFMT "\n", -// MAC2STR(p->addr)); -// -// trace("\tres_code: 0x%02x\n", p->res_code); -// -// break; -// } -// case MAP_TLV_ERROR_CODE: -// { -// struct tlv_error_code *p = -// (struct tlv_error_code *)tlv; -// -// trace("\treason_code: 0x%02x\n", p->reason_code); -// break; -// } -// default: -// fprintf(stdout, "unknown TLV in CMDU:|%s|", -// map_stringify_cmdu_type(cmdu->message_type)); -// break; -// } -// trace("\n"); -// } -// -// return 0; } #define TIMESTAMP_MAX_LEN 256