wdp-xflow: Copy client_data from old rule to new rule when displacing a rule.
authorBen Pfaff <blp@nicira.com>
Fri, 14 May 2010 22:01:06 +0000 (15:01 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 14 May 2010 22:01:06 +0000 (15:01 -0700)
commit2eeb6e08decb2dd3e793647a38596950278a1610
tree97d0d2549832f17bba5486966b33245a2cb9421f
parent99f4a6f223e937cad4e66c12d8355e5e10da1ca3
wdp-xflow: Copy client_data from old rule to new rule when displacing a rule.

If client_data is not copied when a new rule displaces an old one, then
the old rule's client data will be leaked and the new rule will have a null
pointer.  This causes a segfault with, e.g.:

    ovs-ofctl add-flow br0 "dl_type=0x800,nw_dst=10.245.7.0/16,actions=output:148"
    ovs-ofctl mod-flows --strict br0 "dl_type=0x800,nw_dst=10.245.7.0/16,actions=output:149"
    ovs-ofctl del-flows --strict br0 "dl_type=0x800,nw_dst=10.245.7.0/16"

Reported by partner.
ofproto/wdp-xflow.c