X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=datapath%2Fdatapath.h;h=dacc3a42c301c1c11d90d395f729c5006254f8fb;hb=3976f6d57b1134c5c3ed054c9da4aa6786fbf5bf;hp=991a7e818a63813089ff5d6b63629f29143707e5;hpb=8d5ebd839b86463c72239fe972001e4f1a367a7b;p=openvswitch diff --git a/datapath/datapath.h b/datapath/datapath.h index 991a7e81..dacc3a42 100644 --- a/datapath/datapath.h +++ b/datapath/datapath.h @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include "flow.h" @@ -53,6 +54,7 @@ struct dp_stats_percpu { u64 n_hit; u64 n_missed; u64 n_lost; + seqcount_t seqlock; }; struct dp_port_group { @@ -143,12 +145,18 @@ enum csum_type { /** * struct ovs_skb_cb - OVS data in skb CB - * @br_port: The bridge port on which the skb entered the switch. + * @dp_port: The datapath port on which the skb entered the switch. + * @flow: The flow associated with this packet. May be %NULL if no flow. + * @is_frag: %true if this packet is an IPv4 fragment, %false otherwise. * @ip_summed: Consistently stores L4 checksumming status across different * kernel versions. + * @tun_id: ID (in network byte order) of the tunnel that encapsulated this + * packet. It is 0 if the packet was not received on a tunnel. */ struct ovs_skb_cb { struct dp_port *dp_port; + struct sw_flow *flow; + bool is_frag; enum csum_type ip_summed; __be32 tun_id; };