patch-1.3.31 linux/include/linux/mroute.h
Next file: linux/include/linux/proc_fs.h
Previous file: linux/include/linux/igmp.h
Back to the patch index
Back to the overall index
- Lines: 69
- Date:
Mon Oct 2 14:25:11 1995
- Orig file:
v1.3.30/linux/include/linux/mroute.h
- Orig date:
Wed Sep 13 12:45:32 1995
diff -u --recursive --new-file v1.3.30/linux/include/linux/mroute.h linux/include/linux/mroute.h
@@ -1,5 +1,6 @@
#ifndef __LINUX_MROUTE_H
#define __LINUX_MROUTE_H
+
/*
* Based on the MROUTING 3.5 defines primarily to keep
* source compatibility with BSD.
@@ -117,19 +118,53 @@
extern int ip_mroute_getsockopt(struct sock *, int, char *, int *);
extern int ipmr_ioctl(struct sock *sk, int cmd, unsigned long arg);
extern void mroute_close(struct sock *sk);
+extern void ipmr_forward(struct sk_buff *skb, int is_frag);
struct vif_device
{
- struct device *dev; /* Device we are using */
- struct route *rt_cache; /* Tunnel route cache */
- unsigned long bytes_in,bytes_out;
- unsigned long pkt_in,pkt_out; /* Statistics */
- unsigned long rate_limit; /* Traffic shaping (NI) */
- unsigned char threshold; /* TTL threshold */
- unsigned short flags; /* Control flags */
- unsigned long local,remote; /* Addresses (remote for tunnels) */
+ struct device *dev; /* Device we are using */
+ struct route *rt_cache; /* Tunnel route cache */
+ unsigned long bytes_in,bytes_out;
+ unsigned long pkt_in,pkt_out; /* Statistics */
+ unsigned long rate_limit; /* Traffic shaping (NI) */
+ unsigned char threshold; /* TTL threshold */
+ unsigned short flags; /* Control flags */
+ unsigned long local,remote; /* Addresses(remote for tunnels)*/
};
+struct mfc_cache
+{
+ struct mfc_cache *next; /* Next entry on cache line */
+ __u32 mfc_mcastgrp; /* Group the entry belongs to */
+ __u32 mfc_origin; /* Source of packet */
+ vifi_t mfc_parent; /* Source interface */
+ struct timer_list mfc_timer; /* Expiry timer */
+ int mfc_flags; /* Flags on line */
+ struct sk_buff_head mfc_unresolved; /* Unresolved buffers */
+ int mfc_queuelen; /* Unresolved buffer counter */
+ unsigned char mfc_ttls[MAXVIFS]; /* TTL thresholds */
+};
+
+#define MFC_QUEUED 1
+#define MFC_RESOLVED 2
+
+
+#define MFC_LINES 64
+
+#ifdef __BIG_ENDIAN
+#define MFC_HASH(a,b) ((((a)>>24)^((b)>>26))&(MFC_LINES-1))
+#else
+#define MFC_HASH(a,b) (((a)^((b)>>2))&(MFC_LINES-1))
+#endif
+
#endif
+
+/*
+ * Pseudo messages used by mrouted
+ */
+
+#define IGMPMSG_NOCACHE 1 /* Kernel cache fill request to mrouted */
+#define IGMPMSG_WRONGVIF 2 /* For PIM assert processing (unused) */
+
#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this