Page MenuHomeFreeBSD

D55963.diff
No OneTemporary

D55963.diff

diff --git a/sys/netinet/in_var.h b/sys/netinet/in_var.h
--- a/sys/netinet/in_var.h
+++ b/sys/netinet/in_var.h
@@ -224,9 +224,18 @@
};
/*
- * Helper types and functions for IPv4 multicast filters.
+ * Structure attached to inpcb.ip_moptions and passed to ip_output() when IP
+ * multicast options are in use.
+ * This structure is lazy-allocated.
*/
-STAILQ_HEAD(ip_mfilter_head, in_mfilter);
+struct ip_moptions {
+ struct ifnet *imo_multicast_ifp; /* ifp for outgoing multicasts */
+ struct in_addr imo_multicast_addr; /* ifindex/addr on MULTICAST_IF */
+ u_long imo_multicast_vif; /* vif num outgoing multicasts */
+ u_char imo_multicast_ttl; /* TTL for outgoing multicasts */
+ u_char imo_multicast_loop; /* 1 => hear sends if a member */
+ STAILQ_HEAD(ip_mfilter_head, in_mfilter) imo_head;
+};
struct in_mfilter *ip_mfilter_alloc(int mflags, int st0, int st1);
void ip_mfilter_free(struct in_mfilter *);
@@ -434,7 +443,6 @@
#define MCAST_MUTED 3 /* [deprecated] */
struct rib_head;
-struct ip_moptions;
struct ucred;
struct in_multi *inm_lookup_locked(struct ifnet *, const struct in_addr);
diff --git a/sys/netinet/ip_var.h b/sys/netinet/ip_var.h
--- a/sys/netinet/ip_var.h
+++ b/sys/netinet/ip_var.h
@@ -82,24 +82,6 @@
char ipopt_list[MAX_IPOPTLEN]; /* options proper */
};
-#if defined(_NETINET_IN_VAR_H_) && defined(_KERNEL)
-/*
- * Structure attached to inpcb.ip_moptions and
- * passed to ip_output when IP multicast options are in use.
- * This structure is lazy-allocated.
- */
-struct ip_moptions {
- struct ifnet *imo_multicast_ifp; /* ifp for outgoing multicasts */
- struct in_addr imo_multicast_addr; /* ifindex/addr on MULTICAST_IF */
- u_long imo_multicast_vif; /* vif num outgoing multicasts */
- u_char imo_multicast_ttl; /* TTL for outgoing multicasts */
- u_char imo_multicast_loop; /* 1 => hear sends if a member */
- struct ip_mfilter_head imo_head; /* group membership list */
-};
-#else
-struct ip_moptions;
-#endif
-
struct ipstat {
uint64_t ips_total; /* total packets received */
uint64_t ips_badsum; /* checksum bad */
@@ -191,6 +173,7 @@
struct route;
struct sockopt;
struct inpcbinfo;
+struct ip_moptions;
VNET_DECLARE(int, ip_defttl); /* default IP ttl */
VNET_DECLARE(int, ipforwarding); /* ip forwarding */
diff --git a/sys/netinet6/in6_var.h b/sys/netinet6/in6_var.h
--- a/sys/netinet6/in6_var.h
+++ b/sys/netinet6/in6_var.h
@@ -631,9 +631,16 @@
};
/*
- * Helper types and functions for IPv4 multicast filters.
+ * Structure attached to inpcb.in6p_moptions and passed to ip6_output() when
+ * IPv6 multicast options are in use.
+ * This structure is lazy-allocated.
*/
-STAILQ_HEAD(ip6_mfilter_head, in6_mfilter);
+struct ip6_moptions {
+ struct ifnet *im6o_multicast_ifp; /* ifp for outgoing multicasts */
+ u_char im6o_multicast_hlim; /* hoplimit for outgoing multicasts */
+ u_char im6o_multicast_loop; /* 1 >= hear sends if a member */
+ STAILQ_HEAD(ip6_mfilter_head, in6_mfilter) im6o_head;
+};
struct in6_mfilter *ip6_mfilter_alloc(int mflags, int st0, int st1);
void ip6_mfilter_free(struct in6_mfilter *);
@@ -856,7 +863,6 @@
}
}
-struct ip6_moptions;
struct sockopt;
struct inpcbinfo;
struct rib_head;
diff --git a/sys/netinet6/ip6_var.h b/sys/netinet6/ip6_var.h
--- a/sys/netinet6/ip6_var.h
+++ b/sys/netinet6/ip6_var.h
@@ -95,21 +95,6 @@
uint32_t ip6dc_off; /* offset to next header */
};
-#if defined(_NETINET6_IN6_VAR_H_) && defined(_KERNEL)
-/*
- * Structure attached to inpcb.in6p_moptions and
- * passed to ip6_output when IPv6 multicast options are in use.
- * This structure is lazy-allocated.
- */
-struct ip6_moptions {
- struct ifnet *im6o_multicast_ifp; /* ifp for outgoing multicasts */
- u_char im6o_multicast_hlim; /* hoplimit for outgoing multicasts */
- u_char im6o_multicast_loop; /* 1 >= hear sends if a member */
- struct ip6_mfilter_head im6o_head; /* group membership list */
-};
-#else
-struct ip6_moptions;
-#endif
/*
* Control options for outgoing packets
*/
@@ -379,6 +364,7 @@
struct socket;
struct sockopt;
struct ucred;
+struct ip6_moptions;
int icmp6_ctloutput(struct socket *, struct sockopt *sopt);

File Metadata

Mime Type
text/plain
Expires
Tue, Apr 14, 4:53 AM (11 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31450408
Default Alt Text
D55963.diff (4 KB)

Event Timeline