Date: Wed, 29 Apr 2009 10:22:44 +0000 (UTC) From: Bruce M Simpson <bms@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r191662 - head/sys/netinet6 Message-ID: <200904291022.n3TAMi3V076428@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bms Date: Wed Apr 29 10:22:44 2009 New Revision: 191662 URL: http://svn.freebsd.org/changeset/base/191662 Log: Add IN6ADDR_LINKLOCAL_ALLV2ROUTERS_INIT, in6addr_linklocal_allv2routers for use by MLDv2. Add IPv6 SSM socket layer membership vector size constants and tree bounds. Remove unreferenced struct ipv6_mreq_source; SSM for IPv6 goes straight to the RFC 3678 socket options. Modified: head/sys/netinet6/in6.h Modified: head/sys/netinet6/in6.h ============================================================================== --- head/sys/netinet6/in6.h Wed Apr 29 10:20:17 2009 (r191661) +++ head/sys/netinet6/in6.h Wed Apr 29 10:22:44 2009 (r191662) @@ -201,6 +201,9 @@ extern const struct in6_addr in6mask128; #define IN6ADDR_LINKLOCAL_ALLROUTERS_INIT \ {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 }}} +#define IN6ADDR_LINKLOCAL_ALLV2ROUTERS_INIT \ + {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16 }}} #endif extern const struct in6_addr in6addr_any; @@ -209,6 +212,7 @@ extern const struct in6_addr in6addr_loo extern const struct in6_addr in6addr_nodelocal_allnodes; extern const struct in6_addr in6addr_linklocal_allnodes; extern const struct in6_addr in6addr_linklocal_allrouters; +extern const struct in6_addr in6addr_linklocal_allv2routers; #endif /* @@ -494,24 +498,27 @@ struct route_in6 { #define IPV6_DEFAULT_MULTICAST_LOOP 1 /* normally hear sends if a member */ /* - * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP. + * The im6o_membership vector for each socket is now dynamically allocated at + * run-time, bounded by USHRT_MAX, and is reallocated when needed, sized + * according to a power-of-two increment. */ -struct ipv6_mreq { - struct in6_addr ipv6mr_multiaddr; - unsigned int ipv6mr_interface; -}; +#define IPV6_MIN_MEMBERSHIPS 31 +#define IPV6_MAX_MEMBERSHIPS 4095 -#ifdef notyet /* - * Argument structure for IPV6_ADD_SOURCE_MEMBERSHIP, - * IPV6_DROP_SOURCE_MEMBERSHIP, IPV6_BLOCK_SOURCE, and IPV6_UNBLOCK_SOURCE. + * Default resource limits for IPv6 multicast source filtering. + * These may be modified by sysctl. */ -struct ipv6_mreq_source { +#define IPV6_MAX_GROUP_SRC_FILTER 512 /* sources per group */ +#define IPV6_MAX_SOCK_SRC_FILTER 128 /* sources per socket/group */ + +/* + * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP. + */ +struct ipv6_mreq { struct in6_addr ipv6mr_multiaddr; - struct in6_addr ipv6mr_sourceaddr; - uint32_t ipv6mr_interface; + unsigned int ipv6mr_interface; }; -#endif /* * IPV6_PKTINFO: Packet information(RFC2292 sec 5)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904291022.n3TAMi3V076428>