]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - include/net/xfrm.h
xfrm: use gre key as flow upper protocol info
[net-next-2.6.git] / include / net / xfrm.h
index bcfb6b24b019cf398bb3674aa13cc29d5b423dc6..54b283229488f6d8a68d33e209a4274a14a57913 100644 (file)
@@ -805,6 +805,9 @@ __be16 xfrm_flowi_sport(struct flowi *fl)
        case IPPROTO_MH:
                port = htons(fl->fl_mh_type);
                break;
+       case IPPROTO_GRE:
+               port = htonl(fl->fl_gre_key) >> 16;
+               break;
        default:
                port = 0;       /*XXX*/
        }
@@ -826,6 +829,9 @@ __be16 xfrm_flowi_dport(struct flowi *fl)
        case IPPROTO_ICMPV6:
                port = htons(fl->fl_icmp_code);
                break;
+       case IPPROTO_GRE:
+               port = htonl(fl->fl_gre_key) & 0xffff;
+               break;
        default:
                port = 0;       /*XXX*/
        }