diff options
author | David S. Miller <davem@davemloft.net> | 2011-03-12 00:29:39 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-03-12 18:08:44 -0500 |
commit | 1d28f42c1bd4bb2363d88df74d0128b4da135b4a (patch) | |
tree | cb2e652fe79a2bc307e871bc2d3fa51cc8051e45 /net/ipv6 | |
parent | ca116922afa8cc5ad46b00c0a637b1cde5ca478a (diff) |
net: Put flowi_* prefix on AF independent members of struct flowi
I intend to turn struct flowi into a union of AF specific flowi
structs. There will be a common structure that each variant includes
first, much like struct sock_common.
This is the first step to move in that direction.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/af_inet6.c | 6 | ||||
-rw-r--r-- | net/ipv6/datagram.c | 20 | ||||
-rw-r--r-- | net/ipv6/icmp.c | 24 | ||||
-rw-r--r-- | net/ipv6/inet6_connection_sock.c | 12 | ||||
-rw-r--r-- | net/ipv6/ip6_flowlabel.c | 2 | ||||
-rw-r--r-- | net/ipv6/ip6_output.c | 10 | ||||
-rw-r--r-- | net/ipv6/ip6_tunnel.c | 8 | ||||
-rw-r--r-- | net/ipv6/ip6mr.c | 22 | ||||
-rw-r--r-- | net/ipv6/ipv6_sockglue.c | 4 | ||||
-rw-r--r-- | net/ipv6/mip6.c | 6 | ||||
-rw-r--r-- | net/ipv6/netfilter.c | 4 | ||||
-rw-r--r-- | net/ipv6/netfilter/ip6t_REJECT.c | 2 | ||||
-rw-r--r-- | net/ipv6/raw.c | 20 | ||||
-rw-r--r-- | net/ipv6/route.c | 20 | ||||
-rw-r--r-- | net/ipv6/syncookies.c | 6 | ||||
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 22 | ||||
-rw-r--r-- | net/ipv6/udp.c | 20 | ||||
-rw-r--r-- | net/ipv6/xfrm6_policy.c | 10 | ||||
-rw-r--r-- | net/ipv6/xfrm6_state.c | 4 |
19 files changed, 111 insertions, 111 deletions
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c index a88b2e9d25f1..35b0be0463f9 100644 --- a/net/ipv6/af_inet6.c +++ b/net/ipv6/af_inet6.c | |||
@@ -655,12 +655,12 @@ int inet6_sk_rebuild_header(struct sock *sk) | |||
655 | struct flowi fl; | 655 | struct flowi fl; |
656 | 656 | ||
657 | memset(&fl, 0, sizeof(fl)); | 657 | memset(&fl, 0, sizeof(fl)); |
658 | fl.proto = sk->sk_protocol; | 658 | fl.flowi_proto = sk->sk_protocol; |
659 | ipv6_addr_copy(&fl.fl6_dst, &np->daddr); | 659 | ipv6_addr_copy(&fl.fl6_dst, &np->daddr); |
660 | ipv6_addr_copy(&fl.fl6_src, &np->saddr); | 660 | ipv6_addr_copy(&fl.fl6_src, &np->saddr); |
661 | fl.fl6_flowlabel = np->flow_label; | 661 | fl.fl6_flowlabel = np->flow_label; |
662 | fl.oif = sk->sk_bound_dev_if; | 662 | fl.flowi_oif = sk->sk_bound_dev_if; |
663 | fl.mark = sk->sk_mark; | 663 | fl.flowi_mark = sk->sk_mark; |
664 | fl.fl_ip_dport = inet->inet_dport; | 664 | fl.fl_ip_dport = inet->inet_dport; |
665 | fl.fl_ip_sport = inet->inet_sport; | 665 | fl.fl_ip_sport = inet->inet_sport; |
666 | security_sk_classify_flow(sk, &fl); | 666 | security_sk_classify_flow(sk, &fl); |
diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c index be3a781c0085..6c24b26f67ec 100644 --- a/net/ipv6/datagram.c +++ b/net/ipv6/datagram.c | |||
@@ -146,16 +146,16 @@ ipv4_connected: | |||
146 | * destination cache for it. | 146 | * destination cache for it. |
147 | */ | 147 | */ |
148 | 148 | ||
149 | fl.proto = sk->sk_protocol; | 149 | fl.flowi_proto = sk->sk_protocol; |
150 | ipv6_addr_copy(&fl.fl6_dst, &np->daddr); | 150 | ipv6_addr_copy(&fl.fl6_dst, &np->daddr); |
151 | ipv6_addr_copy(&fl.fl6_src, &np->saddr); | 151 | ipv6_addr_copy(&fl.fl6_src, &np->saddr); |
152 | fl.oif = sk->sk_bound_dev_if; | 152 | fl.flowi_oif = sk->sk_bound_dev_if; |
153 | fl.mark = sk->sk_mark; | 153 | fl.flowi_mark = sk->sk_mark; |
154 | fl.fl_ip_dport = inet->inet_dport; | 154 | fl.fl_ip_dport = inet->inet_dport; |
155 | fl.fl_ip_sport = inet->inet_sport; | 155 | fl.fl_ip_sport = inet->inet_sport; |
156 | 156 | ||
157 | if (!fl.oif && (addr_type&IPV6_ADDR_MULTICAST)) | 157 | if (!fl.flowi_oif && (addr_type&IPV6_ADDR_MULTICAST)) |
158 | fl.oif = np->mcast_oif; | 158 | fl.flowi_oif = np->mcast_oif; |
159 | 159 | ||
160 | security_sk_classify_flow(sk, &fl); | 160 | security_sk_classify_flow(sk, &fl); |
161 | 161 | ||
@@ -299,7 +299,7 @@ void ipv6_local_rxpmtu(struct sock *sk, struct flowi *fl, u32 mtu) | |||
299 | mtu_info->ip6m_addr.sin6_family = AF_INET6; | 299 | mtu_info->ip6m_addr.sin6_family = AF_INET6; |
300 | mtu_info->ip6m_addr.sin6_port = 0; | 300 | mtu_info->ip6m_addr.sin6_port = 0; |
301 | mtu_info->ip6m_addr.sin6_flowinfo = 0; | 301 | mtu_info->ip6m_addr.sin6_flowinfo = 0; |
302 | mtu_info->ip6m_addr.sin6_scope_id = fl->oif; | 302 | mtu_info->ip6m_addr.sin6_scope_id = fl->flowi_oif; |
303 | ipv6_addr_copy(&mtu_info->ip6m_addr.sin6_addr, &ipv6_hdr(skb)->daddr); | 303 | ipv6_addr_copy(&mtu_info->ip6m_addr.sin6_addr, &ipv6_hdr(skb)->daddr); |
304 | 304 | ||
305 | __skb_pull(skb, skb_tail_pointer(skb) - skb->data); | 305 | __skb_pull(skb, skb_tail_pointer(skb) - skb->data); |
@@ -629,16 +629,16 @@ int datagram_send_ctl(struct net *net, | |||
629 | src_info = (struct in6_pktinfo *)CMSG_DATA(cmsg); | 629 | src_info = (struct in6_pktinfo *)CMSG_DATA(cmsg); |
630 | 630 | ||
631 | if (src_info->ipi6_ifindex) { | 631 | if (src_info->ipi6_ifindex) { |
632 | if (fl->oif && src_info->ipi6_ifindex != fl->oif) | 632 | if (fl->flowi_oif && src_info->ipi6_ifindex != fl->flowi_oif) |
633 | return -EINVAL; | 633 | return -EINVAL; |
634 | fl->oif = src_info->ipi6_ifindex; | 634 | fl->flowi_oif = src_info->ipi6_ifindex; |
635 | } | 635 | } |
636 | 636 | ||
637 | addr_type = __ipv6_addr_type(&src_info->ipi6_addr); | 637 | addr_type = __ipv6_addr_type(&src_info->ipi6_addr); |
638 | 638 | ||
639 | rcu_read_lock(); | 639 | rcu_read_lock(); |
640 | if (fl->oif) { | 640 | if (fl->flowi_oif) { |
641 | dev = dev_get_by_index_rcu(net, fl->oif); | 641 | dev = dev_get_by_index_rcu(net, fl->flowi_oif); |
642 | if (!dev) { | 642 | if (!dev) { |
643 | rcu_read_unlock(); | 643 | rcu_read_unlock(); |
644 | return -ENODEV; | 644 | return -ENODEV; |
diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c index 55665956b3a8..9e123e08b9b7 100644 --- a/net/ipv6/icmp.c +++ b/net/ipv6/icmp.c | |||
@@ -235,7 +235,7 @@ static int icmpv6_push_pending_frames(struct sock *sk, struct flowi *fl, struct | |||
235 | sizeof(struct icmp6hdr), skb->csum); | 235 | sizeof(struct icmp6hdr), skb->csum); |
236 | icmp6h->icmp6_cksum = csum_ipv6_magic(&fl->fl6_src, | 236 | icmp6h->icmp6_cksum = csum_ipv6_magic(&fl->fl6_src, |
237 | &fl->fl6_dst, | 237 | &fl->fl6_dst, |
238 | len, fl->proto, | 238 | len, fl->flowi_proto, |
239 | skb->csum); | 239 | skb->csum); |
240 | } else { | 240 | } else { |
241 | __wsum tmp_csum = 0; | 241 | __wsum tmp_csum = 0; |
@@ -248,7 +248,7 @@ static int icmpv6_push_pending_frames(struct sock *sk, struct flowi *fl, struct | |||
248 | sizeof(struct icmp6hdr), tmp_csum); | 248 | sizeof(struct icmp6hdr), tmp_csum); |
249 | icmp6h->icmp6_cksum = csum_ipv6_magic(&fl->fl6_src, | 249 | icmp6h->icmp6_cksum = csum_ipv6_magic(&fl->fl6_src, |
250 | &fl->fl6_dst, | 250 | &fl->fl6_dst, |
251 | len, fl->proto, | 251 | len, fl->flowi_proto, |
252 | tmp_csum); | 252 | tmp_csum); |
253 | } | 253 | } |
254 | ip6_push_pending_frames(sk); | 254 | ip6_push_pending_frames(sk); |
@@ -443,11 +443,11 @@ void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info) | |||
443 | mip6_addr_swap(skb); | 443 | mip6_addr_swap(skb); |
444 | 444 | ||
445 | memset(&fl, 0, sizeof(fl)); | 445 | memset(&fl, 0, sizeof(fl)); |
446 | fl.proto = IPPROTO_ICMPV6; | 446 | fl.flowi_proto = IPPROTO_ICMPV6; |
447 | ipv6_addr_copy(&fl.fl6_dst, &hdr->saddr); | 447 | ipv6_addr_copy(&fl.fl6_dst, &hdr->saddr); |
448 | if (saddr) | 448 | if (saddr) |
449 | ipv6_addr_copy(&fl.fl6_src, saddr); | 449 | ipv6_addr_copy(&fl.fl6_src, saddr); |
450 | fl.oif = iif; | 450 | fl.flowi_oif = iif; |
451 | fl.fl_icmp_type = type; | 451 | fl.fl_icmp_type = type; |
452 | fl.fl_icmp_code = code; | 452 | fl.fl_icmp_code = code; |
453 | security_skb_classify_flow(skb, &fl); | 453 | security_skb_classify_flow(skb, &fl); |
@@ -465,8 +465,8 @@ void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info) | |||
465 | tmp_hdr.icmp6_cksum = 0; | 465 | tmp_hdr.icmp6_cksum = 0; |
466 | tmp_hdr.icmp6_pointer = htonl(info); | 466 | tmp_hdr.icmp6_pointer = htonl(info); |
467 | 467 | ||
468 | if (!fl.oif && ipv6_addr_is_multicast(&fl.fl6_dst)) | 468 | if (!fl.flowi_oif && ipv6_addr_is_multicast(&fl.fl6_dst)) |
469 | fl.oif = np->mcast_oif; | 469 | fl.flowi_oif = np->mcast_oif; |
470 | 470 | ||
471 | dst = icmpv6_route_lookup(net, skb, sk, &fl); | 471 | dst = icmpv6_route_lookup(net, skb, sk, &fl); |
472 | if (IS_ERR(dst)) | 472 | if (IS_ERR(dst)) |
@@ -539,11 +539,11 @@ static void icmpv6_echo_reply(struct sk_buff *skb) | |||
539 | tmp_hdr.icmp6_type = ICMPV6_ECHO_REPLY; | 539 | tmp_hdr.icmp6_type = ICMPV6_ECHO_REPLY; |
540 | 540 | ||
541 | memset(&fl, 0, sizeof(fl)); | 541 | memset(&fl, 0, sizeof(fl)); |
542 | fl.proto = IPPROTO_ICMPV6; | 542 | fl.flowi_proto = IPPROTO_ICMPV6; |
543 | ipv6_addr_copy(&fl.fl6_dst, &ipv6_hdr(skb)->saddr); | 543 | ipv6_addr_copy(&fl.fl6_dst, &ipv6_hdr(skb)->saddr); |
544 | if (saddr) | 544 | if (saddr) |
545 | ipv6_addr_copy(&fl.fl6_src, saddr); | 545 | ipv6_addr_copy(&fl.fl6_src, saddr); |
546 | fl.oif = skb->dev->ifindex; | 546 | fl.flowi_oif = skb->dev->ifindex; |
547 | fl.fl_icmp_type = ICMPV6_ECHO_REPLY; | 547 | fl.fl_icmp_type = ICMPV6_ECHO_REPLY; |
548 | security_skb_classify_flow(skb, &fl); | 548 | security_skb_classify_flow(skb, &fl); |
549 | 549 | ||
@@ -552,8 +552,8 @@ static void icmpv6_echo_reply(struct sk_buff *skb) | |||
552 | return; | 552 | return; |
553 | np = inet6_sk(sk); | 553 | np = inet6_sk(sk); |
554 | 554 | ||
555 | if (!fl.oif && ipv6_addr_is_multicast(&fl.fl6_dst)) | 555 | if (!fl.flowi_oif && ipv6_addr_is_multicast(&fl.fl6_dst)) |
556 | fl.oif = np->mcast_oif; | 556 | fl.flowi_oif = np->mcast_oif; |
557 | 557 | ||
558 | err = ip6_dst_lookup(sk, &dst, &fl); | 558 | err = ip6_dst_lookup(sk, &dst, &fl); |
559 | if (err) | 559 | if (err) |
@@ -793,10 +793,10 @@ void icmpv6_flow_init(struct sock *sk, struct flowi *fl, | |||
793 | memset(fl, 0, sizeof(*fl)); | 793 | memset(fl, 0, sizeof(*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->proto = IPPROTO_ICMPV6; | 796 | fl->flowi_proto = IPPROTO_ICMPV6; |
797 | fl->fl_icmp_type = type; | 797 | fl->fl_icmp_type = type; |
798 | fl->fl_icmp_code = 0; | 798 | fl->fl_icmp_code = 0; |
799 | fl->oif = oif; | 799 | fl->flowi_oif = oif; |
800 | security_sk_classify_flow(sk, fl); | 800 | security_sk_classify_flow(sk, fl); |
801 | } | 801 | } |
802 | 802 | ||
diff --git a/net/ipv6/inet6_connection_sock.c b/net/ipv6/inet6_connection_sock.c index d687e1397333..673f9bf28958 100644 --- a/net/ipv6/inet6_connection_sock.c +++ b/net/ipv6/inet6_connection_sock.c | |||
@@ -64,12 +64,12 @@ struct dst_entry *inet6_csk_route_req(struct sock *sk, | |||
64 | struct flowi fl; | 64 | struct flowi fl; |
65 | 65 | ||
66 | memset(&fl, 0, sizeof(fl)); | 66 | memset(&fl, 0, sizeof(fl)); |
67 | fl.proto = IPPROTO_TCP; | 67 | fl.flowi_proto = IPPROTO_TCP; |
68 | ipv6_addr_copy(&fl.fl6_dst, &treq->rmt_addr); | 68 | ipv6_addr_copy(&fl.fl6_dst, &treq->rmt_addr); |
69 | final_p = fl6_update_dst(&fl, np->opt, &final); | 69 | final_p = fl6_update_dst(&fl, np->opt, &final); |
70 | ipv6_addr_copy(&fl.fl6_src, &treq->loc_addr); | 70 | ipv6_addr_copy(&fl.fl6_src, &treq->loc_addr); |
71 | fl.oif = sk->sk_bound_dev_if; | 71 | fl.flowi_oif = sk->sk_bound_dev_if; |
72 | fl.mark = sk->sk_mark; | 72 | fl.flowi_mark = sk->sk_mark; |
73 | fl.fl_ip_dport = inet_rsk(req)->rmt_port; | 73 | fl.fl_ip_dport = inet_rsk(req)->rmt_port; |
74 | fl.fl_ip_sport = inet_rsk(req)->loc_port; | 74 | fl.fl_ip_sport = inet_rsk(req)->loc_port; |
75 | security_req_classify_flow(req, &fl); | 75 | security_req_classify_flow(req, &fl); |
@@ -213,13 +213,13 @@ int inet6_csk_xmit(struct sk_buff *skb) | |||
213 | struct in6_addr *final_p, final; | 213 | struct in6_addr *final_p, final; |
214 | 214 | ||
215 | memset(&fl, 0, sizeof(fl)); | 215 | memset(&fl, 0, sizeof(fl)); |
216 | fl.proto = sk->sk_protocol; | 216 | fl.flowi_proto = sk->sk_protocol; |
217 | ipv6_addr_copy(&fl.fl6_dst, &np->daddr); | 217 | ipv6_addr_copy(&fl.fl6_dst, &np->daddr); |
218 | ipv6_addr_copy(&fl.fl6_src, &np->saddr); | 218 | ipv6_addr_copy(&fl.fl6_src, &np->saddr); |
219 | fl.fl6_flowlabel = np->flow_label; | 219 | fl.fl6_flowlabel = np->flow_label; |
220 | IP6_ECN_flow_xmit(sk, fl.fl6_flowlabel); | 220 | IP6_ECN_flow_xmit(sk, fl.fl6_flowlabel); |
221 | fl.oif = sk->sk_bound_dev_if; | 221 | fl.flowi_oif = sk->sk_bound_dev_if; |
222 | fl.mark = sk->sk_mark; | 222 | fl.flowi_mark = sk->sk_mark; |
223 | fl.fl_ip_sport = inet->inet_sport; | 223 | fl.fl_ip_sport = inet->inet_sport; |
224 | fl.fl_ip_dport = inet->inet_dport; | 224 | fl.fl_ip_dport = inet->inet_dport; |
225 | security_sk_classify_flow(sk, &fl); | 225 | security_sk_classify_flow(sk, &fl); |
diff --git a/net/ipv6/ip6_flowlabel.c b/net/ipv6/ip6_flowlabel.c index 13654686aeab..c8fa470b174b 100644 --- a/net/ipv6/ip6_flowlabel.c +++ b/net/ipv6/ip6_flowlabel.c | |||
@@ -358,7 +358,7 @@ fl_create(struct net *net, struct in6_flowlabel_req *freq, char __user *optval, | |||
358 | 358 | ||
359 | msg.msg_controllen = olen; | 359 | msg.msg_controllen = olen; |
360 | msg.msg_control = (void*)(fl->opt+1); | 360 | msg.msg_control = (void*)(fl->opt+1); |
361 | flowi.oif = 0; | 361 | flowi.flowi_oif = 0; |
362 | 362 | ||
363 | err = datagram_send_ctl(net, &msg, &flowi, fl->opt, &junk, | 363 | err = datagram_send_ctl(net, &msg, &flowi, fl->opt, &junk, |
364 | &junk, &junk); | 364 | &junk, &junk); |
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index adaffaf84555..3d0f2ac868a7 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c | |||
@@ -182,7 +182,7 @@ int ip6_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl, | |||
182 | struct in6_addr *first_hop = &fl->fl6_dst; | 182 | struct in6_addr *first_hop = &fl->fl6_dst; |
183 | struct dst_entry *dst = skb_dst(skb); | 183 | struct dst_entry *dst = skb_dst(skb); |
184 | struct ipv6hdr *hdr; | 184 | struct ipv6hdr *hdr; |
185 | u8 proto = fl->proto; | 185 | u8 proto = fl->flowi_proto; |
186 | int seg_len = skb->len; | 186 | int seg_len = skb->len; |
187 | int hlimit = -1; | 187 | int hlimit = -1; |
188 | int tclass = 0; | 188 | int tclass = 0; |
@@ -908,7 +908,7 @@ static struct dst_entry *ip6_sk_dst_check(struct sock *sk, | |||
908 | #ifdef CONFIG_IPV6_SUBTREES | 908 | #ifdef CONFIG_IPV6_SUBTREES |
909 | ip6_rt_check(&rt->rt6i_src, &fl->fl6_src, np->saddr_cache) || | 909 | ip6_rt_check(&rt->rt6i_src, &fl->fl6_src, np->saddr_cache) || |
910 | #endif | 910 | #endif |
911 | (fl->oif && fl->oif != dst->dev->ifindex)) { | 911 | (fl->flowi_oif && fl->flowi_oif != dst->dev->ifindex)) { |
912 | dst_release(dst); | 912 | dst_release(dst); |
913 | dst = NULL; | 913 | dst = NULL; |
914 | } | 914 | } |
@@ -1026,7 +1026,7 @@ struct dst_entry *ip6_dst_lookup_flow(struct sock *sk, struct flowi *fl, | |||
1026 | if (final_dst) | 1026 | if (final_dst) |
1027 | ipv6_addr_copy(&fl->fl6_dst, final_dst); | 1027 | ipv6_addr_copy(&fl->fl6_dst, final_dst); |
1028 | if (can_sleep) | 1028 | if (can_sleep) |
1029 | fl->flags |= FLOWI_FLAG_CAN_SLEEP; | 1029 | fl->flowi_flags |= FLOWI_FLAG_CAN_SLEEP; |
1030 | 1030 | ||
1031 | return xfrm_lookup(sock_net(sk), dst, fl, sk, 0); | 1031 | return xfrm_lookup(sock_net(sk), dst, fl, sk, 0); |
1032 | } | 1032 | } |
@@ -1062,7 +1062,7 @@ struct dst_entry *ip6_sk_dst_lookup_flow(struct sock *sk, struct flowi *fl, | |||
1062 | if (final_dst) | 1062 | if (final_dst) |
1063 | ipv6_addr_copy(&fl->fl6_dst, final_dst); | 1063 | ipv6_addr_copy(&fl->fl6_dst, final_dst); |
1064 | if (can_sleep) | 1064 | if (can_sleep) |
1065 | fl->flags |= FLOWI_FLAG_CAN_SLEEP; | 1065 | fl->flowi_flags |= FLOWI_FLAG_CAN_SLEEP; |
1066 | 1066 | ||
1067 | return xfrm_lookup(sock_net(sk), dst, fl, sk, 0); | 1067 | return xfrm_lookup(sock_net(sk), dst, fl, sk, 0); |
1068 | } | 1068 | } |
@@ -1517,7 +1517,7 @@ int ip6_push_pending_frames(struct sock *sk) | |||
1517 | struct ipv6_txoptions *opt = np->cork.opt; | 1517 | struct ipv6_txoptions *opt = np->cork.opt; |
1518 | struct rt6_info *rt = (struct rt6_info *)inet->cork.dst; | 1518 | struct rt6_info *rt = (struct rt6_info *)inet->cork.dst; |
1519 | struct flowi *fl = &inet->cork.fl; | 1519 | struct flowi *fl = &inet->cork.fl; |
1520 | unsigned char proto = fl->proto; | 1520 | unsigned char proto = fl->flowi_proto; |
1521 | int err = 0; | 1521 | int err = 0; |
1522 | 1522 | ||
1523 | if ((skb = __skb_dequeue(&sk->sk_write_queue)) == NULL) | 1523 | if ((skb = __skb_dequeue(&sk->sk_write_queue)) == NULL) |
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index f199b8486120..c3fc824c24d9 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c | |||
@@ -963,7 +963,7 @@ static int ip6_tnl_xmit2(struct sk_buff *skb, | |||
963 | 963 | ||
964 | skb->transport_header = skb->network_header; | 964 | skb->transport_header = skb->network_header; |
965 | 965 | ||
966 | proto = fl->proto; | 966 | proto = fl->flowi_proto; |
967 | if (encap_limit >= 0) { | 967 | if (encap_limit >= 0) { |
968 | init_tel_txopt(&opt, encap_limit); | 968 | init_tel_txopt(&opt, encap_limit); |
969 | ipv6_push_nfrag_opts(skb, &opt.ops, &proto, NULL); | 969 | ipv6_push_nfrag_opts(skb, &opt.ops, &proto, NULL); |
@@ -1020,7 +1020,7 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1020 | encap_limit = t->parms.encap_limit; | 1020 | encap_limit = t->parms.encap_limit; |
1021 | 1021 | ||
1022 | memcpy(&fl, &t->fl, sizeof (fl)); | 1022 | memcpy(&fl, &t->fl, sizeof (fl)); |
1023 | fl.proto = IPPROTO_IPIP; | 1023 | fl.flowi_proto = IPPROTO_IPIP; |
1024 | 1024 | ||
1025 | dsfield = ipv4_get_dsfield(iph); | 1025 | dsfield = ipv4_get_dsfield(iph); |
1026 | 1026 | ||
@@ -1070,7 +1070,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1070 | encap_limit = t->parms.encap_limit; | 1070 | encap_limit = t->parms.encap_limit; |
1071 | 1071 | ||
1072 | memcpy(&fl, &t->fl, sizeof (fl)); | 1072 | memcpy(&fl, &t->fl, sizeof (fl)); |
1073 | fl.proto = IPPROTO_IPV6; | 1073 | fl.flowi_proto = IPPROTO_IPV6; |
1074 | 1074 | ||
1075 | dsfield = ipv6_get_dsfield(ipv6h); | 1075 | dsfield = ipv6_get_dsfield(ipv6h); |
1076 | if ((t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)) | 1076 | if ((t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)) |
@@ -1149,7 +1149,7 @@ static void ip6_tnl_link_config(struct ip6_tnl *t) | |||
1149 | /* Set up flowi template */ | 1149 | /* Set up flowi template */ |
1150 | ipv6_addr_copy(&fl->fl6_src, &p->laddr); | 1150 | ipv6_addr_copy(&fl->fl6_src, &p->laddr); |
1151 | ipv6_addr_copy(&fl->fl6_dst, &p->raddr); | 1151 | ipv6_addr_copy(&fl->fl6_dst, &p->raddr); |
1152 | fl->oif = p->link; | 1152 | fl->flowi_oif = p->link; |
1153 | fl->fl6_flowlabel = 0; | 1153 | fl->fl6_flowlabel = 0; |
1154 | 1154 | ||
1155 | if (!(p->flags&IP6_TNL_F_USE_ORIG_TCLASS)) | 1155 | if (!(p->flags&IP6_TNL_F_USE_ORIG_TCLASS)) |
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index 618f67ccda31..61a8be3ac4e4 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c | |||
@@ -618,8 +618,8 @@ static int pim6_rcv(struct sk_buff *skb) | |||
618 | struct net *net = dev_net(skb->dev); | 618 | struct net *net = dev_net(skb->dev); |
619 | struct mr6_table *mrt; | 619 | struct mr6_table *mrt; |
620 | struct flowi fl = { | 620 | struct flowi fl = { |
621 | .iif = skb->dev->ifindex, | 621 | .flowi_iif = skb->dev->ifindex, |
622 | .mark = skb->mark, | 622 | .flowi_mark = skb->mark, |
623 | }; | 623 | }; |
624 | int reg_vif_num; | 624 | int reg_vif_num; |
625 | 625 | ||
@@ -688,9 +688,9 @@ static netdev_tx_t reg_vif_xmit(struct sk_buff *skb, | |||
688 | struct net *net = dev_net(dev); | 688 | struct net *net = dev_net(dev); |
689 | struct mr6_table *mrt; | 689 | struct mr6_table *mrt; |
690 | struct flowi fl = { | 690 | struct flowi fl = { |
691 | .oif = dev->ifindex, | 691 | .flowi_oif = dev->ifindex, |
692 | .iif = skb->skb_iif, | 692 | .flowi_iif = skb->skb_iif, |
693 | .mark = skb->mark, | 693 | .flowi_mark = skb->mark, |
694 | }; | 694 | }; |
695 | int err; | 695 | int err; |
696 | 696 | ||
@@ -1548,9 +1548,9 @@ struct sock *mroute6_socket(struct net *net, struct sk_buff *skb) | |||
1548 | { | 1548 | { |
1549 | struct mr6_table *mrt; | 1549 | struct mr6_table *mrt; |
1550 | struct flowi fl = { | 1550 | struct flowi fl = { |
1551 | .iif = skb->skb_iif, | 1551 | .flowi_iif = skb->skb_iif, |
1552 | .oif = skb->dev->ifindex, | 1552 | .flowi_oif = skb->dev->ifindex, |
1553 | .mark = skb->mark, | 1553 | .flowi_mark= skb->mark, |
1554 | }; | 1554 | }; |
1555 | 1555 | ||
1556 | if (ip6mr_fib_lookup(net, &fl, &mrt) < 0) | 1556 | if (ip6mr_fib_lookup(net, &fl, &mrt) < 0) |
@@ -1916,7 +1916,7 @@ static int ip6mr_forward2(struct net *net, struct mr6_table *mrt, | |||
1916 | ipv6h = ipv6_hdr(skb); | 1916 | ipv6h = ipv6_hdr(skb); |
1917 | 1917 | ||
1918 | fl = (struct flowi) { | 1918 | fl = (struct flowi) { |
1919 | .oif = vif->link, | 1919 | .flowi_oif = vif->link, |
1920 | .fl6_dst = ipv6h->daddr, | 1920 | .fl6_dst = ipv6h->daddr, |
1921 | }; | 1921 | }; |
1922 | 1922 | ||
@@ -2044,8 +2044,8 @@ int ip6_mr_input(struct sk_buff *skb) | |||
2044 | struct net *net = dev_net(skb->dev); | 2044 | struct net *net = dev_net(skb->dev); |
2045 | struct mr6_table *mrt; | 2045 | struct mr6_table *mrt; |
2046 | struct flowi fl = { | 2046 | struct flowi fl = { |
2047 | .iif = skb->dev->ifindex, | 2047 | .flowi_iif = skb->dev->ifindex, |
2048 | .mark = skb->mark, | 2048 | .flowi_mark= skb->mark, |
2049 | }; | 2049 | }; |
2050 | int err; | 2050 | int err; |
2051 | 2051 | ||
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index d1770e061c08..1448c507fdff 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c | |||
@@ -448,8 +448,8 @@ sticky_done: | |||
448 | int junk; | 448 | int junk; |
449 | 449 | ||
450 | fl.fl6_flowlabel = 0; | 450 | fl.fl6_flowlabel = 0; |
451 | fl.oif = sk->sk_bound_dev_if; | 451 | fl.flowi_oif = sk->sk_bound_dev_if; |
452 | fl.mark = sk->sk_mark; | 452 | fl.flowi_mark = sk->sk_mark; |
453 | 453 | ||
454 | if (optlen == 0) | 454 | if (optlen == 0) |
455 | goto update; | 455 | goto update; |
diff --git a/net/ipv6/mip6.c b/net/ipv6/mip6.c index f3e3ca938a54..e2f852cd0f4e 100644 --- a/net/ipv6/mip6.c +++ b/net/ipv6/mip6.c | |||
@@ -214,7 +214,7 @@ static int mip6_destopt_reject(struct xfrm_state *x, struct sk_buff *skb, | |||
214 | struct timeval stamp; | 214 | struct timeval stamp; |
215 | int err = 0; | 215 | int err = 0; |
216 | 216 | ||
217 | if (unlikely(fl->proto == IPPROTO_MH && | 217 | if (unlikely(fl->flowi_proto == IPPROTO_MH && |
218 | fl->fl_mh_type <= IP6_MH_TYPE_MAX)) | 218 | fl->fl_mh_type <= IP6_MH_TYPE_MAX)) |
219 | goto out; | 219 | goto out; |
220 | 220 | ||
@@ -240,14 +240,14 @@ static int mip6_destopt_reject(struct xfrm_state *x, struct sk_buff *skb, | |||
240 | sizeof(sel.saddr)); | 240 | sizeof(sel.saddr)); |
241 | sel.prefixlen_s = 128; | 241 | sel.prefixlen_s = 128; |
242 | sel.family = AF_INET6; | 242 | sel.family = AF_INET6; |
243 | sel.proto = fl->proto; | 243 | sel.proto = fl->flowi_proto; |
244 | sel.dport = xfrm_flowi_dport(fl); | 244 | sel.dport = xfrm_flowi_dport(fl); |
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); |
248 | if (sel.sport) | 248 | if (sel.sport) |
249 | sel.sport_mask = htons(~0); | 249 | sel.sport_mask = htons(~0); |
250 | sel.ifindex = fl->oif; | 250 | sel.ifindex = fl->flowi_oif; |
251 | 251 | ||
252 | err = km_report(net, IPPROTO_DSTOPTS, &sel, | 252 | err = km_report(net, IPPROTO_DSTOPTS, &sel, |
253 | (hao ? (xfrm_address_t *)&hao->addr : NULL)); | 253 | (hao ? (xfrm_address_t *)&hao->addr : NULL)); |
diff --git a/net/ipv6/netfilter.c b/net/ipv6/netfilter.c index 8d74116ae27d..d282c62bc6f4 100644 --- a/net/ipv6/netfilter.c +++ b/net/ipv6/netfilter.c | |||
@@ -16,8 +16,8 @@ int ip6_route_me_harder(struct sk_buff *skb) | |||
16 | struct ipv6hdr *iph = ipv6_hdr(skb); | 16 | struct ipv6hdr *iph = ipv6_hdr(skb); |
17 | struct dst_entry *dst; | 17 | struct dst_entry *dst; |
18 | struct flowi fl = { | 18 | struct flowi fl = { |
19 | .oif = skb->sk ? skb->sk->sk_bound_dev_if : 0, | 19 | .flowi_oif = skb->sk ? skb->sk->sk_bound_dev_if : 0, |
20 | .mark = skb->mark, | 20 | .flowi_mark = skb->mark, |
21 | .fl6_dst = iph->daddr, | 21 | .fl6_dst = iph->daddr, |
22 | .fl6_src = iph->saddr, | 22 | .fl6_src = iph->saddr, |
23 | }; | 23 | }; |
diff --git a/net/ipv6/netfilter/ip6t_REJECT.c b/net/ipv6/netfilter/ip6t_REJECT.c index 91f6a61cefab..fd3938803eb3 100644 --- a/net/ipv6/netfilter/ip6t_REJECT.c +++ b/net/ipv6/netfilter/ip6t_REJECT.c | |||
@@ -90,7 +90,7 @@ static void send_reset(struct net *net, struct sk_buff *oldskb) | |||
90 | } | 90 | } |
91 | 91 | ||
92 | memset(&fl, 0, sizeof(fl)); | 92 | memset(&fl, 0, sizeof(fl)); |
93 | fl.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.fl_ip_sport = otcph.dest; |
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index dc29b07caf42..323ad44ff775 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c | |||
@@ -588,9 +588,9 @@ static int rawv6_push_pending_frames(struct sock *sk, struct flowi *fl, | |||
588 | 588 | ||
589 | csum = csum_ipv6_magic(&fl->fl6_src, | 589 | csum = csum_ipv6_magic(&fl->fl6_src, |
590 | &fl->fl6_dst, | 590 | &fl->fl6_dst, |
591 | total_len, fl->proto, tmp_csum); | 591 | total_len, fl->flowi_proto, tmp_csum); |
592 | 592 | ||
593 | if (csum == 0 && fl->proto == IPPROTO_UDP) | 593 | if (csum == 0 && fl->flowi_proto == IPPROTO_UDP) |
594 | csum = CSUM_MANGLED_0; | 594 | csum = CSUM_MANGLED_0; |
595 | 595 | ||
596 | if (skb_store_bits(skb, offset, &csum, 2)) | 596 | if (skb_store_bits(skb, offset, &csum, 2)) |
@@ -679,7 +679,7 @@ static int rawv6_probe_proto_opt(struct flowi *fl, struct msghdr *msg) | |||
679 | if (!iov) | 679 | if (!iov) |
680 | continue; | 680 | continue; |
681 | 681 | ||
682 | switch (fl->proto) { | 682 | switch (fl->flowi_proto) { |
683 | case IPPROTO_ICMPV6: | 683 | case IPPROTO_ICMPV6: |
684 | /* check if one-byte field is readable or not. */ | 684 | /* check if one-byte field is readable or not. */ |
685 | if (iov->iov_base && iov->iov_len < 1) | 685 | if (iov->iov_base && iov->iov_len < 1) |
@@ -758,7 +758,7 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk, | |||
758 | */ | 758 | */ |
759 | memset(&fl, 0, sizeof(fl)); | 759 | memset(&fl, 0, sizeof(fl)); |
760 | 760 | ||
761 | fl.mark = sk->sk_mark; | 761 | fl.flowi_mark = sk->sk_mark; |
762 | 762 | ||
763 | if (sin6) { | 763 | if (sin6) { |
764 | if (addr_len < SIN6_LEN_RFC2133) | 764 | if (addr_len < SIN6_LEN_RFC2133) |
@@ -800,7 +800,7 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk, | |||
800 | if (addr_len >= sizeof(struct sockaddr_in6) && | 800 | if (addr_len >= sizeof(struct sockaddr_in6) && |
801 | sin6->sin6_scope_id && | 801 | sin6->sin6_scope_id && |
802 | ipv6_addr_type(daddr)&IPV6_ADDR_LINKLOCAL) | 802 | ipv6_addr_type(daddr)&IPV6_ADDR_LINKLOCAL) |
803 | fl.oif = sin6->sin6_scope_id; | 803 | fl.flowi_oif = sin6->sin6_scope_id; |
804 | } else { | 804 | } else { |
805 | if (sk->sk_state != TCP_ESTABLISHED) | 805 | if (sk->sk_state != TCP_ESTABLISHED) |
806 | return -EDESTADDRREQ; | 806 | return -EDESTADDRREQ; |
@@ -810,8 +810,8 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk, | |||
810 | fl.fl6_flowlabel = np->flow_label; | 810 | fl.fl6_flowlabel = np->flow_label; |
811 | } | 811 | } |
812 | 812 | ||
813 | if (fl.oif == 0) | 813 | if (fl.flowi_oif == 0) |
814 | fl.oif = sk->sk_bound_dev_if; | 814 | fl.flowi_oif = sk->sk_bound_dev_if; |
815 | 815 | ||
816 | if (msg->msg_controllen) { | 816 | if (msg->msg_controllen) { |
817 | opt = &opt_space; | 817 | opt = &opt_space; |
@@ -838,7 +838,7 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk, | |||
838 | opt = fl6_merge_options(&opt_space, flowlabel, opt); | 838 | opt = fl6_merge_options(&opt_space, flowlabel, opt); |
839 | opt = ipv6_fixup_options(&opt_space, opt); | 839 | opt = ipv6_fixup_options(&opt_space, opt); |
840 | 840 | ||
841 | fl.proto = proto; | 841 | fl.flowi_proto = proto; |
842 | err = rawv6_probe_proto_opt(&fl, msg); | 842 | err = rawv6_probe_proto_opt(&fl, msg); |
843 | if (err) | 843 | if (err) |
844 | goto out; | 844 | goto out; |
@@ -852,8 +852,8 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk, | |||
852 | 852 | ||
853 | final_p = fl6_update_dst(&fl, opt, &final); | 853 | final_p = fl6_update_dst(&fl, opt, &final); |
854 | 854 | ||
855 | if (!fl.oif && ipv6_addr_is_multicast(&fl.fl6_dst)) | 855 | if (!fl.flowi_oif && ipv6_addr_is_multicast(&fl.fl6_dst)) |
856 | fl.oif = np->mcast_oif; | 856 | fl.flowi_oif = np->mcast_oif; |
857 | security_sk_classify_flow(sk, &fl); | 857 | security_sk_classify_flow(sk, &fl); |
858 | 858 | ||
859 | dst = ip6_dst_lookup_flow(sk, &fl, final_p, true); | 859 | dst = ip6_dst_lookup_flow(sk, &fl, final_p, true); |
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 001276055a6b..c3b20d63921f 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -608,7 +608,7 @@ static struct rt6_info *ip6_pol_route_lookup(struct net *net, | |||
608 | fn = fib6_lookup(&table->tb6_root, &fl->fl6_dst, &fl->fl6_src); | 608 | fn = fib6_lookup(&table->tb6_root, &fl->fl6_dst, &fl->fl6_src); |
609 | restart: | 609 | restart: |
610 | rt = fn->leaf; | 610 | rt = fn->leaf; |
611 | rt = rt6_device_match(net, rt, &fl->fl6_src, fl->oif, flags); | 611 | rt = rt6_device_match(net, rt, &fl->fl6_src, fl->flowi_oif, flags); |
612 | BACKTRACK(net, &fl->fl6_src); | 612 | BACKTRACK(net, &fl->fl6_src); |
613 | out: | 613 | out: |
614 | dst_use(&rt->dst, jiffies); | 614 | dst_use(&rt->dst, jiffies); |
@@ -621,7 +621,7 @@ struct rt6_info *rt6_lookup(struct net *net, const struct in6_addr *daddr, | |||
621 | const struct in6_addr *saddr, int oif, int strict) | 621 | const struct in6_addr *saddr, int oif, int strict) |
622 | { | 622 | { |
623 | struct flowi fl = { | 623 | struct flowi fl = { |
624 | .oif = oif, | 624 | .flowi_oif = oif, |
625 | .fl6_dst = *daddr, | 625 | .fl6_dst = *daddr, |
626 | }; | 626 | }; |
627 | struct dst_entry *dst; | 627 | struct dst_entry *dst; |
@@ -825,7 +825,7 @@ out2: | |||
825 | static struct rt6_info *ip6_pol_route_input(struct net *net, struct fib6_table *table, | 825 | static struct rt6_info *ip6_pol_route_input(struct net *net, struct fib6_table *table, |
826 | struct flowi *fl, int flags) | 826 | struct flowi *fl, int flags) |
827 | { | 827 | { |
828 | return ip6_pol_route(net, table, fl->iif, fl, flags); | 828 | return ip6_pol_route(net, table, fl->flowi_iif, fl, flags); |
829 | } | 829 | } |
830 | 830 | ||
831 | void ip6_route_input(struct sk_buff *skb) | 831 | void ip6_route_input(struct sk_buff *skb) |
@@ -834,12 +834,12 @@ void ip6_route_input(struct sk_buff *skb) | |||
834 | struct net *net = dev_net(skb->dev); | 834 | struct net *net = dev_net(skb->dev); |
835 | int flags = RT6_LOOKUP_F_HAS_SADDR; | 835 | int flags = RT6_LOOKUP_F_HAS_SADDR; |
836 | struct flowi fl = { | 836 | struct flowi fl = { |
837 | .iif = skb->dev->ifindex, | 837 | .flowi_iif = skb->dev->ifindex, |
838 | .fl6_dst = iph->daddr, | 838 | .fl6_dst = iph->daddr, |
839 | .fl6_src = iph->saddr, | 839 | .fl6_src = iph->saddr, |
840 | .fl6_flowlabel = (* (__be32 *) iph)&IPV6_FLOWINFO_MASK, | 840 | .fl6_flowlabel = (* (__be32 *) iph)&IPV6_FLOWINFO_MASK, |
841 | .mark = skb->mark, | 841 | .flowi_mark = skb->mark, |
842 | .proto = iph->nexthdr, | 842 | .flowi_proto = iph->nexthdr, |
843 | }; | 843 | }; |
844 | 844 | ||
845 | if (rt6_need_strict(&iph->daddr) && skb->dev->type != ARPHRD_PIMREG) | 845 | if (rt6_need_strict(&iph->daddr) && skb->dev->type != ARPHRD_PIMREG) |
@@ -851,7 +851,7 @@ void ip6_route_input(struct sk_buff *skb) | |||
851 | static struct rt6_info *ip6_pol_route_output(struct net *net, struct fib6_table *table, | 851 | static struct rt6_info *ip6_pol_route_output(struct net *net, struct fib6_table *table, |
852 | struct flowi *fl, int flags) | 852 | struct flowi *fl, int flags) |
853 | { | 853 | { |
854 | return ip6_pol_route(net, table, fl->oif, fl, flags); | 854 | return ip6_pol_route(net, table, fl->flowi_oif, fl, flags); |
855 | } | 855 | } |
856 | 856 | ||
857 | struct dst_entry * ip6_route_output(struct net *net, struct sock *sk, | 857 | struct dst_entry * ip6_route_output(struct net *net, struct sock *sk, |
@@ -1484,7 +1484,7 @@ restart: | |||
1484 | continue; | 1484 | continue; |
1485 | if (!(rt->rt6i_flags & RTF_GATEWAY)) | 1485 | if (!(rt->rt6i_flags & RTF_GATEWAY)) |
1486 | continue; | 1486 | continue; |
1487 | if (fl->oif != rt->rt6i_dev->ifindex) | 1487 | if (fl->flowi_oif != rt->rt6i_dev->ifindex) |
1488 | continue; | 1488 | continue; |
1489 | if (!ipv6_addr_equal(&rdfl->gateway, &rt->rt6i_gateway)) | 1489 | if (!ipv6_addr_equal(&rdfl->gateway, &rt->rt6i_gateway)) |
1490 | continue; | 1490 | continue; |
@@ -1511,7 +1511,7 @@ static struct rt6_info *ip6_route_redirect(struct in6_addr *dest, | |||
1511 | struct net *net = dev_net(dev); | 1511 | struct net *net = dev_net(dev); |
1512 | struct ip6rd_flowi rdfl = { | 1512 | struct ip6rd_flowi rdfl = { |
1513 | .fl = { | 1513 | .fl = { |
1514 | .oif = dev->ifindex, | 1514 | .flowi_oif = dev->ifindex, |
1515 | .fl6_dst = *dest, | 1515 | .fl6_dst = *dest, |
1516 | .fl6_src = *src, | 1516 | .fl6_src = *src, |
1517 | }, | 1517 | }, |
@@ -2413,7 +2413,7 @@ static int inet6_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr* nlh, void | |||
2413 | iif = nla_get_u32(tb[RTA_IIF]); | 2413 | iif = nla_get_u32(tb[RTA_IIF]); |
2414 | 2414 | ||
2415 | if (tb[RTA_OIF]) | 2415 | if (tb[RTA_OIF]) |
2416 | fl.oif = nla_get_u32(tb[RTA_OIF]); | 2416 | fl.flowi_oif = nla_get_u32(tb[RTA_OIF]); |
2417 | 2417 | ||
2418 | if (iif) { | 2418 | if (iif) { |
2419 | struct net_device *dev; | 2419 | struct net_device *dev; |
diff --git a/net/ipv6/syncookies.c b/net/ipv6/syncookies.c index 0b4cf350631b..ca5255c08371 100644 --- a/net/ipv6/syncookies.c +++ b/net/ipv6/syncookies.c | |||
@@ -234,12 +234,12 @@ struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb) | |||
234 | struct in6_addr *final_p, final; | 234 | struct in6_addr *final_p, final; |
235 | struct flowi fl; | 235 | struct flowi fl; |
236 | memset(&fl, 0, sizeof(fl)); | 236 | memset(&fl, 0, sizeof(fl)); |
237 | fl.proto = IPPROTO_TCP; | 237 | fl.flowi_proto = IPPROTO_TCP; |
238 | ipv6_addr_copy(&fl.fl6_dst, &ireq6->rmt_addr); | 238 | ipv6_addr_copy(&fl.fl6_dst, &ireq6->rmt_addr); |
239 | final_p = fl6_update_dst(&fl, np->opt, &final); | 239 | final_p = fl6_update_dst(&fl, np->opt, &final); |
240 | ipv6_addr_copy(&fl.fl6_src, &ireq6->loc_addr); | 240 | ipv6_addr_copy(&fl.fl6_src, &ireq6->loc_addr); |
241 | fl.oif = sk->sk_bound_dev_if; | 241 | fl.flowi_oif = sk->sk_bound_dev_if; |
242 | fl.mark = sk->sk_mark; | 242 | fl.flowi_mark = sk->sk_mark; |
243 | fl.fl_ip_dport = inet_rsk(req)->rmt_port; | 243 | fl.fl_ip_dport = inet_rsk(req)->rmt_port; |
244 | fl.fl_ip_sport = inet_sk(sk)->inet_sport; | 244 | fl.fl_ip_sport = inet_sk(sk)->inet_sport; |
245 | security_req_classify_flow(req, &fl); | 245 | security_req_classify_flow(req, &fl); |
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index e59a31c48baf..a3d1229b4004 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
@@ -242,12 +242,12 @@ static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr, | |||
242 | if (!ipv6_addr_any(&np->rcv_saddr)) | 242 | if (!ipv6_addr_any(&np->rcv_saddr)) |
243 | saddr = &np->rcv_saddr; | 243 | saddr = &np->rcv_saddr; |
244 | 244 | ||
245 | fl.proto = IPPROTO_TCP; | 245 | fl.flowi_proto = IPPROTO_TCP; |
246 | ipv6_addr_copy(&fl.fl6_dst, &np->daddr); | 246 | ipv6_addr_copy(&fl.fl6_dst, &np->daddr); |
247 | ipv6_addr_copy(&fl.fl6_src, | 247 | ipv6_addr_copy(&fl.fl6_src, |
248 | (saddr ? saddr : &np->saddr)); | 248 | (saddr ? saddr : &np->saddr)); |
249 | fl.oif = sk->sk_bound_dev_if; | 249 | fl.flowi_oif = sk->sk_bound_dev_if; |
250 | fl.mark = sk->sk_mark; | 250 | fl.flowi_mark = sk->sk_mark; |
251 | fl.fl_ip_dport = usin->sin6_port; | 251 | fl.fl_ip_dport = usin->sin6_port; |
252 | fl.fl_ip_sport = inet->inet_sport; | 252 | fl.fl_ip_sport = inet->inet_sport; |
253 | 253 | ||
@@ -396,11 +396,11 @@ static void tcp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt, | |||
396 | for now. | 396 | for now. |
397 | */ | 397 | */ |
398 | memset(&fl, 0, sizeof(fl)); | 398 | memset(&fl, 0, sizeof(fl)); |
399 | fl.proto = IPPROTO_TCP; | 399 | fl.flowi_proto = IPPROTO_TCP; |
400 | ipv6_addr_copy(&fl.fl6_dst, &np->daddr); | 400 | ipv6_addr_copy(&fl.fl6_dst, &np->daddr); |
401 | ipv6_addr_copy(&fl.fl6_src, &np->saddr); | 401 | ipv6_addr_copy(&fl.fl6_src, &np->saddr); |
402 | fl.oif = sk->sk_bound_dev_if; | 402 | fl.flowi_oif = sk->sk_bound_dev_if; |
403 | fl.mark = sk->sk_mark; | 403 | fl.flowi_mark = sk->sk_mark; |
404 | fl.fl_ip_dport = inet->inet_dport; | 404 | fl.fl_ip_dport = inet->inet_dport; |
405 | fl.fl_ip_sport = inet->inet_sport; | 405 | fl.fl_ip_sport = inet->inet_sport; |
406 | security_skb_classify_flow(skb, &fl); | 406 | security_skb_classify_flow(skb, &fl); |
@@ -487,12 +487,12 @@ static int tcp_v6_send_synack(struct sock *sk, struct request_sock *req, | |||
487 | int err; | 487 | int err; |
488 | 488 | ||
489 | memset(&fl, 0, sizeof(fl)); | 489 | memset(&fl, 0, sizeof(fl)); |
490 | fl.proto = IPPROTO_TCP; | 490 | fl.flowi_proto = IPPROTO_TCP; |
491 | ipv6_addr_copy(&fl.fl6_dst, &treq->rmt_addr); | 491 | ipv6_addr_copy(&fl.fl6_dst, &treq->rmt_addr); |
492 | ipv6_addr_copy(&fl.fl6_src, &treq->loc_addr); | 492 | ipv6_addr_copy(&fl.fl6_src, &treq->loc_addr); |
493 | fl.fl6_flowlabel = 0; | 493 | fl.fl6_flowlabel = 0; |
494 | fl.oif = treq->iif; | 494 | fl.flowi_oif = treq->iif; |
495 | fl.mark = sk->sk_mark; | 495 | fl.flowi_mark = sk->sk_mark; |
496 | fl.fl_ip_dport = inet_rsk(req)->rmt_port; | 496 | fl.fl_ip_dport = inet_rsk(req)->rmt_port; |
497 | fl.fl_ip_sport = inet_rsk(req)->loc_port; | 497 | fl.fl_ip_sport = inet_rsk(req)->loc_port; |
498 | security_req_classify_flow(req, &fl); | 498 | security_req_classify_flow(req, &fl); |
@@ -1055,8 +1055,8 @@ static void tcp_v6_send_response(struct sk_buff *skb, u32 seq, u32 ack, u32 win, | |||
1055 | 1055 | ||
1056 | __tcp_v6_send_check(buff, &fl.fl6_src, &fl.fl6_dst); | 1056 | __tcp_v6_send_check(buff, &fl.fl6_src, &fl.fl6_dst); |
1057 | 1057 | ||
1058 | fl.proto = IPPROTO_TCP; | 1058 | fl.flowi_proto = IPPROTO_TCP; |
1059 | fl.oif = inet6_iif(skb); | 1059 | fl.flowi_oif = inet6_iif(skb); |
1060 | fl.fl_ip_dport = t1->dest; | 1060 | fl.fl_ip_dport = t1->dest; |
1061 | fl.fl_ip_sport = t1->source; | 1061 | fl.fl_ip_sport = t1->source; |
1062 | security_skb_classify_flow(skb, &fl); | 1062 | security_skb_classify_flow(skb, &fl); |
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index d86d7f67a597..91f8047463ec 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
@@ -915,7 +915,7 @@ static int udp_v6_push_pending_frames(struct sock *sk) | |||
915 | 915 | ||
916 | /* add protocol-dependent pseudo-header */ | 916 | /* add protocol-dependent pseudo-header */ |
917 | uh->check = csum_ipv6_magic(&fl->fl6_src, &fl->fl6_dst, | 917 | uh->check = csum_ipv6_magic(&fl->fl6_src, &fl->fl6_dst, |
918 | up->len, fl->proto, csum ); | 918 | up->len, fl->flowi_proto, csum); |
919 | if (uh->check == 0) | 919 | if (uh->check == 0) |
920 | uh->check = CSUM_MANGLED_0; | 920 | uh->check = CSUM_MANGLED_0; |
921 | 921 | ||
@@ -1060,7 +1060,7 @@ do_udp_sendmsg: | |||
1060 | if (addr_len >= sizeof(struct sockaddr_in6) && | 1060 | if (addr_len >= sizeof(struct sockaddr_in6) && |
1061 | sin6->sin6_scope_id && | 1061 | sin6->sin6_scope_id && |
1062 | ipv6_addr_type(daddr)&IPV6_ADDR_LINKLOCAL) | 1062 | ipv6_addr_type(daddr)&IPV6_ADDR_LINKLOCAL) |
1063 | fl.oif = sin6->sin6_scope_id; | 1063 | fl.flowi_oif = sin6->sin6_scope_id; |
1064 | } else { | 1064 | } else { |
1065 | if (sk->sk_state != TCP_ESTABLISHED) | 1065 | if (sk->sk_state != TCP_ESTABLISHED) |
1066 | return -EDESTADDRREQ; | 1066 | return -EDESTADDRREQ; |
@@ -1071,13 +1071,13 @@ do_udp_sendmsg: | |||
1071 | connected = 1; | 1071 | connected = 1; |
1072 | } | 1072 | } |
1073 | 1073 | ||
1074 | if (!fl.oif) | 1074 | if (!fl.flowi_oif) |
1075 | fl.oif = sk->sk_bound_dev_if; | 1075 | fl.flowi_oif = sk->sk_bound_dev_if; |
1076 | 1076 | ||
1077 | if (!fl.oif) | 1077 | if (!fl.flowi_oif) |
1078 | fl.oif = np->sticky_pktinfo.ipi6_ifindex; | 1078 | fl.flowi_oif = np->sticky_pktinfo.ipi6_ifindex; |
1079 | 1079 | ||
1080 | fl.mark = sk->sk_mark; | 1080 | fl.flowi_mark = sk->sk_mark; |
1081 | 1081 | ||
1082 | if (msg->msg_controllen) { | 1082 | if (msg->msg_controllen) { |
1083 | opt = &opt_space; | 1083 | opt = &opt_space; |
@@ -1105,7 +1105,7 @@ do_udp_sendmsg: | |||
1105 | opt = fl6_merge_options(&opt_space, flowlabel, opt); | 1105 | opt = fl6_merge_options(&opt_space, flowlabel, opt); |
1106 | opt = ipv6_fixup_options(&opt_space, opt); | 1106 | opt = ipv6_fixup_options(&opt_space, opt); |
1107 | 1107 | ||
1108 | fl.proto = sk->sk_protocol; | 1108 | fl.flowi_proto = sk->sk_protocol; |
1109 | if (!ipv6_addr_any(daddr)) | 1109 | if (!ipv6_addr_any(daddr)) |
1110 | ipv6_addr_copy(&fl.fl6_dst, daddr); | 1110 | ipv6_addr_copy(&fl.fl6_dst, daddr); |
1111 | else | 1111 | else |
@@ -1118,8 +1118,8 @@ do_udp_sendmsg: | |||
1118 | if (final_p) | 1118 | if (final_p) |
1119 | connected = 0; | 1119 | connected = 0; |
1120 | 1120 | ||
1121 | if (!fl.oif && ipv6_addr_is_multicast(&fl.fl6_dst)) { | 1121 | if (!fl.flowi_oif && ipv6_addr_is_multicast(&fl.fl6_dst)) { |
1122 | fl.oif = np->mcast_oif; | 1122 | fl.flowi_oif = np->mcast_oif; |
1123 | connected = 0; | 1123 | connected = 0; |
1124 | } | 1124 | } |
1125 | 1125 | ||
diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c index 48ce496802fd..d62496c1a6f9 100644 --- a/net/ipv6/xfrm6_policy.c +++ b/net/ipv6/xfrm6_policy.c | |||
@@ -128,7 +128,7 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse) | |||
128 | u8 nexthdr = nh[IP6CB(skb)->nhoff]; | 128 | u8 nexthdr = nh[IP6CB(skb)->nhoff]; |
129 | 129 | ||
130 | memset(fl, 0, sizeof(struct flowi)); | 130 | memset(fl, 0, sizeof(struct flowi)); |
131 | fl->mark = skb->mark; | 131 | fl->flowi_mark = skb->mark; |
132 | 132 | ||
133 | ipv6_addr_copy(&fl->fl6_dst, reverse ? &hdr->saddr : &hdr->daddr); | 133 | ipv6_addr_copy(&fl->fl6_dst, reverse ? &hdr->saddr : &hdr->daddr); |
134 | ipv6_addr_copy(&fl->fl6_src, reverse ? &hdr->daddr : &hdr->saddr); | 134 | ipv6_addr_copy(&fl->fl6_src, reverse ? &hdr->daddr : &hdr->saddr); |
@@ -161,7 +161,7 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse) | |||
161 | fl->fl_ip_sport = ports[!!reverse]; | 161 | fl->fl_ip_sport = ports[!!reverse]; |
162 | fl->fl_ip_dport = ports[!reverse]; | 162 | fl->fl_ip_dport = ports[!reverse]; |
163 | } | 163 | } |
164 | fl->proto = nexthdr; | 164 | fl->flowi_proto = nexthdr; |
165 | return; | 165 | return; |
166 | 166 | ||
167 | case IPPROTO_ICMPV6: | 167 | case IPPROTO_ICMPV6: |
@@ -171,7 +171,7 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse) | |||
171 | fl->fl_icmp_type = icmp[0]; | 171 | fl->fl_icmp_type = icmp[0]; |
172 | fl->fl_icmp_code = icmp[1]; | 172 | fl->fl_icmp_code = icmp[1]; |
173 | } | 173 | } |
174 | fl->proto = nexthdr; | 174 | fl->flowi_proto = nexthdr; |
175 | return; | 175 | return; |
176 | 176 | ||
177 | #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) | 177 | #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) |
@@ -182,7 +182,7 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse) | |||
182 | 182 | ||
183 | fl->fl_mh_type = mh->ip6mh_type; | 183 | fl->fl_mh_type = mh->ip6mh_type; |
184 | } | 184 | } |
185 | fl->proto = nexthdr; | 185 | fl->flowi_proto = nexthdr; |
186 | return; | 186 | return; |
187 | #endif | 187 | #endif |
188 | 188 | ||
@@ -192,7 +192,7 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse) | |||
192 | case IPPROTO_COMP: | 192 | case IPPROTO_COMP: |
193 | default: | 193 | default: |
194 | fl->fl_ipsec_spi = 0; | 194 | fl->fl_ipsec_spi = 0; |
195 | fl->proto = nexthdr; | 195 | fl->flowi_proto = nexthdr; |
196 | return; | 196 | return; |
197 | } | 197 | } |
198 | } | 198 | } |
diff --git a/net/ipv6/xfrm6_state.c b/net/ipv6/xfrm6_state.c index a02598e0079a..805d0e14c331 100644 --- a/net/ipv6/xfrm6_state.c +++ b/net/ipv6/xfrm6_state.c | |||
@@ -33,8 +33,8 @@ __xfrm6_init_tempsel(struct xfrm_selector *sel, const struct flowi *fl) | |||
33 | sel->family = AF_INET6; | 33 | sel->family = AF_INET6; |
34 | sel->prefixlen_d = 128; | 34 | sel->prefixlen_d = 128; |
35 | sel->prefixlen_s = 128; | 35 | sel->prefixlen_s = 128; |
36 | sel->proto = fl->proto; | 36 | sel->proto = fl->flowi_proto; |
37 | sel->ifindex = fl->oif; | 37 | sel->ifindex = fl->flowi_oif; |
38 | } | 38 | } |
39 | 39 | ||
40 | static void | 40 | static void |