diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /net/ipv6/xfrm6_state.c | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'net/ipv6/xfrm6_state.c')
-rw-r--r-- | net/ipv6/xfrm6_state.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/net/ipv6/xfrm6_state.c b/net/ipv6/xfrm6_state.c index a67575d472a3..248f0b2a7ee9 100644 --- a/net/ipv6/xfrm6_state.c +++ b/net/ipv6/xfrm6_state.c | |||
@@ -20,26 +20,28 @@ | |||
20 | #include <net/addrconf.h> | 20 | #include <net/addrconf.h> |
21 | 21 | ||
22 | static void | 22 | static void |
23 | __xfrm6_init_tempsel(struct xfrm_selector *sel, struct flowi *fl) | 23 | __xfrm6_init_tempsel(struct xfrm_selector *sel, const struct flowi *fl) |
24 | { | 24 | { |
25 | const struct flowi6 *fl6 = &fl->u.ip6; | ||
26 | |||
25 | /* Initialize temporary selector matching only | 27 | /* Initialize temporary selector matching only |
26 | * to current session. */ | 28 | * to current session. */ |
27 | ipv6_addr_copy((struct in6_addr *)&sel->daddr, &fl->fl6_dst); | 29 | ipv6_addr_copy((struct in6_addr *)&sel->daddr, &fl6->daddr); |
28 | ipv6_addr_copy((struct in6_addr *)&sel->saddr, &fl->fl6_src); | 30 | ipv6_addr_copy((struct in6_addr *)&sel->saddr, &fl6->saddr); |
29 | sel->dport = xfrm_flowi_dport(fl); | 31 | sel->dport = xfrm_flowi_dport(fl, &fl6->uli); |
30 | sel->dport_mask = htons(0xffff); | 32 | sel->dport_mask = htons(0xffff); |
31 | sel->sport = xfrm_flowi_sport(fl); | 33 | sel->sport = xfrm_flowi_sport(fl, &fl6->uli); |
32 | sel->sport_mask = htons(0xffff); | 34 | sel->sport_mask = htons(0xffff); |
33 | sel->family = AF_INET6; | 35 | sel->family = AF_INET6; |
34 | sel->prefixlen_d = 128; | 36 | sel->prefixlen_d = 128; |
35 | sel->prefixlen_s = 128; | 37 | sel->prefixlen_s = 128; |
36 | sel->proto = fl->proto; | 38 | sel->proto = fl6->flowi6_proto; |
37 | sel->ifindex = fl->oif; | 39 | sel->ifindex = fl6->flowi6_oif; |
38 | } | 40 | } |
39 | 41 | ||
40 | static void | 42 | static void |
41 | xfrm6_init_temprop(struct xfrm_state *x, struct xfrm_tmpl *tmpl, | 43 | xfrm6_init_temprop(struct xfrm_state *x, const struct xfrm_tmpl *tmpl, |
42 | xfrm_address_t *daddr, xfrm_address_t *saddr) | 44 | const xfrm_address_t *daddr, const xfrm_address_t *saddr) |
43 | { | 45 | { |
44 | x->id = tmpl->id; | 46 | x->id = tmpl->id; |
45 | if (ipv6_addr_any((struct in6_addr*)&x->id.daddr)) | 47 | if (ipv6_addr_any((struct in6_addr*)&x->id.daddr)) |
@@ -176,6 +178,7 @@ static struct xfrm_state_afinfo xfrm6_state_afinfo = { | |||
176 | .tmpl_sort = __xfrm6_tmpl_sort, | 178 | .tmpl_sort = __xfrm6_tmpl_sort, |
177 | .state_sort = __xfrm6_state_sort, | 179 | .state_sort = __xfrm6_state_sort, |
178 | .output = xfrm6_output, | 180 | .output = xfrm6_output, |
181 | .output_finish = xfrm6_output_finish, | ||
179 | .extract_input = xfrm6_extract_input, | 182 | .extract_input = xfrm6_extract_input, |
180 | .extract_output = xfrm6_extract_output, | 183 | .extract_output = xfrm6_extract_output, |
181 | .transport_finish = xfrm6_transport_finish, | 184 | .transport_finish = xfrm6_transport_finish, |