]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - include/net/xfrm.h
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / include / net / xfrm.h
index bcfb6b24b019cf398bb3674aa13cc29d5b423dc6..b9f385da758ede5c9286c8801b5bbe28d4f2c128 100644 (file)
@@ -143,6 +143,7 @@ struct xfrm_state {
        struct xfrm_id          id;
        struct xfrm_selector    sel;
        struct xfrm_mark        mark;
+       u32                     tfcpad;
 
        u32                     genid;
 
@@ -805,6 +806,9 @@ __be16 xfrm_flowi_sport(struct flowi *fl)
        case IPPROTO_MH:
                port = htons(fl->fl_mh_type);
                break;
+       case IPPROTO_GRE:
+               port = htons(ntohl(fl->fl_gre_key) >> 16);
+               break;
        default:
                port = 0;       /*XXX*/
        }
@@ -826,6 +830,9 @@ __be16 xfrm_flowi_dport(struct flowi *fl)
        case IPPROTO_ICMPV6:
                port = htons(fl->fl_icmp_code);
                break;
+       case IPPROTO_GRE:
+               port = htons(ntohl(fl->fl_gre_key) & 0xffff);
+               break;
        default:
                port = 0;       /*XXX*/
        }