2 ===================================================================
5 @@ -404,7 +404,11 @@ struct icmp6_router_renum { /* router re
10 + u_int8_t rr_reserved8[4];
11 + u_int16_t rr_reserved16[2];
12 u_int32_t rr_reserved;
15 #define ICMP6_RR_FLAGS_TEST 0x80
16 #define ICMP6_RR_FLAGS_REQRESULT 0x40
18 ===================================================================
21 @@ -47,6 +47,12 @@ static const char rcsid[] _U_ =
22 * Per RFC 792, September 1981.
26 +struct mtu_discovery {
28 + u_int16_t nexthopmtu;
32 * Structure of an icmp header.
34 @@ -61,8 +67,12 @@ struct icmp {
40 + struct mtu_discovery ih_mtu_discovery;
43 +#define icmp_mtu_discovery icmp_hun.ih_mtu_discovery
44 #define icmp_pptr icmp_hun.ih_pptr
45 #define icmp_gwaddr icmp_hun.ih_gwaddr
46 #define icmp_id icmp_hun.ih_idseq.icd_id
47 @@ -243,12 +253,6 @@ static struct tok type2str[] = {
52 -struct mtu_discovery {
54 - u_int16_t nexthopmtu;
58 struct ih_rdiscovery {
60 @@ -413,7 +417,7 @@ icmp_print(const u_char *bp, u_int plen,
61 case ICMP_UNREACH_NEEDFRAG:
63 register const struct mtu_discovery *mp;
64 - mp = (struct mtu_discovery *)(u_char *)&dp->icmp_void;
65 + mp = &dp->icmp_mtu_discovery;
66 mtu = EXTRACT_16BITS(&mp->nexthopmtu);
68 (void)snprintf(buf, sizeof(buf),
70 ===================================================================
71 --- print-icmp6.c.orig
73 @@ -1279,7 +1279,7 @@ icmp6_rrenum_print(const u_char *bp, con
74 printf("seg=%u,", rr6->rr_segnum);
75 printf("maxdelay=%u", EXTRACT_16BITS(&rr6->rr_maxdelay));
77 - printf("rsvd=0x%x", EXTRACT_32BITS(&rr6->rr_reserved));
78 + printf("rsvd=0x%x", EXTRACT_16BITS(&rr6->rr_reserved16[0]));
83 ===================================================================
84 --- print-timed.c.orig
86 @@ -86,8 +86,8 @@ timed_print(register const u_char *bp)
87 fputs(" [|timed]", stdout);
90 - sec = EXTRACT_32BITS(&tsp->tsp_time.tv_sec);
91 - usec = EXTRACT_32BITS(&tsp->tsp_time.tv_usec);
92 + sec = EXTRACT_32BITS(&tsp->tsp_time.tv_sec32[0]);
93 + usec = EXTRACT_32BITS(&tsp->tsp_time.tv_usec32[0]);
95 /* corrupt, skip the rest of the packet */
98 ===================================================================
101 @@ -54,7 +54,16 @@ struct tsp {
105 - struct tsp_timeval tspu_time;
118 int8_t tsp_name[256];