For instance, by looking at the testcase 79 "flow classifier -
lookup segmentation" it shows that at lib/classifier.c the function
miniflow_and_mask_matches_flow_wc() does process the bitwise OR in
wrong order. By introducing the function le32toh(), the test does
pass on a little and big endian system.

I don't understand why you need to do this.  OVS internally does use
host byte order and network byte order, but it doesn't intentionally
maintain any data in little-endian order.  Can you explain further?


I haven't digged further. I can only share the fact that the byte order differs here on a x86 compared to a power/s390 system. Because, you say this shouldn't be the case, I can try to debug this further.

Does this only happen on master?  Version 2.3.x passes all of the
tests on big-endian and little-endian systems:
https://buildd.debian.org/status/logs.php?pkg=openvswitch&ver=2.3.0%2Bgit20140819-2&suite=sid

It fails on master and on older git versions as well. Even using Debian Sid, the same errors could be observed. Can you provide hardware details about the power/s390 machines the mentioned test has been executed on?

When using the openvswitch-2.3.0.tar.gz release, most of the failed test do pass, but other tests do fail.

...
1522: managers                                        ok

## ------------- ##
## Test results. ##
## ------------- ##

ERROR: All 1522 tests were run,
34 failed unexpectedly.
## -------------------------- ##
## testsuite.log was created. ##
## -------------------------- ##

Please send `tests/testsuite.log' and all information you think might help:

   To: <b...@openvswitch.org>
Subject: [openvswitch 2.3.0] testsuite: 372 373 374 375 376 377 711 1281 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 failed

You may investigate any problem if you feel able to do so, in which
case the test suite provides a good starting point.  Its output may
be found below `tests/testsuite.dir'.


 372: vconn.at:23        ssl vconn - read hello
 373: vconn.at:23        ssl vconn - send plain hello
 374: vconn.at:23        ssl vconn - send long hello
 375: vconn.at:23        ssl vconn - send echo hello
 376: vconn.at:23        ssl vconn - send short hello
 377: vconn.at:23        ssl vconn - send invalid version hello
 711: ofproto-dpif.at:57 ofproto-dpif, active-backup bonding
 1281: ovsdb-server.at:480 SSL db: implementation
      ovsdb server positive ssl $5
 1284: ovsdb-server.at:792 insert default row, query table
      ovsdb server positive ssl
 1285: ovsdb-server.at:792 insert row, query table
      ovsdb server positive ssl
 1286: ovsdb-server.at:792 insert rows, query by value
      ovsdb server positive ssl
 1287: ovsdb-server.at:792 insert rows, query by named-uuid
      ovsdb server positive ssl
 1288: ovsdb-server.at:792 insert rows, update rows by value
      ovsdb server positive ssl
 1289: ovsdb-server.at:792 insert rows, mutate rows
      ovsdb server positive ssl
 1290: ovsdb-server.at:792 insert rows, delete by named-uuid
      ovsdb server positive ssl
 1291: ovsdb-server.at:792 insert rows, delete rows by value
      ovsdb server positive ssl
 1292: ovsdb-server.at:792 insert rows, delete by (non-matching) value
      ovsdb server positive ssl
 1293: ovsdb-server.at:792 insert rows, delete all
      ovsdb server positive ssl
 1294: ovsdb-server.at:792 insert row, query table, commit
      ovsdb server positive ssl
 1295: ovsdb-server.at:792 insert row, query table, commit durably
      ovsdb server positive ssl
 1296: ovsdb-server.at:792 equality wait with correct rows
      ovsdb server positive ssl
 1297: ovsdb-server.at:792 equality wait with extra row
      ovsdb server positive ssl
 1298: ovsdb-server.at:792 equality wait with missing row
      ovsdb server positive ssl
 1299: ovsdb-server.at:792 inequality wait with correct rows
      ovsdb server positive ssl
 1300: ovsdb-server.at:792 inequality wait with extra row
      ovsdb server positive ssl
 1301: ovsdb-server.at:792 inequality wait with missing row
      ovsdb server positive ssl
 1302: ovsdb-server.at:792 insert and update constraints
      ovsdb server positive ssl
 1303: ovsdb-server.at:792 index uniqueness checking
      ovsdb server positive ssl
 1304: ovsdb-server.at:792 referential integrity -- simple
      ovsdb server positive ssl
 1305: ovsdb-server.at:792 referential integrity -- mutual references
      ovsdb server positive ssl
 1306: ovsdb-server.at:792 weak references
      ovsdb server positive ssl
 1307: ovsdb-server.at:792 immutable columns
      ovsdb server positive ssl
 1308: ovsdb-server.at:792 garbage collection
      ovsdb server positive ssl
 1309: ovsdb-server.at:831 insert default row, query table
      ovsdb server positive ssl6


Here's a subset of test which do fail on master and passed on 2.3.0

785. ofproto-dpif megaflow - port classification (ofproto-dpif.at:3881): ok (0m0.028s 0m0.107s) 786. ofproto-dpif megaflow - L2 classification (ofproto-dpif.at:3899): ok (0m0.029s 0m0.108s) 787. ofproto-dpif megaflow - L3 classification (ofproto-dpif.at:3917): ok (0m0.032s 0m0.121s) 788. ofproto-dpif megaflow - IPv6 classification (ofproto-dpif.at:3936): ok (0m0.032s 0m0.119s) 789. ofproto-dpif megaflow - L4 classification (ofproto-dpif.at:3955): ok (0m0.029s 0m0.111s) 790. ofproto-dpif megaflow - normal (ofproto-dpif.at:3973): ok (0m0.030s 0m0.111s) 791. ofproto-dpif megaflow - mpls (ofproto-dpif.at:3988): ok (0m0.029s 0m0.109s) 792. ofproto-dpif megaflow - netflow - IPv4 collector (ofproto-dpif.at:4037): ok (0m0.034s 0m0.128s) 793. ofproto-dpif megaflow - netflow - IPv6 collector (ofproto-dpif.at:4038): ok (0m0.034s 0m0.126s) 794. ofproto-dpif megaflow - normal, active-backup bonding (ofproto-dpif.at:4040): ok (0m0.030s 0m0.111s) 795. ofproto-dpif megaflow - normal, balance-slb bonding (ofproto-dpif.at:4061): ok (0m0.029s 0m0.110s) 796. ofproto-dpif megaflow - normal, balance-tcp bonding (ofproto-dpif.at:4082): ok (0m0.034s 0m0.128s) 797. ofproto-dpif megaflow - resubmit port action (ofproto-dpif.at:4120): ok (0m0.030s 0m0.108s) 798. ofproto-dpif megaflow - resubmit table action (ofproto-dpif.at:4139): ok (0m0.030s 0m0.114s) 799. ofproto-dpif megaflow - goto_table action (ofproto-dpif.at:4159): ok (0m0.029s 0m0.116s) 800. ofproto-dpif megaflow - mirroring, select_all (ofproto-dpif.at:4178): ok (0m0.030s 0m0.116s) 801. ofproto-dpif megaflow - mirroring, select_vlan (ofproto-dpif.at:4201): ok (0m0.031s 0m0.113s) 802. ofproto-dpif megaflow - move action (ofproto-dpif.at:4224): ok (0m0.030s 0m0.110s) 803. ofproto-dpif megaflow - push action (ofproto-dpif.at:4244): ok (0m0.028s 0m0.106s) 804. ofproto-dpif megaflow - learning (ofproto-dpif.at:4262): ok (0m0.035s 0m0.132s) 805. ofproto-dpif megaflow - tunnels (ofproto-dpif.at:4289): ok (0m0.037s 0m0.136s) 806. ofproto-dpif megaflow - dec_ttl (ofproto-dpif.at:4322): ok (0m0.031s 0m0.119s) 807. ofproto-dpif megaflow - set dl_dst (ofproto-dpif.at:4341): ok (0m0.029s 0m0.110s) 808. ofproto-dpif megaflow - disabled (ofproto-dpif.at:4369): ok (0m0.043s 0m0.169s)



_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to