diff options
Diffstat (limited to 'include/linux/inetdevice.h')
| -rw-r--r-- | include/linux/inetdevice.h | 14 |
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 *); | |||
| 164 | void devinet_init(void); | 164 | void devinet_init(void); |
| 165 | struct in_device *inetdev_by_index(struct net *, int); | 165 | struct 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); |
| 169 | struct in_ifaddr *inet_ifa_byprefix(struct in_device *in_dev, __be32 prefix, | 169 | struct in_ifaddr *inet_ifa_byprefix(struct in_device *in_dev, __be32 prefix, |
| 170 | __be32 mask); | 170 | __be32 mask); |
| 171 | |||
| 172 | static __inline__ int inet_ifa_match(__be32 addr, struct in_ifaddr *ifa) | 171 | static __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 | ||
| 222 | static 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 | |||
| 223 | void in_dev_finish_destroy(struct in_device *idev); | 229 | void in_dev_finish_destroy(struct in_device *idev); |
| 224 | 230 | ||
| 225 | static inline void in_dev_put(struct in_device *idev) | 231 | static inline void in_dev_put(struct in_device *idev) |
