GitHub PushEvent at 2014-04-30 17:52:32
Repository: ovs-reviews
Actor: blp
Payload: {"shas":[["dc723c447a797e555d400594133a35b9841eb1de","c6b3e065ce2d7a6de7979198ff8ba237dcfdb756@nicira.com","ofproto: Inline actions in struct rule_actions.\n\nAllocate struct rule_actions and the space for the actions at once.\nThis reduces one memory indirection and helps reduce cache misses\nvisible in perf annotations.\n\nFix some old comments referring to ref count, since we now use RCU for\nthis.\n\nEnforce constness of the actions that are assigned from rule_actions\nthroughout the code.\n\nSigned-off-by: Jarno Rajahalme <jrajahalme@nicira.com>\nAcked-by: Ben Pfaff <blp@nicira.com>","Jarno Rajahalme",false],["003ce655b7116d18c86a74c50391e54990346931","c6b3e065ce2d7a6de7979198ff8ba237dcfdb756@nicira.com","ofproto: Inline trivial functions.\n\nrule_dpif_is_internal is among the top ten OVS internal functions in\nrecent perf reports.  Inline it and some other equally trivial\nfunctions.\n\nThis change removes rule_is_internal(), since the fact that a table is\nan internal one is defined within ofproto-dpif, not ofproto.\n\nSigned-off-by: Jarno Rajahalme <jrajahalme@nicira.com>\nAcked-by: Ben Pfaff <blp@nicira.com>","Jarno Rajahalme",false],["28a560d97a8b6882e7dfd4df2e52806dba4fd0e5","c6b3e065ce2d7a6de7979198ff8ba237dcfdb756@nicira.com","lib/flow: Simplify miniflow accessors, add ipv6 support.\n\nAdd new macro MINIFLOW_MAP(FIELD) that returns the map covering the\ngiven struct flow field.\n\nChange the miniflow accessors to macros so that they can take the\nfield name directly.\n\nUse these to add ipv6 support to miniflow_hash_5tuple().\n\nAdd ipv6 support to flow_hash_5tuple() as well so that these two\nfunctions continue to return the same hash value for the corresponding\nflows.\n\nAlso, simplify miniflow_get_metadata().\n\nSigned-off-by: Jarno Rajahalme <jrajahalme@nicira.com>\nAcked-by: Ethan Jackson <ethan@nicira.com>","Jarno Rajahalme",false],["3d91d9094dcf49c210bd4ebae4bd1e0cea9defce","c6b3e065ce2d7a6de7979198ff8ba237dcfdb756@nicira.com","lib: Inline functions used in classifier_lookup.\n\nThis helps about 1% in TCP_CRR performance test.  However, this also\nhelps by clearly showing the classifier_lookup() cost in perf reports\nas one item.\n\nThis also cleans up the flow/match APIs from functionality only used\nby the classifier, making is more straightforward to evolve them\nlater.\n\nSigned-off-by: Jarno Rajahalme <jrajahalme@nicira.com>\nAcked-by: Ethan Jackson <ethan@nicira.com>","Jarno Rajahalme",false],["ac4aa4c83f94cfbc0b056cb636987e39e7909cdb","c6b3e065ce2d7a6de7979198ff8ba237dcfdb756@nicira.com","ofproto: Use classifer cursor API to collect vlan usage.\n\nThis was the only place in OVS code that accessed classifier internal\ndata structures directly.  Use the classifier cursor API instead, so\nthat following patches can hide classifier internal data structures.\n\nNote: There seems to be no test case to verify that this vlan usage\ncollection is implemented correctly.\n\nSigned-off-by: Jarno Rajahalme <jrajahalme@nicira.com>\nAcked-by: Ethan Jackson <ethan@nicira.com>","Jarno Rajahalme",false],["cabd4c43854275943792a8b1bb4c7b719e210259","c6b3e065ce2d7a6de7979198ff8ba237dcfdb756@nicira.com","lib/classifier: Hide more of the internal data structures.\n\nIt is better not to expose definitions not needed by users.\n\nSigned-off-by: Jarno Rajahalme <jrajahalme@nicira.com>\nAcked-by: Ethan Jackson <ethan@nicira.com>","Jarno Rajahalme",false],["d4570fd8ba5f36f21b9b631628e812de0189fa20","c6b3e065ce2d7a6de7979198ff8ba237dcfdb756@nicira.com","lib/flow: Optimize minimask_has_extra() and minimask_is_catchall()\n\nWe only need to iterate over the bits masked by the 'b' in\nminimask_has_extra(), since for zeroes in 'b' there can be no 'extra'\nwildcards in 'a', as 'b' has already wildcarded all the bits.\n\nminimask_is_catchall() can be simplified by the invariant that mask's\nmap never has 1-bits for all-zero values.\n\nSigned-off-by: Jarno Rajahalme <jrajahalme@nicira.com>\nAcked-by: Ethan Jackson <ethan@nicira.com>","Jarno Rajahalme",false],["124f09c9279ae41eba4bf0d6419387e8ec9a1a78","c6b3e065ce2d7a6de7979198ff8ba237dcfdb756@nicira.com","lib: Add prefetch support (for GCC)\n\nDefine OVS_PREFETCH() and OVS_PREFETCH_WRITE() using builtin prefetch\nfor GCC, and ovs_prefetch_range() for prefetching a range of addresses.\n\nSigned-off-by: Jarno Rajahalme <jrajahalme@nicira.com>\nAcked-by: Ethan Jackson <ethan@nicira.com>","Jarno Rajahalme",false],["ec988646afe6aee6a63d6894a3e9b50f715d5941","c6b3e065ce2d7a6de7979198ff8ba237dcfdb756@nicira.com","classifier: Use array for subtables instead of a list.\n\nUsing a linear array allows more efficient memory access for lookups.\n\nSigned-off-by: Jarno Rajahalme <jrajahalme@nicira.com>\nAcked-by: Ethan Jackson <ethan@nicira.com>","Jarno Rajahalme",false],["627fb667b2604e28fb0b658760e6bd46912ebc08","c6b3e065ce2d7a6de7979198ff8ba237dcfdb756@nicira.com","lib/classifier: Separate cls_rule internals from the API.\n\nKeep an internal representation of a rule separate from the one\nembedded into user's structs.  This allows for further memory\noptimization in the classifier.\n\nSigned-off-by: Jarno Rajahalme <jrajahalme@nicira.com>\nAcked-by: Ethan Jackson <ethan@nicira.com>","Jarno Rajahalme",false],["27bbe15dec4e1862396b5c4d265f0ced71b49930","c6b3e065ce2d7a6de7979198ff8ba237dcfdb756@nicira.com","lib/flow: Maintain miniflow offline values explicitly.\n\nThis allows use of miniflows that have all of their values inline.\n\nSigned-off-by: Jarno Rajahalme <jrajahalme@nicira.com>\nAcked-by: Ethan Jackson <ethan@nicira.com>","Jarno Rajahalme",false],["3016f3e4a80aa47510f5eab7b3927c20278b0281","c6b3e065ce2d7a6de7979198ff8ba237dcfdb756@nicira.com","lib/classifier: Support variable sized miniflows.\n\nChange the classifier to allocate variable sized miniflows and\nminimasks in cls_match and cls_subtable, respectively.  Do not\nduplicate the mask in cls_rule any more.\n\nminiflow_clone and miniflow_move can now take variably sized miniflows\nas source.  The destination is assumed to be regularly sized miniflow.\n\nInlining miniflow and mask values reduces memory indirection and helps\nreduce cache misses.\n\nSigned-off-by: Jarno Rajahalme <jrajahalme@nicira.com>\nAcked-by: Ethan Jackson <ethan@nicira.com>","Jarno Rajahalme",false],["2f486d4c80dada4194b170ebed0bcf77454b5404","eba59be6f07811efcfb9b9013eddeb3628e492b2@nicira.com","bond: fix uninitialized use of use_recirc variable\n\nCaught by clang-3.5.\n\nReported-by: Simon Horman <horms@verge.net.au>\nSigned-off-by: Andy Zhou <azhou@nicira.com>\nAcked-by: Pritesh Kothari <pritesh.kothari@cisco.com>","Andy Zhou",false],["6dc5374435cc25bc4051b27bd52635e609a8872a","6f50513b21952446fbc8c95a8f361b7aa434b7c7@nicira.com","Enable OpenFlow 1.0, 1.1, 1.2, and 1.3 by default.\n\nThe Open vSwitch software switch now supports all the required features of\nOpenFlow 1.0 through 1.3, with one known trivial exception[*].  Enable them\nby default in ovs-vswitchd.\n\nFor now, ovs-ofctl only enables OpenFlow 1.0 by default.  This is\nbecause ovs-ofctl implements command such as \"add-flow\" as raw\nOpenFlow requests, but those requests have subtly different semantics\nin different OpenFlow versions.  For example:\n\n    - In OpenFlow 1.0, a \"mod-flow\" operation that does not find any\n      existing flow to modify adds a new flow.\n\n    - In OpenFlow 1.1, a \"mod-flow\" operation that does not find any\n      existing flow to modify adds a new flow, but only if the\n      mod-flow did not match on the flow cookie.\n\n    - In OpenFlow 1.2 and a later, a \"mod-flow\" operation never adds a\n      new flow.\n\n[*] OpenFlow 1.1, but not any earlier or later version of OpenFlow,\n    requires support for VLANs introduced by Ethertype 0x88a8, but Open\n    vSwitch does not support this Ethertype.\n\nSigned-off-by: Ben Pfaff <blp@nicira.com>\nReviewed-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>","Ben Pfaff",false]],"size":14,"ref":"refs/heads/master","head":"6dc5374435cc25bc4051b27bd52635e609a8872a"}