patch-2.1.30 linux/include/net/arp.h

Next file: linux/include/net/ax25.h
Previous file: linux/include/net/addrconf.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.29/linux/include/net/arp.h linux/include/net/arp.h
@@ -3,12 +3,39 @@
 #define _ARP_H
 
 #include <linux/if_arp.h>
+#include <net/neighbour.h>
+/*
+ *	This structure defines the ARP mapping cache.
+ */
+
+struct arp_table
+{
+	union {
+		struct neighbour	neigh;
+		struct arp_table	*next;
+	} u;
+
+	u32				ip;
+
+	unsigned long			last_updated;		/* For expiry 			*/
+	unsigned int			flags;			/* Control status 		*/
+
+	u32				mask;			/* netmask - used for generalised proxy arps (tridge) 		*/
+	int				hatype;
+
+	/*
+	 *	The following entries are only used for unresolved hw addresses.
+	 */
+	struct timer_list		timer;			/* expire timer 		*/
+	int				retries;		/* remaining retries	 	*/
+};
 
 extern void	arp_init(void);
 extern int	arp_rcv(struct sk_buff *skb, struct device *dev,
 			struct packet_type *pt);
 extern int	arp_find(unsigned char *haddr, struct sk_buff *skb);
-extern int	arp_find_1(unsigned char *haddr, struct dst_entry* dst, struct dst_entry *neigh);
+extern int	arp_find_1(unsigned char *haddr, struct dst_entry* dst,
+			   struct neighbour *neigh);
 extern int	arp_ioctl(unsigned int cmd, void *arg);
 extern void     arp_send(int type, int ptype, u32 dest_ip, 
 			 struct device *dev, u32 src_ip, 
@@ -17,5 +44,5 @@
 extern int	arp_req_delete(struct arpreq *r, struct device *dev);
 extern int	arp_bind_cache(struct hh_cache ** hhp, struct device *dev, unsigned short type, __u32 daddr);
 extern int	arp_update_cache(struct hh_cache * hh);
-extern struct dst_entry *arp_find_neighbour(struct dst_entry *dst, int);
+extern struct neighbour *arp_find_neighbour(struct dst_entry *dst, int);
 #endif	/* _ARP_H */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov