aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/xfrm6_policy.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/xfrm6_policy.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/xfrm6_policy.c')
-rw-r--r--net/ipv6/xfrm6_policy.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c
index d62496c1a6f..213c7594144 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 }