diff options
| author | David Stevens <dlstevens@us.ibm.com> | 2003-04-15 11:46:01 -0700 |
|---|---|---|
| committer | David S. Miller <davem@nuts.ninka.net> | 2003-04-15 11:46:01 -0700 |
| commit | 06da9228364cafd7d5e8229a8f210f1151c32ef9 (patch) | |
| tree | 15024daa8b7148ed34ad91b7716191febc8b7508 /include/linux | |
| parent | 98fab1e40cc093ab9ebb64aa6c4c1a0359b409ec (diff) | |
[IPV6]: Add MLDv2 support.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/icmpv6.h | 13 | ||||
| -rw-r--r-- | include/linux/in.h | 33 | ||||
| -rw-r--r-- | include/linux/ip.h | 1 | ||||
| -rw-r--r-- | include/linux/tcp.h | 1 | ||||
| -rw-r--r-- | include/linux/udp.h | 1 |
5 files changed, 49 insertions, 0 deletions
diff --git a/include/linux/icmpv6.h b/include/linux/icmpv6.h index 2e5fcb59b131..604cef611b6c 100644 --- a/include/linux/icmpv6.h +++ b/include/linux/icmpv6.h @@ -86,6 +86,19 @@ struct icmp6hdr { #define ICMPV6_MGM_REPORT 131 #define ICMPV6_MGM_REDUCTION 132 +/* definitions for MLDv2 */ + +#define MLD2_MODE_IS_INCLUDE 1 +#define MLD2_MODE_IS_EXCLUDE 2 +#define MLD2_CHANGE_TO_INCLUDE 3 +#define MLD2_CHANGE_TO_EXCLUDE 4 +#define MLD2_ALLOW_NEW_SOURCES 5 +#define MLD2_BLOCK_OLD_SOURCES 6 + +/* this must be an IANA-assigned value; 206 for testing only */ +#define ICMPV6_MLD2_REPORT 206 +#define MLD2_ALL_MCR_INIT { { { 0xff,0x02,0,0,0,0,0,0,0,0,0,0,0,0,0,0x16 } } } + /* * Codes for Destination Unreachable */ diff --git a/include/linux/in.h b/include/linux/in.h index bd2ec6c01f4f..5a5efb354b49 100644 --- a/include/linux/in.h +++ b/include/linux/in.h @@ -90,6 +90,13 @@ struct in_addr { #define IP_ADD_SOURCE_MEMBERSHIP 39 #define IP_DROP_SOURCE_MEMBERSHIP 40 #define IP_MSFILTER 41 +#define MCAST_JOIN_GROUP 42 +#define MCAST_BLOCK_SOURCE 43 +#define MCAST_UNBLOCK_SOURCE 44 +#define MCAST_LEAVE_GROUP 45 +#define MCAST_JOIN_SOURCE_GROUP 46 +#define MCAST_LEAVE_SOURCE_GROUP 47 +#define MCAST_MSFILTER 48 #define MCAST_EXCLUDE 0 #define MCAST_INCLUDE 1 @@ -131,6 +138,32 @@ struct ip_msfilter { (sizeof(struct ip_msfilter) - sizeof(__u32) \ + (numsrc) * sizeof(__u32)) +struct group_req +{ + __u32 gr_interface; /* interface index */ + struct sockaddr_storage gr_group; /* group address */ +}; + +struct group_source_req +{ + __u32 gsr_interface; /* interface index */ + struct sockaddr_storage gsr_group; /* group address */ + struct sockaddr_storage gsr_source; /* source address */ +}; + +struct group_filter +{ + __u32 gf_interface; /* interface index */ + struct sockaddr_storage gf_group; /* multicast address */ + __u32 gf_fmode; /* filter mode */ + __u32 gf_numsrc; /* number of sources */ + struct sockaddr_storage gf_slist[1]; /* interface index */ +}; + +#define GROUP_FILTER_SIZE(numsrc) \ + (sizeof(struct group_filter) - sizeof(struct sockaddr_storage) \ + + (numsrc) * sizeof(struct sockaddr_storage)) + struct in_pktinfo { int ipi_ifindex; diff --git a/include/linux/ip.h b/include/linux/ip.h index 5d3212a73ace..dca25a95d267 100644 --- a/include/linux/ip.h +++ b/include/linux/ip.h @@ -79,6 +79,7 @@ #define IPOPT_TS_PRESPEC 3 /* specified modules only */ #ifdef __KERNEL__ +#include <linux/config.h> #include <linux/types.h> #include <net/sock.h> #include <linux/igmp.h> diff --git a/include/linux/tcp.h b/include/linux/tcp.h index da4be9ce631d..f5d9de777530 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h @@ -17,6 +17,7 @@ #ifndef _LINUX_TCP_H #define _LINUX_TCP_H +#include <linux/config.h> #include <linux/skbuff.h> #include <asm/byteorder.h> #include <net/sock.h> diff --git a/include/linux/udp.h b/include/linux/udp.h index 2cd62b5b79f3..0d87073be1b4 100644 --- a/include/linux/udp.h +++ b/include/linux/udp.h @@ -17,6 +17,7 @@ #ifndef _LINUX_UDP_H #define _LINUX_UDP_H +#include <linux/config.h> #include <asm/byteorder.h> #include <net/sock.h> #include <linux/ip.h> |
