diff --git a/sys/net/if_var.h b/sys/net/if_var.h index 7c5cb8b05dc..78eea2c6bd3 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -147,12 +147,7 @@ struct ifnet { */ struct knlist if_klist; /* events attached to this if */ int if_pcount; /* number of promiscuous listeners */ - union { - struct carp_if *carp_s; /* carp structure (used by !carp ifs) */ - struct ifnet *carp_d; /* ptr to carpdev (used by carp ifs) */ - } if_carp_ptr; -#define if_carp if_carp_ptr.carp_s -#define if_carpdev if_carp_ptr.carp_d + struct carp_if *if_carp; /* carp interface structure */ struct bpf_if *if_bpf; /* packet filter structure */ u_short if_index; /* numeric abbreviation for this if */ short if_timer; /* time 'til if_watchdog called */ diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index 0d78ddcfac6..e80cdd50c0e 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -90,7 +90,7 @@ SYSCTL_DECL(_net_inet_carp); struct carp_softc { struct arpcom sc_ac; /* Interface clue */ #define sc_if sc_ac.ac_if -#define sc_carpdev sc_ac.ac_if.if_carpdev + struct ifnet *sc_carpdev; /* Pointer to parent interface */ struct in_ifaddr *sc_ia; /* primary iface address */ struct ip_moptions sc_imo; #ifdef INET6