X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fdatapath.h;h=38c84756f04a64b8bcc95b167428f9afb629ad6c;hb=bf2ca90814210678ae4036add586b2d0549f837f;hp=6732b59ea172bffaa4d2123d9fe6659a842bd433;hpb=c69ee87c10818267f991236201150b1fa51ae519;p=openvswitch diff --git a/datapath/datapath.h b/datapath/datapath.h index 6732b59e..38c84756 100644 --- a/datapath/datapath.h +++ b/datapath/datapath.h @@ -182,6 +182,23 @@ struct net_bridge_port { atomic_t sflow_pool; }; +enum csum_type { + OVS_CSUM_NONE = 0, + OVS_CSUM_UNNECESSARY = 1, + OVS_CSUM_COMPLETE = 2, + OVS_CSUM_PARTIAL = 3, +}; + +/** + * struct ovs_skb_cb - OVS data in skb CB + * @ip_summed: Consistently stores L4 checksumming status across different + * kernel versions. + */ +struct ovs_skb_cb { + enum csum_type ip_summed; +}; +#define OVS_CB(skb) ((struct ovs_skb_cb *)(skb)->cb) + extern struct notifier_block dp_device_notifier; extern int (*dp_ioctl_hook)(struct net_device *dev, struct ifreq *rq, int cmd); @@ -219,6 +236,7 @@ static inline int vswitch_skb_checksum_setup(struct sk_buff *skb) } #endif +void compute_ip_summed(struct sk_buff *skb, bool xmit); void forward_ip_summed(struct sk_buff *skb); #endif /* datapath.h */