net: Create union flowi_uli

This will be used when we have seperate flowi types.

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2011-03-11 18:36:42 -05:00
parent 806566cc78
commit 08704bcbf0

View File

@ -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 { union flowi_uli uli_u;
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;
#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