- if (v->kvp[k].key == ~0ULL && v->kvp[k].value == ~0ULL)
- continue;
-
- if ((verbose || learn) && first_entry)
- {
- first_entry = 0;
- vlib_cli_output (vm,
- "%=19s%=7s%=7s%=8s%=9s%=7s%=7s%=5s%=30s",
- "Mac-Address", "BD-Idx", "If-Idx",
- "BSN-ISN", "Age(min)", "static", "filter",
- "bvi", "Interface-Name");
- }
-
- key.raw = v->kvp[k].key;
- result.raw = v->kvp[k].value;
-
- if ((verbose || learn)
- & ((bd_index >> 31) || (bd_index == key.fields.bd_index)))
- {
- if (learn && result.fields.age_not)
- {
- total_entries++;
- continue; /* skip provisioned macs */
- }
-
- bd_config = vec_elt_at_index (l2input_main.bd_configs,
- key.fields.bd_index);
-
- if (bd_config->mac_age && !result.fields.age_not)
- {
- i16 delta = now - result.fields.timestamp;
- delta += delta < 0 ? 256 : 0;
- s = format (s, "%d", delta);
- }
- else
- s = format (s, "-");
-
- vlib_cli_output (vm,
- "%=19U%=7d%=7d %3d/%-3d%=9v%=7s%=7s%=5s%=30U",
- format_ethernet_address, key.fields.mac,
- key.fields.bd_index,
- result.fields.sw_if_index == ~0
- ? -1 : result.fields.sw_if_index,
- result.fields.sn.bd, result.fields.sn.swif,
- s, result.fields.static_mac ? "*" : "-",
- result.fields.filter ? "*" : "-",
- result.fields.bvi ? "*" : "-",
- format_vnet_sw_if_index_name_with_NA,
- msm->vnet_main, result.fields.sw_if_index);
- vec_reset_length (s);
- }
- total_entries++;