X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ofproto%2Fofproto-provider.h;h=41b589f5f9f9882a45571cedb8c9d04351d37fef;hb=98eaac36fc96c5168e76fd039d3d4aea97b6aa56;hp=23d9180c9d38f039aa529a5132b2e4cfa86f45dd;hpb=822b7f52108e1936f68fe2f726d0796df1b19903;p=sliver-openvswitch.git diff --git a/ofproto/ofproto-provider.h b/ofproto/ofproto-provider.h index 23d9180c9..41b589f5f 100644 --- a/ofproto/ofproto-provider.h +++ b/ofproto/ofproto-provider.h @@ -23,6 +23,7 @@ #include "cfm.h" #include "classifier.h" #include "heap.h" +#include "hindex.h" #include "list.h" #include "ofp-errors.h" #include "ofp-util.h" @@ -69,6 +70,8 @@ struct ofproto { struct oftable *tables; int n_tables; + struct hindex cookies; /* Rules indexed on their cookie values. */ + /* Optimisation for flow expiry. * These flows should all be present in tables. */ struct list expirable; /* Expirable 'struct rule"s in all tables. */ @@ -203,6 +206,7 @@ struct rule { struct ofoperation *pending; /* Operation now in progress, if nonnull. */ ovs_be64 flow_cookie; /* Controller-issued identifier. */ + struct hindex_node cookie_node; /* In owning ofproto's 'cookies' index. */ long long int created; /* Creation time. */ long long int modified; /* Time of last modification. */