aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6')
-rw-r--r--net/ipv6/af_inet6.c4
-rw-r--r--net/ipv6/datagram.c6
-rw-r--r--net/ipv6/icmp.c10
-rw-r--r--net/ipv6/inet6_connection_sock.c8
-rw-r--r--net/ipv6/mip6.c6
-rw-r--r--net/ipv6/netfilter/ip6t_REJECT.c4
-rw-r--r--net/ipv6/raw.c6
-rw-r--r--net/ipv6/syncookies.c4
-rw-r--r--net/ipv6/tcp_ipv6.c16
-rw-r--r--net/ipv6/udp.c10
-rw-r--r--net/ipv6/xfrm6_policy.c12
-rw-r--r--net/ipv6/xfrm6_state.c4
12 files changed, 45 insertions, 45 deletions
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index 35b0be0463f9..923febea8989 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c
@@ -661,8 +661,8 @@ int inet6_sk_rebuild_header(struct sock *sk)
661 fl.fl6_flowlabel = np->flow_label; 661 fl.fl6_flowlabel = np->flow_label;
662 fl.flowi_oif = sk->sk_bound_dev_if; 662 fl.flowi_oif = sk->sk_bound_dev_if;
663 fl.flowi_mark = sk->sk_mark; 663 fl.flowi_mark = sk->sk_mark;
664 fl.fl_ip_dport = inet->inet_dport; 664 fl.fl6_dport = inet->inet_dport;
665 fl.fl_ip_sport = inet->inet_sport; 665 fl.fl6_sport = inet->inet_sport;
666 security_sk_classify_flow(sk, &fl); 666 security_sk_classify_flow(sk, &fl);
667 667
668 final_p = fl6_update_dst(&fl, np->opt, &final); 668 final_p = fl6_update_dst(&fl, np->opt, &final);
diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c
index 6c24b26f67ec..07e03e68243b 100644
--- a/net/ipv6/datagram.c
+++ b/net/ipv6/datagram.c
@@ -151,8 +151,8 @@ ipv4_connected:
151 ipv6_addr_copy(&fl.fl6_src, &np->saddr); 151 ipv6_addr_copy(&fl.fl6_src, &np->saddr);
152 fl.flowi_oif = sk->sk_bound_dev_if; 152 fl.flowi_oif = sk->sk_bound_dev_if;
153 fl.flowi_mark = sk->sk_mark; 153 fl.flowi_mark = sk->sk_mark;
154 fl.fl_ip_dport = inet->inet_dport; 154 fl.fl6_dport = inet->inet_dport;
155 fl.fl_ip_sport = inet->inet_sport; 155 fl.fl6_sport = inet->inet_sport;
156 156
157 if (!fl.flowi_oif && (addr_type&IPV6_ADDR_MULTICAST)) 157 if (!fl.flowi_oif && (addr_type&IPV6_ADDR_MULTICAST))
158 fl.flowi_oif = np->mcast_oif; 158 fl.flowi_oif = np->mcast_oif;
@@ -261,7 +261,7 @@ void ipv6_local_error(struct sock *sk, int err, struct flowi *fl, u32 info)
261 serr->ee.ee_info = info; 261 serr->ee.ee_info = info;
262 serr->ee.ee_data = 0; 262 serr->ee.ee_data = 0;
263 serr->addr_offset = (u8 *)&iph->daddr - skb_network_header(skb); 263 serr->addr_offset = (u8 *)&iph->daddr - skb_network_header(skb);
264 serr->port = fl->fl_ip_dport; 264 serr->port = fl->fl6_dport;
265 265
266 __skb_pull(skb, skb_tail_pointer(skb) - skb->data); 266 __skb_pull(skb, skb_tail_pointer(skb) - skb->data);
267 skb_reset_transport_header(skb); 267 skb_reset_transport_header(skb);
diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c
index 9e123e08b9b7..52ff7aa1f9fc 100644
--- a/net/ipv6/icmp.c
+++ b/net/ipv6/icmp.c
@@ -448,8 +448,8 @@ void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info)
448 if (saddr) 448 if (saddr)
449 ipv6_addr_copy(&fl.fl6_src, saddr); 449 ipv6_addr_copy(&fl.fl6_src, saddr);
450 fl.flowi_oif = iif; 450 fl.flowi_oif = iif;
451 fl.fl_icmp_type = type; 451 fl.fl6_icmp_type = type;
452 fl.fl_icmp_code = code; 452 fl.fl6_icmp_code = code;
453 security_skb_classify_flow(skb, &fl); 453 security_skb_classify_flow(skb, &fl);
454 454
455 sk = icmpv6_xmit_lock(net); 455 sk = icmpv6_xmit_lock(net);
@@ -544,7 +544,7 @@ static void icmpv6_echo_reply(struct sk_buff *skb)
544 if (saddr) 544 if (saddr)
545 ipv6_addr_copy(&fl.fl6_src, saddr); 545 ipv6_addr_copy(&fl.fl6_src, saddr);
546 fl.flowi_oif = skb->dev->ifindex; 546 fl.flowi_oif = skb->dev->ifindex;
547 fl.fl_icmp_type = ICMPV6_ECHO_REPLY; 547 fl.fl6_icmp_type = ICMPV6_ECHO_REPLY;
548 security_skb_classify_flow(skb, &fl); 548 security_skb_classify_flow(skb, &fl);
549 549
550 sk = icmpv6_xmit_lock(net); 550 sk = icmpv6_xmit_lock(net);
@@ -794,8 +794,8 @@ void icmpv6_flow_init(struct sock *sk, struct flowi *fl,
794 ipv6_addr_copy(&fl->fl6_src, saddr); 794 ipv6_addr_copy(&fl->fl6_src, saddr);
795 ipv6_addr_copy(&fl->fl6_dst, daddr); 795 ipv6_addr_copy(&fl->fl6_dst, daddr);
796 fl->flowi_proto = IPPROTO_ICMPV6; 796 fl->flowi_proto = IPPROTO_ICMPV6;
797 fl->fl_icmp_type = type; 797 fl->fl6_icmp_type = type;
798 fl->fl_icmp_code = 0; 798 fl->fl6_icmp_code = 0;
799 fl->flowi_oif = oif; 799 fl->flowi_oif = oif;
800 security_sk_classify_flow(sk, fl); 800 security_sk_classify_flow(sk, fl);
801} 801}
diff --git a/net/ipv6/inet6_connection_sock.c b/net/ipv6/inet6_connection_sock.c
index 673f9bf28958..1b06a24019c6 100644
--- a/net/ipv6/inet6_connection_sock.c
+++ b/net/ipv6/inet6_connection_sock.c
@@ -70,8 +70,8 @@ struct dst_entry *inet6_csk_route_req(struct sock *sk,
70 ipv6_addr_copy(&fl.fl6_src, &treq->loc_addr); 70 ipv6_addr_copy(&fl.fl6_src, &treq->loc_addr);
71 fl.flowi_oif = sk->sk_bound_dev_if; 71 fl.flowi_oif = sk->sk_bound_dev_if;
72 fl.flowi_mark = sk->sk_mark; 72 fl.flowi_mark = sk->sk_mark;
73 fl.fl_ip_dport = inet_rsk(req)->rmt_port; 73 fl.fl6_dport = inet_rsk(req)->rmt_port;
74 fl.fl_ip_sport = inet_rsk(req)->loc_port; 74 fl.fl6_sport = inet_rsk(req)->loc_port;
75 security_req_classify_flow(req, &fl); 75 security_req_classify_flow(req, &fl);
76 76
77 dst = ip6_dst_lookup_flow(sk, &fl, final_p, false); 77 dst = ip6_dst_lookup_flow(sk, &fl, final_p, false);
@@ -220,8 +220,8 @@ int inet6_csk_xmit(struct sk_buff *skb)
220 IP6_ECN_flow_xmit(sk, fl.fl6_flowlabel); 220 IP6_ECN_flow_xmit(sk, fl.fl6_flowlabel);
221 fl.flowi_oif = sk->sk_bound_dev_if; 221 fl.flowi_oif = sk->sk_bound_dev_if;
222 fl.flowi_mark = sk->sk_mark; 222 fl.flowi_mark = sk->sk_mark;
223 fl.fl_ip_sport = inet->inet_sport; 223 fl.fl6_sport = inet->inet_sport;
224 fl.fl_ip_dport = inet->inet_dport; 224 fl.fl6_dport = inet->inet_dport;
225 security_sk_classify_flow(sk, &fl); 225 security_sk_classify_flow(sk, &fl);
226 226
227 final_p = fl6_update_dst(&fl, np->opt, &final); 227 final_p = fl6_update_dst(&fl, np->opt, &final);
diff --git a/net/ipv6/mip6.c b/net/ipv6/mip6.c
index e2f852cd0f4e..5038e6b2b55b 100644
--- a/net/ipv6/mip6.c
+++ b/net/ipv6/mip6.c
@@ -215,7 +215,7 @@ static int mip6_destopt_reject(struct xfrm_state *x, struct sk_buff *skb,
215 int err = 0; 215 int err = 0;
216 216
217 if (unlikely(fl->flowi_proto == IPPROTO_MH && 217 if (unlikely(fl->flowi_proto == IPPROTO_MH &&
218 fl->fl_mh_type <= IP6_MH_TYPE_MAX)) 218 fl->fl6_mh_type <= IP6_MH_TYPE_MAX))
219 goto out; 219 goto out;
220 220
221 if (likely(opt->dsthao)) { 221 if (likely(opt->dsthao)) {
@@ -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); 244 sel.dport = xfrm_flowi_dport(fl, &fl->uli_u);
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); 247 sel.sport = xfrm_flowi_sport(fl, &fl->uli_u);
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/netfilter/ip6t_REJECT.c b/net/ipv6/netfilter/ip6t_REJECT.c
index fd3938803eb3..d1e905b7f563 100644
--- a/net/ipv6/netfilter/ip6t_REJECT.c
+++ b/net/ipv6/netfilter/ip6t_REJECT.c
@@ -93,8 +93,8 @@ static void send_reset(struct net *net, struct sk_buff *oldskb)
93 fl.flowi_proto = IPPROTO_TCP; 93 fl.flowi_proto = IPPROTO_TCP;
94 ipv6_addr_copy(&fl.fl6_src, &oip6h->daddr); 94 ipv6_addr_copy(&fl.fl6_src, &oip6h->daddr);
95 ipv6_addr_copy(&fl.fl6_dst, &oip6h->saddr); 95 ipv6_addr_copy(&fl.fl6_dst, &oip6h->saddr);
96 fl.fl_ip_sport = otcph.dest; 96 fl.fl6_sport = otcph.dest;
97 fl.fl_ip_dport = otcph.source; 97 fl.fl6_dport = otcph.source;
98 security_skb_classify_flow(oldskb, &fl); 98 security_skb_classify_flow(oldskb, &fl);
99 dst = ip6_route_output(net, NULL, &fl); 99 dst = ip6_route_output(net, NULL, &fl);
100 if (dst == NULL || dst->error) { 100 if (dst == NULL || dst->error) {
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index 323ad44ff775..d061465d6827 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -694,8 +694,8 @@ static int rawv6_probe_proto_opt(struct flowi *fl, struct msghdr *msg)
694 code = iov->iov_base; 694 code = iov->iov_base;
695 695
696 if (type && code) { 696 if (type && code) {
697 if (get_user(fl->fl_icmp_type, type) || 697 if (get_user(fl->fl6_icmp_type, type) ||
698 get_user(fl->fl_icmp_code, code)) 698 get_user(fl->fl6_icmp_code, code))
699 return -EFAULT; 699 return -EFAULT;
700 probed = 1; 700 probed = 1;
701 } 701 }
@@ -706,7 +706,7 @@ static int rawv6_probe_proto_opt(struct flowi *fl, struct msghdr *msg)
706 /* check if type field is readable or not. */ 706 /* check if type field is readable or not. */
707 if (iov->iov_len > 2 - len) { 707 if (iov->iov_len > 2 - len) {
708 u8 __user *p = iov->iov_base; 708 u8 __user *p = iov->iov_base;
709 if (get_user(fl->fl_mh_type, &p[2 - len])) 709 if (get_user(fl->fl6_mh_type, &p[2 - len]))
710 return -EFAULT; 710 return -EFAULT;
711 probed = 1; 711 probed = 1;
712 } else 712 } else
diff --git a/net/ipv6/syncookies.c b/net/ipv6/syncookies.c
index ca5255c08371..5b9eded1432c 100644
--- a/net/ipv6/syncookies.c
+++ b/net/ipv6/syncookies.c
@@ -240,8 +240,8 @@ struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb)
240 ipv6_addr_copy(&fl.fl6_src, &ireq6->loc_addr); 240 ipv6_addr_copy(&fl.fl6_src, &ireq6->loc_addr);
241 fl.flowi_oif = sk->sk_bound_dev_if; 241 fl.flowi_oif = sk->sk_bound_dev_if;
242 fl.flowi_mark = sk->sk_mark; 242 fl.flowi_mark = sk->sk_mark;
243 fl.fl_ip_dport = inet_rsk(req)->rmt_port; 243 fl.fl6_dport = inet_rsk(req)->rmt_port;
244 fl.fl_ip_sport = inet_sk(sk)->inet_sport; 244 fl.fl6_sport = inet_sk(sk)->inet_sport;
245 security_req_classify_flow(req, &fl); 245 security_req_classify_flow(req, &fl);
246 246
247 dst = ip6_dst_lookup_flow(sk, &fl, final_p, false); 247 dst = ip6_dst_lookup_flow(sk, &fl, final_p, false);
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index a3d1229b4004..c531ad5fbccc 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -248,8 +248,8 @@ static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr,
248 (saddr ? saddr : &np->saddr)); 248 (saddr ? saddr : &np->saddr));
249 fl.flowi_oif = sk->sk_bound_dev_if; 249 fl.flowi_oif = sk->sk_bound_dev_if;
250 fl.flowi_mark = sk->sk_mark; 250 fl.flowi_mark = sk->sk_mark;
251 fl.fl_ip_dport = usin->sin6_port; 251 fl.fl6_dport = usin->sin6_port;
252 fl.fl_ip_sport = inet->inet_sport; 252 fl.fl6_sport = inet->inet_sport;
253 253
254 final_p = fl6_update_dst(&fl, np->opt, &final); 254 final_p = fl6_update_dst(&fl, np->opt, &final);
255 255
@@ -401,8 +401,8 @@ static void tcp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
401 ipv6_addr_copy(&fl.fl6_src, &np->saddr); 401 ipv6_addr_copy(&fl.fl6_src, &np->saddr);
402 fl.flowi_oif = sk->sk_bound_dev_if; 402 fl.flowi_oif = sk->sk_bound_dev_if;
403 fl.flowi_mark = sk->sk_mark; 403 fl.flowi_mark = sk->sk_mark;
404 fl.fl_ip_dport = inet->inet_dport; 404 fl.fl6_dport = inet->inet_dport;
405 fl.fl_ip_sport = inet->inet_sport; 405 fl.fl6_sport = inet->inet_sport;
406 security_skb_classify_flow(skb, &fl); 406 security_skb_classify_flow(skb, &fl);
407 407
408 dst = ip6_dst_lookup_flow(sk, &fl, NULL, false); 408 dst = ip6_dst_lookup_flow(sk, &fl, NULL, false);
@@ -493,8 +493,8 @@ static int tcp_v6_send_synack(struct sock *sk, struct request_sock *req,
493 fl.fl6_flowlabel = 0; 493 fl.fl6_flowlabel = 0;
494 fl.flowi_oif = treq->iif; 494 fl.flowi_oif = treq->iif;
495 fl.flowi_mark = sk->sk_mark; 495 fl.flowi_mark = sk->sk_mark;
496 fl.fl_ip_dport = inet_rsk(req)->rmt_port; 496 fl.fl6_dport = inet_rsk(req)->rmt_port;
497 fl.fl_ip_sport = inet_rsk(req)->loc_port; 497 fl.fl6_sport = inet_rsk(req)->loc_port;
498 security_req_classify_flow(req, &fl); 498 security_req_classify_flow(req, &fl);
499 499
500 opt = np->opt; 500 opt = np->opt;
@@ -1057,8 +1057,8 @@ static void tcp_v6_send_response(struct sk_buff *skb, u32 seq, u32 ack, u32 win,
1057 1057
1058 fl.flowi_proto = IPPROTO_TCP; 1058 fl.flowi_proto = IPPROTO_TCP;
1059 fl.flowi_oif = inet6_iif(skb); 1059 fl.flowi_oif = inet6_iif(skb);
1060 fl.fl_ip_dport = t1->dest; 1060 fl.fl6_dport = t1->dest;
1061 fl.fl_ip_sport = t1->source; 1061 fl.fl6_sport = t1->source;
1062 security_skb_classify_flow(skb, &fl); 1062 security_skb_classify_flow(skb, &fl);
1063 1063
1064 /* Pass a socket to ip6_dst_lookup either it is for RST 1064 /* Pass a socket to ip6_dst_lookup either it is for RST
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index 91f8047463ec..dad035fb0afd 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -899,8 +899,8 @@ static int udp_v6_push_pending_frames(struct sock *sk)
899 * Create a UDP header 899 * Create a UDP header
900 */ 900 */
901 uh = udp_hdr(skb); 901 uh = udp_hdr(skb);
902 uh->source = fl->fl_ip_sport; 902 uh->source = fl->fl6_sport;
903 uh->dest = fl->fl_ip_dport; 903 uh->dest = fl->fl6_dport;
904 uh->len = htons(up->len); 904 uh->len = htons(up->len);
905 uh->check = 0; 905 uh->check = 0;
906 906
@@ -1036,7 +1036,7 @@ do_udp_sendmsg:
1036 if (sin6->sin6_port == 0) 1036 if (sin6->sin6_port == 0)
1037 return -EINVAL; 1037 return -EINVAL;
1038 1038
1039 fl.fl_ip_dport = sin6->sin6_port; 1039 fl.fl6_dport = sin6->sin6_port;
1040 daddr = &sin6->sin6_addr; 1040 daddr = &sin6->sin6_addr;
1041 1041
1042 if (np->sndflow) { 1042 if (np->sndflow) {
@@ -1065,7 +1065,7 @@ do_udp_sendmsg:
1065 if (sk->sk_state != TCP_ESTABLISHED) 1065 if (sk->sk_state != TCP_ESTABLISHED)
1066 return -EDESTADDRREQ; 1066 return -EDESTADDRREQ;
1067 1067
1068 fl.fl_ip_dport = inet->inet_dport; 1068 fl.fl6_dport = inet->inet_dport;
1069 daddr = &np->daddr; 1069 daddr = &np->daddr;
1070 fl.fl6_flowlabel = np->flow_label; 1070 fl.fl6_flowlabel = np->flow_label;
1071 connected = 1; 1071 connected = 1;
@@ -1112,7 +1112,7 @@ do_udp_sendmsg:
1112 fl.fl6_dst.s6_addr[15] = 0x1; /* :: means loopback (BSD'ism) */ 1112 fl.fl6_dst.s6_addr[15] = 0x1; /* :: means loopback (BSD'ism) */
1113 if (ipv6_addr_any(&fl.fl6_src) && !ipv6_addr_any(&np->saddr)) 1113 if (ipv6_addr_any(&fl.fl6_src) && !ipv6_addr_any(&np->saddr))
1114 ipv6_addr_copy(&fl.fl6_src, &np->saddr); 1114 ipv6_addr_copy(&fl.fl6_src, &np->saddr);
1115 fl.fl_ip_sport = inet->inet_sport; 1115 fl.fl6_sport = inet->inet_sport;
1116 1116
1117 final_p = fl6_update_dst(&fl, opt, &final); 1117 final_p = fl6_update_dst(&fl, opt, &final);
1118 if (final_p) 1118 if (final_p)
diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c
index d62496c1a6f9..213c7594144b 100644
--- a/net/ipv6/xfrm6_policy.c
+++ b/net/ipv6/xfrm6_policy.c
@@ -158,8 +158,8 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse)
158 pskb_may_pull(skb, nh + offset + 4 - skb->data))) { 158 pskb_may_pull(skb, nh + offset + 4 - skb->data))) {
159 __be16 *ports = (__be16 *)exthdr; 159 __be16 *ports = (__be16 *)exthdr;
160 160
161 fl->fl_ip_sport = ports[!!reverse]; 161 fl->fl6_sport = ports[!!reverse];
162 fl->fl_ip_dport = ports[!reverse]; 162 fl->fl6_dport = ports[!reverse];
163 } 163 }
164 fl->flowi_proto = nexthdr; 164 fl->flowi_proto = nexthdr;
165 return; 165 return;
@@ -168,8 +168,8 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse)
168 if (!onlyproto && pskb_may_pull(skb, nh + offset + 2 - skb->data)) { 168 if (!onlyproto && pskb_may_pull(skb, nh + offset + 2 - skb->data)) {
169 u8 *icmp = (u8 *)exthdr; 169 u8 *icmp = (u8 *)exthdr;
170 170
171 fl->fl_icmp_type = icmp[0]; 171 fl->fl6_icmp_type = icmp[0];
172 fl->fl_icmp_code = icmp[1]; 172 fl->fl6_icmp_code = icmp[1];
173 } 173 }
174 fl->flowi_proto = nexthdr; 174 fl->flowi_proto = nexthdr;
175 return; 175 return;
@@ -180,7 +180,7 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse)
180 struct ip6_mh *mh; 180 struct ip6_mh *mh;
181 mh = (struct ip6_mh *)exthdr; 181 mh = (struct ip6_mh *)exthdr;
182 182
183 fl->fl_mh_type = mh->ip6mh_type; 183 fl->fl6_mh_type = mh->ip6mh_type;
184 } 184 }
185 fl->flowi_proto = nexthdr; 185 fl->flowi_proto = nexthdr;
186 return; 186 return;
@@ -191,7 +191,7 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse)
191 case IPPROTO_ESP: 191 case IPPROTO_ESP:
192 case IPPROTO_COMP: 192 case IPPROTO_COMP:
193 default: 193 default:
194 fl->fl_ipsec_spi = 0; 194 fl->fl6_ipsec_spi = 0;
195 fl->flowi_proto = nexthdr; 195 fl->flowi_proto = nexthdr;
196 return; 196 return;
197 } 197 }
diff --git a/net/ipv6/xfrm6_state.c b/net/ipv6/xfrm6_state.c
index 805d0e14c331..71277ce78590 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); 29 sel->dport = xfrm_flowi_dport(fl, &fl->uli_u);
30 sel->dport_mask = htons(0xffff); 30 sel->dport_mask = htons(0xffff);
31 sel->sport = xfrm_flowi_sport(fl); 31 sel->sport = xfrm_flowi_sport(fl, &fl->uli_u);
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;