net: Add flowiX_to_flowi() shorthands.
authorDavid S. Miller <davem@davemloft.net>
Sat, 12 Mar 2011 00:23:02 +0000 (19:23 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sat, 12 Mar 2011 23:08:47 +0000 (15:08 -0800)
This is just a shorthand which will help in passing around AF
specific flow structures as generic ones.

Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/flow.h

index 931169095cc96743e256296f17cfd3a793d79c72..8139257ee11e9fc9b9d84584d139f2faf7312191 100644 (file)
@@ -112,6 +112,21 @@ struct flowi {
 #define fl6_gre_key    u.ip6.uli.gre_key
 } __attribute__((__aligned__(BITS_PER_LONG/8)));
 
+static inline struct flowi *flowi4_to_flowi(struct flowi4 *fl4)
+{
+       return container_of(fl4, struct flowi, u.ip4);
+}
+
+static inline struct flowi *flowi6_to_flowi(struct flowi6 *fl6)
+{
+       return container_of(fl6, struct flowi, u.ip6);
+}
+
+static inline struct flowi *flowidn_to_flowi(struct flowidn *fldn)
+{
+       return container_of(fldn, struct flowi, u.dn);
+}
+
 #define FLOW_DIR_IN    0
 #define FLOW_DIR_OUT   1
 #define FLOW_DIR_FWD   2