A following patch will use struct raw_sock to store state for ipmr,
so having the definitions in icmp.h doesn't fit very well anymore.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
 /* Move into dst.h ? */
 extern int     xrlim_allow(struct dst_entry *dst, int timeout);
 
-struct raw_sock {
-       /* inet_sock has to be the first member */
-       struct inet_sock   inet;
-       struct icmp_filter filter;
-};
-
-static inline struct raw_sock *raw_sk(const struct sock *sk)
-{
-       return (struct raw_sock *)sk;
-}
-
 #endif /* _ICMP_H */
 
 
 
 #include <net/protocol.h>
+#include <linux/icmp.h>
 
 extern struct proto raw_prot;
 
 void raw_hash_sk(struct sock *sk);
 void raw_unhash_sk(struct sock *sk);
 
+struct raw_sock {
+       /* inet_sock has to be the first member */
+       struct inet_sock   inet;
+       struct icmp_filter filter;
+};
+
+static inline struct raw_sock *raw_sk(const struct sock *sk)
+{
+       return (struct raw_sock *)sk;
+}
+
 #endif /* _RAW_H */