blob: 716f43c5c98eb92061cc2eb416c270ea8c68cd4a [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* 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
Linus Torvalds1da177e2005-04-16 15:20:36 -07008
9extern struct neigh_table arp_tbl;
10
11extern void arp_init(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070012extern int arp_find(unsigned char *haddr, struct sk_buff *skb);
Pavel Emelyanov32e569b2007-12-16 13:30:39 -080013extern int arp_ioctl(struct net *net, unsigned int cmd, void __user *arg);
Al Viroed9bad02006-09-27 18:36:36 -070014extern void arp_send(int type, int ptype, __be32 dest_ip,
15 struct net_device *dev, __be32 src_ip,
Jan Engelhardtabfdf1c2008-01-31 03:59:24 -080016 const unsigned char *dest_hw,
17 const unsigned char *src_hw, const unsigned char *th);
Linus Torvalds1da177e2005-04-16 15:20:36 -070018extern int arp_bind_neighbour(struct dst_entry *dst);
Al Viro714e85b2006-11-14 20:51:49 -080019extern int arp_mc_map(__be32 addr, u8 *haddr, struct net_device *dev, int dir);
Linus Torvalds1da177e2005-04-16 15:20:36 -070020extern void arp_ifdown(struct net_device *dev);
21
Al Viroed9bad02006-09-27 18:36:36 -070022extern struct sk_buff *arp_create(int type, int ptype, __be32 dest_ip,
23 struct net_device *dev, __be32 src_ip,
Jan Engelhardtabfdf1c2008-01-31 03:59:24 -080024 const unsigned char *dest_hw,
25 const unsigned char *src_hw,
26 const unsigned char *target_hw);
Linus Torvalds1da177e2005-04-16 15:20:36 -070027extern void arp_xmit(struct sk_buff *skb);
28
Stephen Hemminger89d69d22009-09-01 11:13:19 +000029extern const struct neigh_ops arp_broken_ops;
Linus Torvalds1da177e2005-04-16 15:20:36 -070030
31#endif /* _ARP_H */