2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-22 01:51:26 +00:00
ovs/tests/testsuite.at
Faicker Mo 70ba6e97db learning-switch: Fix coredump of OpenFlow15 learning-switch.
The OpenFlow15 Packet-Out message contains the match instead of the
in_port.  The flow.tunnel.metadata.tab is not inited but used in the
loop of tun_metadata_to_nx_match.

The coredump gdb backtrace is:
 0  memcpy_from_metadata (dst=0x2f060, src=0x30880, loc=0x10) at lib/tun-metadata.c:467
 1  metadata_loc_from_match_read (match=0x30598, is_masked=<..>,
                                  mask=0x30838, idx=0, map=0x0)
        at lib/tun-metadata.c:865
 2  metadata_loc_from_match_read (is_masked=<...>, mask=0x30838, idx=0,
                                  match=0x30598, map=0x0)
        at lib/tun-metadata.c:854
 3  tun_metadata_to_nx_match (b=0x892260, oxm=OFP15_VERSION, match=0x30598)
        at lib/tun-metadata.c:888
 4  nx_put_raw (b=0x892260, oxm=OFP15_VERSION, match=0x30598,
                cookie=<...>, cookie=0, cookie_mask=<...>, cookie_mask=0)
        at lib/nx-match.c:1186
 5  oxm_put_match (b=0x892260, match=0x30598, version=OFP15_VERSION)
        at lib/nx-match.c:1343
 6  ofputil_encode_packet_out (po=0x30580, protocol=<...>) at lib/ofp-packet.c:1226
 7  process_packet_in (sw=0x891d70, oh=<...>) at lib/learning-switch.c:619
 8  lswitch_process_packet (msg=0x892210, sw=0x891d70) at lib/learning-switch.c:374
 9  lswitch_run (sw=0x891d70) at lib/learning-switch.c:324
 10 main (argc=<...>, argv=<...>) at utilities/ovs-testcontroller.c:180

Fix that by initing the flow metadata.

Fixes: 35eb6326d5d0 ("ofp-util: Add flow metadata to ofputil_packet_out")
Signed-off-by: Faicker Mo <faicker.mo@ucloud.cn>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
2023-04-25 18:20:32 +02:00

81 lines
2.6 KiB
Plaintext

AT_INIT
AT_COPYRIGHT([Copyright (c) 2009, 2010, 2011, 2012, 2013, 2014, 2015 Nicira, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.])
m4_ifdef([AT_COLOR_TESTS], [AT_COLOR_TESTS])
m4_include([tests/ovs-macros.at])
m4_include([tests/ovsdb-macros.at])
m4_include([tests/ofproto-macros.at])
m4_include([tests/completion.at])
m4_include([tests/checkpatch.at])
m4_include([tests/bfd.at])
m4_include([tests/cfm.at])
m4_include([tests/lacp.at])
m4_include([tests/library.at])
m4_include([tests/heap.at])
m4_include([tests/bundle.at])
m4_include([tests/classifier.at])
m4_include([tests/check-structs.at])
m4_include([tests/daemon.at])
m4_include([tests/daemon-py.at])
m4_include([tests/ofp-actions.at])
m4_include([tests/ofp-print.at])
m4_include([tests/ofp-util.at])
m4_include([tests/ofp-errors.at])
m4_include([tests/ovs-ofctl.at])
m4_include([tests/fuzz-regression.at])
m4_include([tests/odp.at])
m4_include([tests/mpls-xlate.at])
m4_include([tests/multipath.at])
m4_include([tests/learn.at])
m4_include([tests/vconn.at])
m4_include([tests/file_name.at])
m4_include([tests/aes128.at])
m4_include([tests/unixctl-py.at])
m4_include([tests/uuid.at])
m4_include([tests/json.at])
m4_include([tests/jsonrpc.at])
m4_include([tests/jsonrpc-py.at])
m4_include([tests/tunnel.at])
m4_include([tests/tunnel-push-pop.at])
m4_include([tests/tunnel-push-pop-ipv6.at])
m4_include([tests/ovs-router.at])
m4_include([tests/lockfile.at])
m4_include([tests/reconnect.at])
m4_include([tests/ovs-vswitchd.at])
m4_include([tests/ofproto.at])
m4_include([tests/dpif-netdev.at])
m4_include([tests/pmd.at])
m4_include([tests/alb.at])
m4_include([tests/dpctl.at])
m4_include([tests/ofproto-dpif.at])
m4_include([tests/bridge.at])
m4_include([tests/netdev-type.at])
m4_include([tests/ovsdb.at])
m4_include([tests/ovs-vsctl.at])
m4_include([tests/stp.at])
m4_include([tests/rstp.at])
m4_include([tests/vlog.at])
m4_include([tests/vtep-ctl.at])
m4_include([tests/auto-attach.at])
m4_include([tests/mcast-snooping.at])
m4_include([tests/packet-type-aware.at])
m4_include([tests/nsh.at])
m4_include([tests/drop-stats.at])
m4_include([tests/pytest.at])
m4_include([tests/learning-switch.at])