瀏覽代碼

net: Create union flowi_uli

This will be used when we have seperate flowi types.

Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller 14 年之前
父節點
當前提交
08704bcbf0
共有 1 個文件被更改,包括 25 次插入23 次删除
  1. 25 23
      include/net/flow.h

+ 25 - 23
include/net/flow.h

@@ -24,6 +24,30 @@ struct flowi_common {
 	__u32	flowic_secid;
 	__u32	flowic_secid;
 };
 };
 
 
+union flowi_uli {
+	struct {
+		__be16	sport;
+		__be16	dport;
+	} ports;
+
+	struct {
+		__u8	type;
+		__u8	code;
+	} icmpt;
+
+	struct {
+		__le16	sport;
+		__le16	dport;
+	} dnports;
+
+	__be32		spi;
+	__be32		gre_key;
+
+	struct {
+		__u8	type;
+	} mht;
+};
+
 struct flowi {
 struct flowi {
 	struct flowi_common	__fl_common;
 	struct flowi_common	__fl_common;
 #define flowi_oif		__fl_common.flowic_oif
 #define flowi_oif		__fl_common.flowic_oif
@@ -64,29 +88,7 @@ struct flowi {
 #define fl4_tos		flowi_tos
 #define fl4_tos		flowi_tos
 #define fl4_scope	flowi_scope
 #define fl4_scope	flowi_scope
 
 
-	union {
-		struct {
-			__be16	sport;
-			__be16	dport;
-		} ports;
-
-		struct {
-			__u8	type;
-			__u8	code;
-		} icmpt;
-
-		struct {
-			__le16	sport;
-			__le16	dport;
-		} dnports;
-
-		__be32		spi;
-		__be32		gre_key;
-
-		struct {
-			__u8	type;
-		} mht;
-	} uli_u;
+	union flowi_uli uli_u;
 #define fl_ip_sport	uli_u.ports.sport
 #define fl_ip_sport	uli_u.ports.sport
 #define fl_ip_dport	uli_u.ports.dport
 #define fl_ip_dport	uli_u.ports.dport
 #define fl_icmp_type	uli_u.icmpt.type
 #define fl_icmp_type	uli_u.icmpt.type