diff options
Diffstat (limited to 'include/net/xfrm.h')
-rw-r--r-- | include/net/xfrm.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index bcfb6b24b019..b9f385da758e 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
@@ -143,6 +143,7 @@ struct xfrm_state { | |||
143 | struct xfrm_id id; | 143 | struct xfrm_id id; |
144 | struct xfrm_selector sel; | 144 | struct xfrm_selector sel; |
145 | struct xfrm_mark mark; | 145 | struct xfrm_mark mark; |
146 | u32 tfcpad; | ||
146 | 147 | ||
147 | u32 genid; | 148 | u32 genid; |
148 | 149 | ||
@@ -805,6 +806,9 @@ __be16 xfrm_flowi_sport(struct flowi *fl) | |||
805 | case IPPROTO_MH: | 806 | case IPPROTO_MH: |
806 | port = htons(fl->fl_mh_type); | 807 | port = htons(fl->fl_mh_type); |
807 | break; | 808 | break; |
809 | case IPPROTO_GRE: | ||
810 | port = htons(ntohl(fl->fl_gre_key) >> 16); | ||
811 | break; | ||
808 | default: | 812 | default: |
809 | port = 0; /*XXX*/ | 813 | port = 0; /*XXX*/ |
810 | } | 814 | } |
@@ -826,6 +830,9 @@ __be16 xfrm_flowi_dport(struct flowi *fl) | |||
826 | case IPPROTO_ICMPV6: | 830 | case IPPROTO_ICMPV6: |
827 | port = htons(fl->fl_icmp_code); | 831 | port = htons(fl->fl_icmp_code); |
828 | break; | 832 | break; |
833 | case IPPROTO_GRE: | ||
834 | port = htons(ntohl(fl->fl_gre_key) & 0xffff); | ||
835 | break; | ||
829 | default: | 836 | default: |
830 | port = 0; /*XXX*/ | 837 | port = 0; /*XXX*/ |
831 | } | 838 | } |