]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-ripng.c
Revert partially the commit 21b1273
[tcpdump] / print-ripng.c
index 90eddf4571703719d5a1904f6f8839197e12062e..e030c000cdce74939e4be3b2bddb0b39dfddbbec 100644 (file)
@@ -87,7 +87,7 @@ struct        rip6 {
 
 static int ND_IN6_IS_ADDR_UNSPECIFIED(const nd_ipv6 *addr)
 {
-    static const struct in6_addr in6addr_any_val;        /* :: */
+    static const nd_ipv6 in6addr_any_val = { 0 };        /* :: */
     return (memcmp(addr, &in6addr_any_val, sizeof(*addr)) == 0);
 }
 
@@ -97,9 +97,9 @@ rip6_entry_print(netdissect_options *ndo, const struct netinfo6 *ni, u_int metri
        int l;
        uint16_t tag;
 
-       l = ND_PRINT("%s/%u", ip6addr_string(ndo, ni->rip6_dest),
-                    EXTRACT_U_1(ni->rip6_plen));
-       tag = EXTRACT_BE_U_2(ni->rip6_tag);
+       l = ND_PRINT("%s/%u", GET_IP6ADDR_STRING(ni->rip6_dest),
+                    GET_U_1(ni->rip6_plen));
+       tag = GET_BE_U_2(ni->rip6_tag);
        if (tag)
                l += ND_PRINT(" [%u]", tag);
        if (metric)
@@ -117,8 +117,7 @@ ripng_print(netdissect_options *ndo, const u_char *dat, unsigned int length)
        u_int j;
 
        ndo->ndo_protocol = "ripng";
-       ND_TCHECK_1(rp->rip6_cmd);
-       cmd = EXTRACT_U_1(rp->rip6_cmd);
+       cmd = GET_U_1(rp->rip6_cmd);
        switch (cmd) {
 
        case RIP6_REQUEST:
@@ -129,7 +128,7 @@ ripng_print(netdissect_options *ndo, const u_char *dat, unsigned int length)
                j = length_left / sizeof(*ni);
                if (j == 1) {
                        ND_TCHECK_SIZE(rp->rip6_nets);
-                       if (EXTRACT_U_1(rp->rip6_nets->rip6_metric) == HOPCNT_INFINITY6
+                       if (GET_U_1(rp->rip6_nets->rip6_metric) == HOPCNT_INFINITY6
                            && ND_IN6_IS_ADDR_UNSPECIFIED(&rp->rip6_nets->rip6_dest)) {
                                ND_PRINT(" ripng-req dump");
                                break;
@@ -168,7 +167,7 @@ ripng_print(netdissect_options *ndo, const u_char *dat, unsigned int length)
                                ND_PRINT("\n\t");
                        else
                                ND_PRINT(" ");
-                       rip6_entry_print(ndo, ni, EXTRACT_U_1(ni->rip6_metric));
+                       rip6_entry_print(ndo, ni, GET_U_1(ni->rip6_metric));
                }
                if (length_left != 0)
                        goto trunc;
@@ -177,12 +176,11 @@ ripng_print(netdissect_options *ndo, const u_char *dat, unsigned int length)
                ND_PRINT(" ripng-%u ?? %u", cmd, length);
                break;
        }
-       ND_TCHECK_1(rp->rip6_vers);
-       if (EXTRACT_U_1(rp->rip6_vers) != RIP6_VERSION)
-               ND_PRINT(" [vers %u]", EXTRACT_U_1(rp->rip6_vers));
+       if (GET_U_1(rp->rip6_vers) != RIP6_VERSION)
+               ND_PRINT(" [vers %u]", GET_U_1(rp->rip6_vers));
        return;
 
 trunc:
-       ND_PRINT("[|ripng]");
+       nd_print_trunc(ndo);
        return;
 }