John, For some reason that email did not get to my email, nor our patchwork (https://patchwork.ozlabs.org/project/openvswitch/list/), but I found it from the dev@openvswitch.org <mailto:dev@openvswitch.org> archive.
You did not include a Signed-off-by line, so, in the interest of time, I put you as Suggested-by and myself as Signed-off-by. I also reformatted the commit message, so that it is not all in the title line. I also added a comment on the return value to mf_set() definition. The fix is now in OVS master, I also added you to AUTHORS file. Thank you for your contribution, Jarno > On Oct 9, 2015, at 4:44 PM, John Reumann <nofutznetwo...@gmail.com> wrote: > > Sent to ovs devs. Do you know what the turn-around time is? For the time > being I am patching our build but I am wondering if I should build a more > permanent fix in place, like a fork. > > thx... > > On Mon, Oct 5, 2015 at 4:06 PM, Jarno Rajahalme <jrajaha...@nicira.com > <mailto:jrajaha...@nicira.com>> wrote: > John, > > I thought that maybe forward declaration of the enum would be better choice, > but apparently C99 forbids forward declarations of enums, so even when it > works with both gcc and clang, we should use your solution. > > Please send the patch to dev@openvswitch.org <mailto:dev@openvswitch.org> > instead, but trim the commit message to a paragraph that just describes the > change. > > Incidentally, I’m seeing the same IPv6 related test failures you see, but I > figured it is due to the net-next kernel I’m developing for right now. It > appears that ping6 works, but TCP over IPv6 does not. “telnet -4 localhost” > responds with connection refused, but “telnet -6 ::1” just hangs. Could you > tell me if IPv6 works on your machine? > > Jarno > > > On Oct 2, 2015, at 6:34 PM, John Reumann <nofutznetwo...@gmail.com > > <mailto:nofutznetwo...@gmail.com>> wrote: > > > > This is a pretty trivial change as it picks up what you have already fixed > > before. > > ofp-util.h include meta-flow.h. Before this patch some change caused > > meta-flow.h > > to use ofp_protocol which is defined in ofp-util.h after it includes > > meta-flow.h. > > The long term fix would probably be to move this enum into a separate file. > > But > > for now this little patch might stop they pain when pulling in the files > > with > > a c++ compiler. > > > > Tested with make check.... Code change seems not to produce extra failures. > > But there are existing failures. Python currently not looking too hot. > > > > The diff between modified and original comes back empty > > > > diff ../../ovs-orig-src/ovs/tests/failed-test-orig.log > > tests/failed-test-modified.log > > > > comes back empty > > > > List of failures both at head and with my change. > > > > ## ------------------------ ## > > ## Summary of the failures. ## > > ## ------------------------ ## > > Failed tests: > > openvswitch 2.4.90 test suite test groups: > > > > NUM: FILE-NAME:LINE TEST-GROUP-NAME > > KEYWORDS > > > > 877: ofproto-dpif.at:5056 <http://ofproto-dpif.at:5056/> ofproto-dpif - > > sFlow packet sampling - IPv6 collector > > 883: ofproto-dpif.at:5426 <http://ofproto-dpif.at:5426/> ofproto-dpif - > > NetFlow flow expiration - IPv6 collector > > 885: ofproto-dpif.at:5510 <http://ofproto-dpif.at:5510/> ofproto-dpif - > > NetFlow active expiration - IPv6 collector > > 1465: ovsdb-server.at:929 <http://ovsdb-server.at:929/> insert default row, > > query table > > ovsdb server positive tcp6 > > 1508: ovsdb-idl.at:97 <http://ovsdb-idl.at:97/> simple idl, initially > > empty, no ops - Python tcp6 > > ovsdb server idl positive python with tcp6 socket > > 1512: ovsdb-idl.at:104 <http://ovsdb-idl.at:104/> simple idl, initially > > empty, various ops - Python tcp6 > > ovsdb server idl positive python with tcp6 socket > > 1516: ovsdb-idl.at:182 <http://ovsdb-idl.at:182/> simple idl, initially > > populated - Python tcp6 > > ovsdb server idl positive python with tcp6 socket > > 1520: ovsdb-idl.at:213 <http://ovsdb-idl.at:213/> simple idl, writing via > > IDL - Python tcp6 > > ovsdb server idl positive python with tcp6 socket > > 1524: ovsdb-idl.at:244 <http://ovsdb-idl.at:244/> simple idl, handling > > verification failure - Python tcp6 > > ovsdb server idl positive python with tcp6 socket > > 1528: ovsdb-idl.at:275 <http://ovsdb-idl.at:275/> simple idl, increment > > operation - Python tcp6 > > ovsdb server idl positive python with tcp6 socket > > 1532: ovsdb-idl.at:287 <http://ovsdb-idl.at:287/> simple idl, aborting - > > Python tcp6 > > ovsdb server idl positive python with tcp6 socket > > 1536: ovsdb-idl.at:301 <http://ovsdb-idl.at:301/> simple idl, destroy > > without commit or abort - Python tcp6 > > ovsdb server idl positive python with tcp6 socket > > 1540: ovsdb-idl.at:315 <http://ovsdb-idl.at:315/> self-linking idl, > > consistent ops - Python tcp6 > > ovsdb server idl positive python with tcp6 socket > > 1544: ovsdb-idl.at:359 <http://ovsdb-idl.at:359/> self-linking idl, > > inconsistent ops - Python tcp6 > > ovsdb server idl positive python with tcp6 socket > > 1548: ovsdb-idl.at:407 <http://ovsdb-idl.at:407/> self-linking idl, sets > > - Python tcp6 > > ovsdb server idl positive python with tcp6 socket > > 1552: ovsdb-idl.at:457 <http://ovsdb-idl.at:457/> external-linking idl, > > consistent ops - Python tcp6 > > ovsdb server idl positive python with tcp6 socket > > > > Skipped tests: > > openvswitch 2.4.90 test suite test groups: > > > > NUM: FILE-NAME:LINE TEST-GROUP-NAME > > KEYWORDS > > > > 110: daemon.at:163 <http://daemon.at:163/> daemon --service > > windows-service > > 421: vconn.at:22 <http://vconn.at:22/> ssl vconn - refuse connection > > 422: vconn.at:22 <http://vconn.at:22/> ssl vconn - accept then close > > 423: vconn.at:22 <http://vconn.at:22/> ssl vconn - read hello > > 424: vconn.at:22 <http://vconn.at:22/> ssl vconn - send plain hello > > 425: vconn.at:22 <http://vconn.at:22/> ssl vconn - send long hello > > 426: vconn.at:22 <http://vconn.at:22/> ssl vconn - send echo hello > > 427: vconn.at:22 <http://vconn.at:22/> ssl vconn - send short hello > > 428: vconn.at:22 <http://vconn.at:22/> ssl vconn - send invalid > > version hello > > 1410: ovsdb-server.at:486 <http://ovsdb-server.at:486/> SSL db: > > implementation > > ovsdb server positive ssl $5 > > 1413: ovsdb-server.at:807 <http://ovsdb-server.at:807/> insert default row, > > query table > > ovsdb server positive ssl > > 1414: ovsdb-server.at:807 <http://ovsdb-server.at:807/> insert row, query > > table > > ovsdb server positive ssl > > 1415: ovsdb-server.at:807 <http://ovsdb-server.at:807/> insert rows, query > > by value > > ovsdb server positive ssl > > 1416: ovsdb-server.at:807 <http://ovsdb-server.at:807/> insert rows, query > > by named-uuid > > ovsdb server positive ssl > > 1417: ovsdb-server.at:807 <http://ovsdb-server.at:807/> insert rows, update > > rows by value > > ovsdb server positive ssl > > 1418: ovsdb-server.at:807 <http://ovsdb-server.at:807/> insert rows, mutate > > rows > > ovsdb server positive ssl > > 1419: ovsdb-server.at:807 <http://ovsdb-server.at:807/> insert rows, delete > > by named-uuid > > ovsdb server positive ssl > > 1420: ovsdb-server.at:807 <http://ovsdb-server.at:807/> insert rows, delete > > rows by value > > ovsdb server positive ssl > > 1421: ovsdb-server.at:807 <http://ovsdb-server.at:807/> insert rows, delete > > by (non-matching) value > > ovsdb server positive ssl > > 1422: ovsdb-server.at:807 <http://ovsdb-server.at:807/> insert rows, delete > > all > > ovsdb server positive ssl > > 1423: ovsdb-server.at:807 <http://ovsdb-server.at:807/> insert row, query > > table, commit > > ovsdb server positive ssl > > 1424: ovsdb-server.at:807 <http://ovsdb-server.at:807/> insert row, query > > table, commit durably > > ovsdb server positive ssl > > 1425: ovsdb-server.at:807 <http://ovsdb-server.at:807/> equality wait with > > correct rows > > ovsdb server positive ssl > > 1426: ovsdb-server.at:807 <http://ovsdb-server.at:807/> equality wait with > > extra row > > ovsdb server positive ssl > > 1427: ovsdb-server.at:807 <http://ovsdb-server.at:807/> equality wait with > > missing row > > ovsdb server positive ssl > > 1428: ovsdb-server.at:807 <http://ovsdb-server.at:807/> inequality wait > > with correct rows > > ovsdb server positive ssl > > 1429: ovsdb-server.at:807 <http://ovsdb-server.at:807/> inequality wait > > with extra row > > ovsdb server positive ssl > > 1430: ovsdb-server.at:807 <http://ovsdb-server.at:807/> inequality wait > > with missing row > > ovsdb server positive ssl > > 1431: ovsdb-server.at:807 <http://ovsdb-server.at:807/> insert and update > > constraints > > ovsdb server positive ssl > > 1432: ovsdb-server.at:807 <http://ovsdb-server.at:807/> index uniqueness > > checking > > ovsdb server positive ssl > > 1433: ovsdb-server.at:807 <http://ovsdb-server.at:807/> referential > > integrity -- simple > > ovsdb server positive ssl > > 1434: ovsdb-server.at:807 <http://ovsdb-server.at:807/> referential > > integrity -- mutual references > > ovsdb server positive ssl > > 1435: ovsdb-server.at:807 <http://ovsdb-server.at:807/> weak references > > ovsdb server positive ssl > > 1436: ovsdb-server.at:807 <http://ovsdb-server.at:807/> immutable columns > > ovsdb server positive ssl > > 1437: ovsdb-server.at:807 <http://ovsdb-server.at:807/> garbage collection > > ovsdb server positive ssl > > 1438: ovsdb-server.at:845 <http://ovsdb-server.at:845/> insert default row, > > query table > > ovsdb server positive ssl6 > > 1597: ovs-vsctl.at:1311 <http://ovs-vsctl.at:1311/> bootstrap ca cert > > ovs-vsctl ssl > > 1598: ovs-vsctl.at:1338 <http://ovs-vsctl.at:1338/> peer ca cert > > ovs-vsctl ssl > > > > > > --- > > lib/meta-flow.c | 2 +- > > lib/meta-flow.h | 8 ++++---- > > 2 files changed, 5 insertions(+), 5 deletions(-) > > > > diff --git a/lib/meta-flow.c b/lib/meta-flow.c > > index 224ba53..9462b61 100644 > > --- a/lib/meta-flow.c > > +++ b/lib/meta-flow.c > > @@ -1616,7 +1616,7 @@ mf_set_wild(const struct mf_field *mf, struct match > > *match, char **err_str) > > * If non-NULL, 'err_str' returns a malloc'ed string describing any errors > > * with the request or NULL if there is no error. The caller is reponsible > > * for freeing the string.*/ > > -enum ofputil_protocol > > +uint32_t > > mf_set(const struct mf_field *mf, > > const union mf_value *value, const union mf_value *mask, > > struct match *match, char **err_str) > > diff --git a/lib/meta-flow.h b/lib/meta-flow.h > > index 02272ef..822cd83 100644 > > --- a/lib/meta-flow.h > > +++ b/lib/meta-flow.h > > @@ -1861,10 +1861,10 @@ void mf_get(const struct mf_field *, const struct > > match *, > > union mf_value *value, union mf_value *mask); > > > > /* Returns the set of usable protocols. */ > > -enum ofputil_protocol mf_set(const struct mf_field *, > > - const union mf_value *value, > > - const union mf_value *mask, > > - struct match *, char **err_str); > > +uint32_t mf_set(const struct mf_field *, > > + const union mf_value *value, > > + const union mf_value *mask, > > + struct match *, char **err_str); > > > > void mf_set_wild(const struct mf_field *, struct match *, char **err_str); > > > > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev