aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/inetdevice.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/inetdevice.h')
-rw-r--r--include/linux/inetdevice.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h
index 0d678aefe69d..0068708161ff 100644
--- a/include/linux/inetdevice.h
+++ b/include/linux/inetdevice.h
@@ -136,8 +136,8 @@ struct in_ifaddr {
136 __be32 ifa_mask; 136 __be32 ifa_mask;
137 __be32 ifa_broadcast; 137 __be32 ifa_broadcast;
138 unsigned char ifa_scope; 138 unsigned char ifa_scope;
139 unsigned char ifa_flags;
140 unsigned char ifa_prefixlen; 139 unsigned char ifa_prefixlen;
140 __u32 ifa_flags;
141 char ifa_label[IFNAMSIZ]; 141 char ifa_label[IFNAMSIZ];
142 142
143 /* In seconds, relative to tstamp. Expiry is at tstamp + HZ * lft. */ 143 /* In seconds, relative to tstamp. Expiry is at tstamp + HZ * lft. */
@@ -164,11 +164,10 @@ int devinet_ioctl(struct net *net, unsigned int cmd, void __user *);
164void devinet_init(void); 164void devinet_init(void);
165struct in_device *inetdev_by_index(struct net *, int); 165struct in_device *inetdev_by_index(struct net *, int);
166__be32 inet_select_addr(const struct net_device *dev, __be32 dst, int scope); 166__be32 inet_select_addr(const struct net_device *dev, __be32 dst, int scope);
167__be32 inet_confirm_addr(struct in_device *in_dev, __be32 dst, __be32 local, 167__be32 inet_confirm_addr(struct net *net, struct in_device *in_dev, __be32 dst,
168 int scope); 168 __be32 local, int scope);
169struct in_ifaddr *inet_ifa_byprefix(struct in_device *in_dev, __be32 prefix, 169struct in_ifaddr *inet_ifa_byprefix(struct in_device *in_dev, __be32 prefix,
170 __be32 mask); 170 __be32 mask);
171
172static __inline__ int inet_ifa_match(__be32 addr, struct in_ifaddr *ifa) 171static __inline__ int inet_ifa_match(__be32 addr, struct in_ifaddr *ifa)
173{ 172{
174 return !((addr^ifa->ifa_address)&ifa->ifa_mask); 173 return !((addr^ifa->ifa_address)&ifa->ifa_mask);
@@ -220,6 +219,13 @@ static inline struct in_device *__in_dev_get_rtnl(const struct net_device *dev)
220 return rtnl_dereference(dev->ip_ptr); 219 return rtnl_dereference(dev->ip_ptr);
221} 220}
222 221
222static inline struct neigh_parms *__in_dev_arp_parms_get_rcu(const struct net_device *dev)
223{
224 struct in_device *in_dev = __in_dev_get_rcu(dev);
225
226 return in_dev ? in_dev->arp_parms : NULL;
227}
228
223void in_dev_finish_destroy(struct in_device *idev); 229void in_dev_finish_destroy(struct in_device *idev);
224 230
225static inline void in_dev_put(struct in_device *idev) 231static inline void in_dev_put(struct in_device *idev)