aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/datagram.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-03-12 00:43:55 -0500
committerDavid S. Miller <davem@davemloft.net>2011-03-12 18:08:46 -0500
commit6281dcc94a96bd73017b2baa8fa83925405109ef (patch)
tree8deee4d66d256d10ea25f66520eb96b1fade1545 /net/ipv6/datagram.c
parent08704bcbf022786532b5f188935ab6619906049f (diff)
net: Make flowi ports AF dependent.
Create two sets of port member accessors, one set prefixed by fl4_* and the other prefixed by fl6_* This will let us to create AF optimal flow instances. It will work because every context in which we access the ports, we have to be fully aware of which AF the flowi is anyways. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/datagram.c')
-rw-r--r--net/ipv6/datagram.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c
index 6c24b26f67e..07e03e68243 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);