diff options
Diffstat (limited to 'sys/net')
-rw-r--r-- | sys/net/if_loop.c | 2 | ||||
-rw-r--r-- | sys/net/route.c | 2 | ||||
-rw-r--r-- | sys/net/route.h | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/sys/net/if_loop.c b/sys/net/if_loop.c index 8c4c5da..21f8026 100644 --- a/sys/net/if_loop.c +++ b/sys/net/if_loop.c @@ -276,7 +276,7 @@ if_simloop(ifp, m, af, hlen) (char *)(mtod(m, vm_offset_t) - (mtod(m, vm_offset_t) & 3)), m->m_len); - mtod(m,vm_offset_t) -= (mtod(m, vm_offset_t) & 3); + m->m_data -= (mtod(m,vm_offset_t) & 3); } #endif } diff --git a/sys/net/route.c b/sys/net/route.c index e6d8031..5cd1f0d 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -1021,7 +1021,7 @@ rt_setgate(struct rtentry *rt, struct sockaddr *dst, struct sockaddr *gate) */ bcopy(dst, new, dlen); Free(rt_key(rt)); /* free old block, if any */ - rt_key(rt) = new; + rt_key(rt) = (struct sockaddr *)new; rt->rt_gateway = (struct sockaddr *)(new + dlen); } diff --git a/sys/net/route.h b/sys/net/route.h index b621d9b..16716a3 100644 --- a/sys/net/route.h +++ b/sys/net/route.h @@ -105,8 +105,8 @@ struct rtentry { * because the code does some casts of a 'struct radix_node *' * to a 'struct rtentry *' */ -#define rt_key(r) ((struct sockaddr *)((r)->rt_nodes->rn_key)) -#define rt_mask(r) ((struct sockaddr *)((r)->rt_nodes->rn_mask)) +#define rt_key(r) (*((struct sockaddr **)(&(r)->rt_nodes->rn_key))) +#define rt_mask(r) (*((struct sockaddr **)(&(r)->rt_nodes->rn_mask))) struct sockaddr *rt_gateway; /* value */ u_long rt_flags; /* up/down?, host/net */ struct ifnet *rt_ifp; /* the answer: interface to use */ |