diff options
author | David S. Miller <davem@davemloft.net> | 2011-03-12 01:23:02 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-03-13 00:08:47 +0100 |
commit | 59b1a94c9a034e63a5e030a5154be1d4d84677d9 (patch) | |
tree | 218ffc79cd1fc4aaaf51feafeb1fad1e8e5295b2 /include/net/flow.h | |
parent | net: Break struct flowi out into AF specific instances. (diff) | |
download | linux-59b1a94c9a034e63a5e030a5154be1d4d84677d9.tar.xz linux-59b1a94c9a034e63a5e030a5154be1d4d84677d9.zip |
net: Add flowiX_to_flowi() shorthands.
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>
Diffstat (limited to 'include/net/flow.h')
-rw-r--r-- | include/net/flow.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/net/flow.h b/include/net/flow.h index 931169095cc9..8139257ee11e 100644 --- a/include/net/flow.h +++ b/include/net/flow.h @@ -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 |