summaryrefslogtreecommitdiff
path: root/include/net/flow.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-03-11 15:55:37 -0500
committerDavid S. Miller <davem@davemloft.net>2011-03-12 15:08:43 -0800
commitfbef0a40919a80eb8a02fe9d3b96dfdcdebf4317 (patch)
treeb097fb14f85f74ef0b855cbf689933a701c65fe2 /include/net/flow.h
parent78fbfd8a653ca972afe479517a40661bfff6d8c3 (diff)
downloadlinux-stable-fbef0a40919a80eb8a02fe9d3b96dfdcdebf4317.tar.gz
net: Remove unnecessary padding in struct flowi
Move tos, scope, proto, and flags to the beginning of the structure. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/flow.h')
-rw-r--r--include/net/flow.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/include/net/flow.h b/include/net/flow.h
index fd0413873b8e..a661fd6f76ba 100644
--- a/include/net/flow.h
+++ b/include/net/flow.h
@@ -14,13 +14,19 @@ struct flowi {
int oif;
int iif;
__u32 mark;
+ __u8 tos;
+ __u8 scope;
+ __u8 proto;
+ __u8 flags;
+#define FLOWI_FLAG_ANYSRC 0x01
+#define FLOWI_FLAG_PRECOW_METRICS 0x02
+#define FLOWI_FLAG_CAN_SLEEP 0x04
+ __u32 secid;
union {
struct {
__be32 daddr;
__be32 saddr;
- __u8 tos;
- __u8 scope;
} ip4_u;
struct {
@@ -43,14 +49,9 @@ struct flowi {
#define fl6_flowlabel nl_u.ip6_u.flowlabel
#define fl4_dst nl_u.ip4_u.daddr
#define fl4_src nl_u.ip4_u.saddr
-#define fl4_tos nl_u.ip4_u.tos
-#define fl4_scope nl_u.ip4_u.scope
+#define fl4_tos tos
+#define fl4_scope scope
- __u8 proto;
- __u8 flags;
-#define FLOWI_FLAG_ANYSRC 0x01
-#define FLOWI_FLAG_PRECOW_METRICS 0x02
-#define FLOWI_FLAG_CAN_SLEEP 0x04
union {
struct {
__be16 sport;
@@ -81,7 +82,6 @@ struct flowi {
#define fl_ipsec_spi uli_u.spi
#define fl_mh_type uli_u.mht.type
#define fl_gre_key uli_u.gre_key
- __u32 secid; /* used by xfrm; see secid.txt */
} __attribute__((__aligned__(BITS_PER_LONG/8)));
#define FLOW_DIR_IN 0