aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/Kbuild1
-rw-r--r--include/linux/mroute.h22
-rw-r--r--include/linux/pim.h29
3 files changed, 31 insertions, 21 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index 9cdd12a9e843..84736acb4b99 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -289,6 +289,7 @@ unifdef-y += parport.h
289unifdef-y += patchkey.h 289unifdef-y += patchkey.h
290unifdef-y += pci.h 290unifdef-y += pci.h
291unifdef-y += personality.h 291unifdef-y += personality.h
292unifdef-y += pim.h
292unifdef-y += pktcdvd.h 293unifdef-y += pktcdvd.h
293unifdef-y += pmu.h 294unifdef-y += pmu.h
294unifdef-y += poll.h 295unifdef-y += poll.h
diff --git a/include/linux/mroute.h b/include/linux/mroute.h
index 35a8277ec1bd..c41b4217ae3b 100644
--- a/include/linux/mroute.h
+++ b/include/linux/mroute.h
@@ -3,6 +3,7 @@
3 3
4#include <linux/sockios.h> 4#include <linux/sockios.h>
5#include <linux/in.h> 5#include <linux/in.h>
6#include <linux/pim.h>
6 7
7/* 8/*
8 * Based on the MROUTING 3.5 defines primarily to keep 9 * Based on the MROUTING 3.5 defines primarily to keep
@@ -210,27 +211,6 @@ struct mfc_cache
210#define IGMPMSG_WHOLEPKT 3 /* For PIM Register processing */ 211#define IGMPMSG_WHOLEPKT 3 /* For PIM Register processing */
211 212
212#ifdef __KERNEL__ 213#ifdef __KERNEL__
213
214#define PIM_V1_VERSION __constant_htonl(0x10000000)
215#define PIM_V1_REGISTER 1
216
217#define PIM_VERSION 2
218#define PIM_REGISTER 1
219
220#define PIM_NULL_REGISTER __constant_htonl(0x40000000)
221
222/* PIMv2 register message header layout (ietf-draft-idmr-pimvsm-v2-00.ps */
223
224struct pimreghdr
225{
226 __u8 type;
227 __u8 reserved;
228 __be16 csum;
229 __be32 flags;
230};
231
232extern int pim_rcv_v1(struct sk_buff *);
233
234struct rtmsg; 214struct rtmsg;
235extern int ipmr_get_route(struct sk_buff *skb, struct rtmsg *rtm, int nowait); 215extern int ipmr_get_route(struct sk_buff *skb, struct rtmsg *rtm, int nowait);
236#endif 216#endif
diff --git a/include/linux/pim.h b/include/linux/pim.h
new file mode 100644
index 000000000000..6f689dc85503
--- /dev/null
+++ b/include/linux/pim.h
@@ -0,0 +1,29 @@
1#ifndef __LINUX_PIM_H
2#define __LINUX_PIM_H
3
4#include <asm/byteorder.h>
5
6/* Message types - V1 */
7#define PIM_V1_VERSION __constant_htonl(0x10000000)
8#define PIM_V1_REGISTER 1
9
10/* Message types - V2 */
11#define PIM_VERSION 2
12#define PIM_REGISTER 1
13
14#if defined(__KERNEL__)
15#define PIM_NULL_REGISTER __constant_htonl(0x40000000)
16
17/* PIMv2 register message header layout (ietf-draft-idmr-pimvsm-v2-00.ps */
18struct pimreghdr
19{
20 __u8 type;
21 __u8 reserved;
22 __be16 csum;
23 __be32 flags;
24};
25
26struct sk_buff;
27extern int pim_rcv_v1(struct sk_buff *);
28#endif
29#endif