+ break;
+
+ case LMP_OBJ_SERVICE_CONFIG:
+ switch (lmp_obj_ctype) {
+ case LMP_CTYPE_SERVICE_CONFIG_SP:
+
+ ND_PRINT((ndo, "\n\t Flags: %s",
+ bittok2str(lmp_obj_service_config_sp_flag_values,
+ "none",
+ EXTRACT_16BITS(obj_tptr)>>8)));
+
+ ND_PRINT((ndo, "\n\t UNI Version: %u",
+ EXTRACT_16BITS(obj_tptr) & 0x00FF));
+
+ break;
+
+ case LMP_CTYPE_SERVICE_CONFIG_CPSA:
+
+ link_type = EXTRACT_16BITS(obj_tptr)>>8;
+
+ ND_PRINT((ndo, "\n\t Link Type: %s (%u)",
+ tok2str(lmp_sd_service_config_cpsa_link_type_values,
+ "Unknown", link_type),
+ link_type));
+
+ if (link_type == LMP_SD_SERVICE_CONFIG_CPSA_LINK_TYPE_SDH) {
+ ND_PRINT((ndo, "\n\t Signal Type: %s (%u)",
+ tok2str(lmp_sd_service_config_cpsa_signal_type_sdh_values,
+ "Unknown",
+ EXTRACT_16BITS(obj_tptr) & 0x00FF),
+ EXTRACT_16BITS(obj_tptr) & 0x00FF));
+ }
+
+ if (link_type == LMP_SD_SERVICE_CONFIG_CPSA_LINK_TYPE_SONET) {
+ ND_PRINT((ndo, "\n\t Signal Type: %s (%u)",
+ tok2str(lmp_sd_service_config_cpsa_signal_type_sonet_values,
+ "Unknown",
+ EXTRACT_16BITS(obj_tptr) & 0x00FF),
+ EXTRACT_16BITS(obj_tptr) & 0x00FF));
+ }
+
+ ND_PRINT((ndo, "\n\t Transparency: %s",
+ bittok2str(lmp_obj_service_config_cpsa_tp_flag_values,
+ "none",
+ EXTRACT_16BITS(obj_tptr+2)>>8)));
+
+ ND_PRINT((ndo, "\n\t Contiguous Concatenation Types: %s",
+ bittok2str(lmp_obj_service_config_cpsa_cct_flag_values,
+ "none",
+ EXTRACT_16BITS(obj_tptr+2)>>8 & 0x00FF)));
+
+ ND_PRINT((ndo, "\n\t Minimum NCC: %u",
+ EXTRACT_16BITS(obj_tptr+4)));
+
+ ND_PRINT((ndo, "\n\t Maximum NCC: %u",
+ EXTRACT_16BITS(obj_tptr+6)));
+
+ ND_PRINT((ndo, "\n\t Minimum NVC:%u",
+ EXTRACT_16BITS(obj_tptr+8)));
+
+ ND_PRINT((ndo, "\n\t Maximum NVC:%u",
+ EXTRACT_16BITS(obj_tptr+10)));
+
+ ND_PRINT((ndo, "\n\t Local Interface ID: %s (0x%08x)",
+ ipaddr_string(ndo, obj_tptr+12),
+ EXTRACT_32BITS(obj_tptr+12)));
+
+ break;
+
+ case LMP_CTYPE_SERVICE_CONFIG_TRANSPARENCY_TCM:
+
+ ND_PRINT((ndo, "\n\t Transparency Flags: %s",
+ bittok2str(
+ lmp_obj_service_config_nsa_transparency_flag_values,
+ "none",
+ EXTRACT_32BITS(obj_tptr))));
+
+ ND_PRINT((ndo, "\n\t TCM Monitoring Flags: %s",
+ bittok2str(
+ lmp_obj_service_config_nsa_tcm_flag_values,
+ "none",
+ EXTRACT_16BITS(obj_tptr+6) & 0x00FF)));
+
+ break;
+
+ case LMP_CTYPE_SERVICE_CONFIG_NETWORK_DIVERSITY:
+
+ ND_PRINT((ndo, "\n\t Diversity: Flags: %s",
+ bittok2str(
+ lmp_obj_service_config_nsa_network_diversity_flag_values,
+ "none",
+ EXTRACT_16BITS(obj_tptr+2) & 0x00FF)));
+ break;
+
+ default:
+ hexdump = TRUE;
+ };
+
+ break;
+