Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6.git] / include / net / arp.h
1 /* linux/net/inet/arp.h */
2 #ifndef _ARP_H
3 #define _ARP_H
4
5 #include <linux/if_arp.h>
6 #include <net/neighbour.h>
7
8
9 extern struct neigh_table arp_tbl;
10
11 extern void     arp_init(void);
12 extern int      arp_find(unsigned char *haddr, struct sk_buff *skb);
13 extern int      arp_ioctl(struct net *net, unsigned int cmd, void __user *arg);
14 extern void     arp_send(int type, int ptype, __be32 dest_ip,
15                          struct net_device *dev, __be32 src_ip,
16                          const unsigned char *dest_hw,
17                          const unsigned char *src_hw, const unsigned char *th);
18 extern int      arp_bind_neighbour(struct dst_entry *dst);
19 extern int      arp_mc_map(__be32 addr, u8 *haddr, struct net_device *dev, int dir);
20 extern void     arp_ifdown(struct net_device *dev);
21
22 extern struct sk_buff *arp_create(int type, int ptype, __be32 dest_ip,
23                                   struct net_device *dev, __be32 src_ip,
24                                   const unsigned char *dest_hw,
25                                   const unsigned char *src_hw,
26                                   const unsigned char *target_hw);
27 extern void arp_xmit(struct sk_buff *skb);
28
29 extern const struct neigh_ops arp_broken_ops;
30
31 #endif  /* _ARP_H */