Hello OVS team,

I'm observing crash in ovs-vswitchd on attempting the following sequence of
configuration.
Shouldn't the function modify_flow_init_strict honor the return value of
add_flow_init instead of always returning zero ? Please share your thoughts.

Thanks and regards,
Parameswaran


Step 1) Create a flow

ovs-ofctl add-flow switch1
priority=228,dl_type=0x0800,dl_vlan="600",in_port=25,actions=output:ALL

This step is successful.



Step 2) Invoke flow-mod with incorrect contents.

ovs-ofctl mod-flows switch1
priority=228,dl_type=0x0800,dl_vlan="600",in_port=25,actions=output:ALL,mod_vlan_vid:50,mod_vlan_pcp=6,mod_nw_tos=16



In the above example, the ofproto provider I have, will return error for
rule_construct as set_fields come after Output.

However the OVS is ignoring the error (The return value of add_flow_init is
ignored in modify_flow_init_strict) and eventually the ovs-vswitched
crashes.



 Crash backtrace

------------------------

Thread 1 "ovs-vswitchd" received signal SIGSEGV, Segmentation fault.

0x00007f6a06e785fb in modify_flows_start__ (

    ofproto=ofproto@entry=0x55b289cecc28, ofm=ofm@entry=0x7ffdf7d57b70)

    at ofproto/ofproto.c:5402

5402    in ofproto/ofproto.c

(gdb) bt

#0  0x00007f6a06e785fb in modify_flows_start__ (

    ofproto=ofproto@entry=0x55b289cecc28, ofm=ofm@entry=0x7ffdf7d57b70)

    at ofproto/ofproto.c:5402

#1  0x00007f6a06e790db in modify_flows_start_loose (ofm=0x7ffdf7d57b70,

    ofproto=0x55b289cecc28) at ofproto/ofproto.c:5443

#2  ofproto_flow_mod_start (ofproto=ofproto@entry=0x55b289cecc28,

    ofm=ofm@entry=0x7ffdf7d57b70) at ofproto/ofproto.c:7672

#3  0x00007f6a06e79164 in handle_flow_mod__ (

    ofproto=ofproto@entry=0x55b289cecc28, fm=fm@entry=0x7ffdf7d57d20,

    req=req@entry=0x7ffdf7d57cd0) at ofproto/ofproto.c:5858

#4  0x00007f6a06e792c2 in handle_flow_mod (ofconn=ofconn@entry
=0x55b289d528c0,

    oh=oh@entry=0x55b289d5a410) at ofproto/ofproto.c:5835

#5  0x00007f6a06e7a173 in handle_openflow__ (msg=0x55b289d351d0,

    ofconn=0x55b289d528c0) at ofproto/ofproto.c:8127

#6  handle_openflow (ofconn=0x55b289d528c0, ofp_msg=0x55b289d351d0)

    at ofproto/ofproto.c:8296

#7  0x00007f6a06e6a013 in ofconn_run (

    handle_openflow=0x7f6a06e796f0 <handle_openflow>, ofconn=0x55b289d528c0)

    at ofproto/connmgr.c:1446

#8  connmgr_run (mgr=0x55b289d14fe0,

    handle_openflow=handle_openflow@entry=0x7f6a06e796f0 <handle_openflow>)

    at ofproto/connmgr.c:365

#9  0x00007f6a06e73056 in ofproto_run (p=0x55b289cecc28)
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to