On Wed, Jul 15, 2015 at 5:41 PM, Jesse Gross <je...@nicira.com> wrote: > On Wed, Jul 15, 2015 at 5:31 PM, Joe Stringer <joestrin...@nicira.com> wrote: >> On 15 July 2015 at 15:53, Jesse Gross <je...@nicira.com> wrote: >>> On Wed, Jul 15, 2015 at 11:35 AM, Ben Pfaff <b...@nicira.com> wrote: >>>> On Mon, Jul 13, 2015 at 02:53:56PM -0700, Jesse Gross wrote: >>>>> There are several implementations of functions that parse/format >>>>> flags and their binary representation. This factors them out into >>>>> common routines. In addition to reducing code, it also makes things >>>>> more consistent across different parts of OVS. >>>>> >>>>> Signed-off-by: Jesse Gross <je...@nicira.com> >>>> >>>> Thanks, I like reducing code size! >>>> >>>> This patch deletes a test and part of a test in ovs-ofctl.at. Why? >>> >>> I'm not sure that these tests really make sense and arguably the >>> behavior there were checking wasn't even right in the first place. In >>> theory they are verifying that the correct OpenFlow version is >>> selected based on the fields provided (in this case the correct >>> version is "none") but it is being done using names that weren't >>> supposed to be public, though the old parsing code allowed them to >>> leak through. The new parsing code is enforcing the same invariants as >>> before but more carefully and now rejects these commands as a parse >>> error before it even gets to the OpenFlow layer that is supposed to be >>> exercised. The next patch makes this field valid anyways and verifies >>> the correct OpenFlow behavior, so it didn't seem like it made sense to >>> keep the test around. >> >> Hmm, interesting. One of the bugs found by STACK recently also changes >> the output of this test -- that bug was long-lived, in >> parse_ofp_str__(). I plan to send the patches soonish. As I >> understand, these tests are also meant to pick up on fields that >> aren't supposed to be exposed, and make sure that ovs-ofctl doesn't >> try to pass them on. That said, if the field will be allowed after the >> next patch then I don't object. > > What was the actual bug that was discovered? > > The problem here wasn't so much really that field should haven't been > exposed - that part was working correctly. The issue was that the > actual values should have been restricted by the parser. I can change > it so that the test remains in this patch but only tests tun_flags(0) > instead of key|csum. The next patch would then delete the test, since > at that point the field is allowed.
Actually, I realized that with the current version of the patch these flags are still accepted and it's not until the next patch that we clamp down on non-public values. Therefore, I restored the test to its original form to make this a pure refactoring patch. The net result is still the same after the next patch though. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev