X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fdatapath.h;h=15a989892862a99392a70e261bd581edc2cf3e41;hb=8a3d2fef9775498320ca7ea014dbdc4cbb14bbb2;hp=a7795105f37ad3fc0f6c307584eb0b0c7bcdb471;hpb=6e0ce48e27d5a845bdc8b57fb41bcec8a54f336a;p=openvswitch diff --git a/datapath/datapath.h b/datapath/datapath.h index a7795105..15a98989 100644 --- a/datapath/datapath.h +++ b/datapath/datapath.h @@ -20,6 +20,7 @@ #include #include "checksum.h" +#include "compat.h" #include "flow.h" #include "dp_sysfs.h" #include "vlan.h" @@ -101,9 +102,11 @@ struct datapath { * struct ovs_skb_cb - OVS data in skb CB * @vport: The datapath port on which the skb entered the switch. * @flow: The flow associated with this packet. May be %NULL if no flow. + * @tun_id: ID of the tunnel that encapsulated this packet. It is 0 if the * @ip_summed: Consistently stores L4 checksumming status across different * kernel versions. - * @tun_id: ID of the tunnel that encapsulated this packet. It is 0 if the + * @csum_start: Stores the offset from which to start checksumming independent + * of the transport header on all kernel versions. * packet was not received on a tunnel. * @vlan_tci: Provides a substitute for the skb->vlan_tci field on kernels * before 2.6.27. @@ -111,10 +114,11 @@ struct datapath { struct ovs_skb_cb { struct vport *vport; struct sw_flow *flow; + __be64 tun_id; #ifdef NEED_CSUM_NORMALIZE enum csum_type ip_summed; + u16 csum_start; #endif - __be64 tun_id; #ifdef NEED_VLAN_FIELD u16 vlan_tci; #endif