git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net: skb->dst accessors
[pandora-kernel.git]
/
net
/
ipv4
/
ip_options.c
diff --git
a/net/ipv4/ip_options.c
b/net/ipv4/ip_options.c
index
2c88da6
..
94bf105
100644
(file)
--- a/
net/ipv4/ip_options.c
+++ b/
net/ipv4/ip_options.c
@@
-102,7
+102,7
@@
int ip_options_echo(struct ip_options * dopt, struct sk_buff * skb)
sptr = skb_network_header(skb);
dptr = dopt->__data;
sptr = skb_network_header(skb);
dptr = dopt->__data;
- daddr = skb
->rtable
->rt_spec_dst;
+ daddr = skb
_rtable(skb)
->rt_spec_dst;
if (sopt->rr) {
optlen = sptr[sopt->rr+1];
if (sopt->rr) {
optlen = sptr[sopt->rr+1];
@@
-143,7
+143,7
@@
int ip_options_echo(struct ip_options * dopt, struct sk_buff * skb)
__be32 addr;
memcpy(&addr, sptr+soffset-1, 4);
__be32 addr;
memcpy(&addr, sptr+soffset-1, 4);
- if (inet_addr_type(dev_net(skb
->dst
->dev), addr) != RTN_LOCAL) {
+ if (inet_addr_type(dev_net(skb
_dst(skb)
->dev), addr) != RTN_LOCAL) {
dopt->ts_needtime = 1;
soffset += 8;
}
dopt->ts_needtime = 1;
soffset += 8;
}
@@
-257,7
+257,7
@@
int ip_options_compile(struct net *net,
struct rtable *rt = NULL;
if (skb != NULL) {
struct rtable *rt = NULL;
if (skb != NULL) {
- rt = skb
->rtable
;
+ rt = skb
_rtable(skb)
;
optptr = (unsigned char *)&(ip_hdr(skb)[1]);
} else
optptr = opt->__data;
optptr = (unsigned char *)&(ip_hdr(skb)[1]);
} else
optptr = opt->__data;
@@
-550,7
+550,7
@@
void ip_forward_options(struct sk_buff *skb)
{
struct ip_options * opt = &(IPCB(skb)->opt);
unsigned char * optptr;
{
struct ip_options * opt = &(IPCB(skb)->opt);
unsigned char * optptr;
- struct rtable *rt = skb
->rtable
;
+ struct rtable *rt = skb
_rtable(skb)
;
unsigned char *raw = skb_network_header(skb);
if (opt->rr_needaddr) {
unsigned char *raw = skb_network_header(skb);
if (opt->rr_needaddr) {
@@
-598,7
+598,7
@@
int ip_options_rcv_srr(struct sk_buff *skb)
__be32 nexthop;
struct iphdr *iph = ip_hdr(skb);
unsigned char *optptr = skb_network_header(skb) + opt->srr;
__be32 nexthop;
struct iphdr *iph = ip_hdr(skb);
unsigned char *optptr = skb_network_header(skb) + opt->srr;
- struct rtable *rt = skb
->rtable
;
+ struct rtable *rt = skb
_rtable(skb)
;
struct rtable *rt2;
int err;
struct rtable *rt2;
int err;
@@
-623,13
+623,13
@@
int ip_options_rcv_srr(struct sk_buff *skb)
}
memcpy(&nexthop, &optptr[srrptr-1], 4);
}
memcpy(&nexthop, &optptr[srrptr-1], 4);
- rt = skb
->rtable
;
- skb
->rtable = NULL
;
+ rt = skb
_rtable(skb)
;
+ skb
_dst_set(skb, NULL)
;
err = ip_route_input(skb, nexthop, iph->saddr, iph->tos, skb->dev);
err = ip_route_input(skb, nexthop, iph->saddr, iph->tos, skb->dev);
- rt2 = skb
->rtable
;
+ rt2 = skb
_rtable(skb)
;
if (err || (rt2->rt_type != RTN_UNICAST && rt2->rt_type != RTN_LOCAL)) {
ip_rt_put(rt2);
if (err || (rt2->rt_type != RTN_UNICAST && rt2->rt_type != RTN_LOCAL)) {
ip_rt_put(rt2);
- skb
->rtable = rt
;
+ skb
_dst_set(skb, &rt->u.dst)
;
return -EINVAL;
}
ip_rt_put(rt);
return -EINVAL;
}
ip_rt_put(rt);