2585 htonl(range->sadb_spirange_min),
2586 htonl(range->sadb_spirange_max));
2587 }
2588
2589 /*
2590 * Print an SADB_X_EXT_KM_COOKIE extension.
2591 */
2592
2593 void
2594 print_kmc(FILE *file, char *prefix, struct sadb_x_kmc *kmc)
2595 {
2596 char *cookie_label;
2597
2598 switch (kmc->sadb_x_kmc_proto) {
2599 case SADB_X_KMP_IKE:
2600 cookie_label = kmc_lookup_by_cookie(kmc->sadb_x_kmc_cookie);
2601 if (cookie_label == NULL)
2602 cookie_label =
2603 dgettext(TEXT_DOMAIN, "<Label not found.>");
2604 (void) fprintf(file, dgettext(TEXT_DOMAIN,
2605 "%sProtocol %u, cookie=\"%s\" (%u)\n"), prefix,
2606 kmc->sadb_x_kmc_proto, cookie_label,
2607 kmc->sadb_x_kmc_cookie);
2608 return;
2609 case SADB_X_KMP_MANUAL:
2610 cookie_label = dgettext(TEXT_DOMAIN, "Manual SA with cookie");
2611 break;
2612 /* case SADB_X_KMP_IKEV2: */
2613 default:
2614 cookie_label =
2615 dgettext(TEXT_DOMAIN, "<unknown KM protocol>");
2616 break;
2617 }
2618
2619 /* XXX KEBE ASKS... htonll() on generic kmc_cookie? */
2620 (void) fprintf(file, dgettext(TEXT_DOMAIN,
2621 "%sProtocol %u, cookie=\"%s\" (0x%"PRIx64"/%"PRIu64")\n"),
2622 prefix, kmc->sadb_x_kmc_proto, cookie_label,
2623 kmc->sadb_x_kmc_cookie64, kmc->sadb_x_kmc_cookie64);
2624 }
2625
2626 /*
2627 * Print an SADB_X_EXT_REPLAY_CTR extension.
2628 */
2629
2630 void
2631 print_replay(FILE *file, char *prefix, sadb_x_replay_ctr_t *repl)
2632 {
2633 (void) fprintf(file, dgettext(TEXT_DOMAIN,
2634 "%sReplay Value "), prefix);
2635 if ((repl->sadb_x_rc_replay32 == 0) &&
2636 (repl->sadb_x_rc_replay64 == 0)) {
2637 (void) fprintf(file, dgettext(TEXT_DOMAIN,
2638 "<Value not found.>"));
2639 }
2640 /*
2641 * We currently do not support a 64-bit replay value.
|
2585 htonl(range->sadb_spirange_min),
2586 htonl(range->sadb_spirange_max));
2587 }
2588
2589 /*
2590 * Print an SADB_X_EXT_KM_COOKIE extension.
2591 */
2592
2593 void
2594 print_kmc(FILE *file, char *prefix, struct sadb_x_kmc *kmc)
2595 {
2596 char *cookie_label;
2597
2598 switch (kmc->sadb_x_kmc_proto) {
2599 case SADB_X_KMP_IKE:
2600 cookie_label = kmc_lookup_by_cookie(kmc->sadb_x_kmc_cookie);
2601 if (cookie_label == NULL)
2602 cookie_label =
2603 dgettext(TEXT_DOMAIN, "<Label not found.>");
2604 (void) fprintf(file, dgettext(TEXT_DOMAIN,
2605 "%s Protocol %u, cookie=\"%s\" (%u)\n"), prefix,
2606 kmc->sadb_x_kmc_proto, cookie_label,
2607 kmc->sadb_x_kmc_cookie);
2608 return;
2609 case SADB_X_KMP_KINK:
2610 cookie_label = dgettext(TEXT_DOMAIN, "KINK:");
2611 break;
2612 case SADB_X_KMP_MANUAL:
2613 cookie_label = dgettext(TEXT_DOMAIN, "Manual SA with cookie:");
2614 break;
2615 /* case SADB_X_KMP_IKEV2: */
2616 default:
2617 cookie_label =
2618 dgettext(TEXT_DOMAIN, "<unknown KM protocol>");
2619 break;
2620 }
2621
2622 /*
2623 * Assume native-byte-order printing for now. Exceptions (like
2624 * byte-swapping) should be handled in per-KM-protocol cases above.
2625 */
2626 (void) fprintf(file, dgettext(TEXT_DOMAIN,
2627 "%s Protocol %u, cookie=\"%s\" (0x%"PRIx64"/%"PRIu64")\n"),
2628 prefix, kmc->sadb_x_kmc_proto, cookie_label,
2629 kmc->sadb_x_kmc_cookie64, kmc->sadb_x_kmc_cookie64);
2630 }
2631
2632 /*
2633 * Print an SADB_X_EXT_REPLAY_CTR extension.
2634 */
2635
2636 void
2637 print_replay(FILE *file, char *prefix, sadb_x_replay_ctr_t *repl)
2638 {
2639 (void) fprintf(file, dgettext(TEXT_DOMAIN,
2640 "%sReplay Value "), prefix);
2641 if ((repl->sadb_x_rc_replay32 == 0) &&
2642 (repl->sadb_x_rc_replay64 == 0)) {
2643 (void) fprintf(file, dgettext(TEXT_DOMAIN,
2644 "<Value not found.>"));
2645 }
2646 /*
2647 * We currently do not support a 64-bit replay value.
|