~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to net/ipv4/xfrm4_state.c

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
}
22
22
 
23
23
static void
24
 
__xfrm4_init_tempsel(struct xfrm_selector *sel, struct flowi *fl)
 
24
__xfrm4_init_tempsel(struct xfrm_selector *sel, const struct flowi *fl)
25
25
{
26
 
        sel->daddr.a4 = fl->fl4_dst;
27
 
        sel->saddr.a4 = fl->fl4_src;
28
 
        sel->dport = xfrm_flowi_dport(fl);
 
26
        const struct flowi4 *fl4 = &fl->u.ip4;
 
27
 
 
28
        sel->daddr.a4 = fl4->daddr;
 
29
        sel->saddr.a4 = fl4->saddr;
 
30
        sel->dport = xfrm_flowi_dport(fl, &fl4->uli);
29
31
        sel->dport_mask = htons(0xffff);
30
 
        sel->sport = xfrm_flowi_sport(fl);
 
32
        sel->sport = xfrm_flowi_sport(fl, &fl4->uli);
31
33
        sel->sport_mask = htons(0xffff);
32
34
        sel->family = AF_INET;
33
35
        sel->prefixlen_d = 32;
34
36
        sel->prefixlen_s = 32;
35
 
        sel->proto = fl->proto;
36
 
        sel->ifindex = fl->oif;
 
37
        sel->proto = fl4->flowi4_proto;
 
38
        sel->ifindex = fl4->flowi4_oif;
37
39
}
38
40
 
39
41
static void
40
 
xfrm4_init_temprop(struct xfrm_state *x, struct xfrm_tmpl *tmpl,
41
 
                   xfrm_address_t *daddr, xfrm_address_t *saddr)
 
42
xfrm4_init_temprop(struct xfrm_state *x, const struct xfrm_tmpl *tmpl,
 
43
                   const xfrm_address_t *daddr, const xfrm_address_t *saddr)
42
44
{
43
45
        x->id = tmpl->id;
44
46
        if (x->id.daddr.a4 == 0)
53
55
 
54
56
int xfrm4_extract_header(struct sk_buff *skb)
55
57
{
56
 
        struct iphdr *iph = ip_hdr(skb);
 
58
        const struct iphdr *iph = ip_hdr(skb);
57
59
 
58
60
        XFRM_MODE_SKB_CB(skb)->ihl = sizeof(*iph);
59
61
        XFRM_MODE_SKB_CB(skb)->id = iph->id;
76
78
        .init_tempsel           = __xfrm4_init_tempsel,
77
79
        .init_temprop           = xfrm4_init_temprop,
78
80
        .output                 = xfrm4_output,
 
81
        .output_finish          = xfrm4_output_finish,
79
82
        .extract_input          = xfrm4_extract_input,
80
83
        .extract_output         = xfrm4_extract_output,
81
84
        .transport_finish       = xfrm4_transport_finish,