aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-03-12 00:44:35 -0500
committerDavid S. Miller <davem@davemloft.net>2011-03-12 18:08:46 -0500
commit56bb8059e1a8bf291054c26367564dc302f6fd8f (patch)
tree56ec5ae2c1856208ccf97a0cd6b21ab0587f34cf /net
parent6281dcc94a96bd73017b2baa8fa83925405109ef (diff)
net: Break struct flowi out into AF specific instances.
Now we have struct flowi4, flowi6, and flowidn for each address family. And struct flowi is just a union of them all. It might have been troublesome to convert flow_cache_uli_match() but as it turns out this function is completely unused and therefore can be simply removed. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/xfrm4_state.c4
-rw-r--r--net/ipv6/mip6.c4
-rw-r--r--net/ipv6/xfrm6_state.c4
-rw-r--r--net/xfrm/xfrm_policy.c8
4 files changed, 10 insertions, 10 deletions
diff --git a/net/ipv4/xfrm4_state.c b/net/ipv4/xfrm4_state.c
index 663b5501abcd..d8d541954532 100644
--- a/net/ipv4/xfrm4_state.c
+++ b/net/ipv4/xfrm4_state.c
@@ -25,9 +25,9 @@ __xfrm4_init_tempsel(struct xfrm_selector *sel, const struct flowi *fl)
25{ 25{
26 sel->daddr.a4 = fl->fl4_dst; 26 sel->daddr.a4 = fl->fl4_dst;
27 sel->saddr.a4 = fl->fl4_src; 27 sel->saddr.a4 = fl->fl4_src;
28 sel->dport = xfrm_flowi_dport(fl, &fl->uli_u); 28 sel->dport = xfrm_flowi_dport(fl, &fl->u.ip4.uli);
29 sel->dport_mask = htons(0xffff); 29 sel->dport_mask = htons(0xffff);
30 sel->sport = xfrm_flowi_sport(fl, &fl->uli_u); 30 sel->sport = xfrm_flowi_sport(fl, &fl->u.ip4.uli);
31 sel->sport_mask = htons(0xffff); 31 sel->sport_mask = htons(0xffff);
32 sel->family = AF_INET; 32 sel->family = AF_INET;
33 sel->prefixlen_d = 32; 33 sel->prefixlen_d = 32;
diff --git a/net/ipv6/mip6.c b/net/ipv6/mip6.c
index 5038e6b2b55b..e1767aec3334 100644
--- a/net/ipv6/mip6.c
+++ b/net/ipv6/mip6.c
@@ -241,10 +241,10 @@ static int mip6_destopt_reject(struct xfrm_state *x, struct sk_buff *skb,
241 sel.prefixlen_s = 128; 241 sel.prefixlen_s = 128;
242 sel.family = AF_INET6; 242 sel.family = AF_INET6;
243 sel.proto = fl->flowi_proto; 243 sel.proto = fl->flowi_proto;
244 sel.dport = xfrm_flowi_dport(fl, &fl->uli_u); 244 sel.dport = xfrm_flowi_dport(fl, &fl->u.ip6.uli);
245 if (sel.dport) 245 if (sel.dport)
246 sel.dport_mask = htons(~0); 246 sel.dport_mask = htons(~0);
247 sel.sport = xfrm_flowi_sport(fl, &fl->uli_u); 247 sel.sport = xfrm_flowi_sport(fl, &fl->u.ip6.uli);
248 if (sel.sport) 248 if (sel.sport)
249 sel.sport_mask = htons(~0); 249 sel.sport_mask = htons(~0);
250 sel.ifindex = fl->flowi_oif; 250 sel.ifindex = fl->flowi_oif;
diff --git a/net/ipv6/xfrm6_state.c b/net/ipv6/xfrm6_state.c
index 71277ce78590..b456533a652d 100644
--- a/net/ipv6/xfrm6_state.c
+++ b/net/ipv6/xfrm6_state.c
@@ -26,9 +26,9 @@ __xfrm6_init_tempsel(struct xfrm_selector *sel, const struct flowi *fl)
26 * to current session. */ 26 * to current session. */
27 ipv6_addr_copy((struct in6_addr *)&sel->daddr, &fl->fl6_dst); 27 ipv6_addr_copy((struct in6_addr *)&sel->daddr, &fl->fl6_dst);
28 ipv6_addr_copy((struct in6_addr *)&sel->saddr, &fl->fl6_src); 28 ipv6_addr_copy((struct in6_addr *)&sel->saddr, &fl->fl6_src);
29 sel->dport = xfrm_flowi_dport(fl, &fl->uli_u); 29 sel->dport = xfrm_flowi_dport(fl, &fl->u.ip6.uli);
30 sel->dport_mask = htons(0xffff); 30 sel->dport_mask = htons(0xffff);
31 sel->sport = xfrm_flowi_sport(fl, &fl->uli_u); 31 sel->sport = xfrm_flowi_sport(fl, &fl->u.ip6.uli);
32 sel->sport_mask = htons(0xffff); 32 sel->sport_mask = htons(0xffff);
33 sel->family = AF_INET6; 33 sel->family = AF_INET6;
34 sel->prefixlen_d = 128; 34 sel->prefixlen_d = 128;
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index d54b6e7165c6..2ecd18a106cf 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -61,8 +61,8 @@ __xfrm4_selector_match(const struct xfrm_selector *sel, const struct flowi *fl)
61{ 61{
62 return addr_match(&fl->fl4_dst, &sel->daddr, sel->prefixlen_d) && 62 return addr_match(&fl->fl4_dst, &sel->daddr, sel->prefixlen_d) &&
63 addr_match(&fl->fl4_src, &sel->saddr, sel->prefixlen_s) && 63 addr_match(&fl->fl4_src, &sel->saddr, sel->prefixlen_s) &&
64 !((xfrm_flowi_dport(fl, &fl->uli_u) ^ sel->dport) & sel->dport_mask) && 64 !((xfrm_flowi_dport(fl, &fl->u.ip4.uli) ^ sel->dport) & sel->dport_mask) &&
65 !((xfrm_flowi_sport(fl, &fl->uli_u) ^ sel->sport) & sel->sport_mask) && 65 !((xfrm_flowi_sport(fl, &fl->u.ip4.uli) ^ sel->sport) & sel->sport_mask) &&
66 (fl->flowi_proto == sel->proto || !sel->proto) && 66 (fl->flowi_proto == sel->proto || !sel->proto) &&
67 (fl->flowi_oif == sel->ifindex || !sel->ifindex); 67 (fl->flowi_oif == sel->ifindex || !sel->ifindex);
68} 68}
@@ -72,8 +72,8 @@ __xfrm6_selector_match(const struct xfrm_selector *sel, const struct flowi *fl)
72{ 72{
73 return addr_match(&fl->fl6_dst, &sel->daddr, sel->prefixlen_d) && 73 return addr_match(&fl->fl6_dst, &sel->daddr, sel->prefixlen_d) &&
74 addr_match(&fl->fl6_src, &sel->saddr, sel->prefixlen_s) && 74 addr_match(&fl->fl6_src, &sel->saddr, sel->prefixlen_s) &&
75 !((xfrm_flowi_dport(fl, &fl->uli_u) ^ sel->dport) & sel->dport_mask) && 75 !((xfrm_flowi_dport(fl, &fl->u.ip6.uli) ^ sel->dport) & sel->dport_mask) &&
76 !((xfrm_flowi_sport(fl, &fl->uli_u) ^ sel->sport) & sel->sport_mask) && 76 !((xfrm_flowi_sport(fl, &fl->u.ip6.uli) ^ sel->sport) & sel->sport_mask) &&
77 (fl->flowi_proto == sel->proto || !sel->proto) && 77 (fl->flowi_proto == sel->proto || !sel->proto) &&
78 (fl->flowi_oif == sel->ifindex || !sel->ifindex); 78 (fl->flowi_oif == sel->ifindex || !sel->ifindex);
79} 79}