On Mon, Mar 21, 2016 at 11:23 AM, Russell Bryant <russ...@ovn.org> wrote:

>
>
> On Mon, Mar 21, 2016 at 11:16 AM, Guru Shetty <g...@ovn.org> wrote:
>
>>
>>
>> On 21 March 2016 at 07:54, Russell Bryant <russ...@ovn.org> wrote:
>>
>>> Update the "ct_commit;" logical flow action to optionally take
>>> one or two parameters, setting the value of "ct_mark" or "ct_label".
>>> Supported ct_commit syntax now includes:
>>>
>>>     ct_commit;
>>>     ct_commit();
>>>     ct_commit(ct_mark=1);
>>>     ct_commit(ct_label=1);
>>>     ct_commit(ct_mark=1, ct_label=1);
>>>
>>> Setting ct_mark via this type of logical flow results in an OpenFlow
>>> flow that looks like:
>>>
>>>
>>> actions=ct(commit,zone=NXM_NX_REG5[0..15],exec(set_field:0x1->ct_mark))
>>>
>>> Similarly, setting ct_label results in:
>>>
>>>
>>> actions=ct(commit,zone=NXM_NX_REG5[0..15],exec(set_field:0x1->ct_label))
>>>
>>
>> I think this feature makes it tricky to share zones with other stateful
>> additions. If you want to commit only once for all stateful services, then
>> set-field for ct_mark and ct_label will need to be loaded to registers in
>> advance, which I guess would mean that you loose 2 registers for this
>> purpose.
>>
>
> Do you have any thoughts on how I could change this to cause you less pain
> on the LB series?  The next patch shows how this is used.  In practice, it
> only uses ct_label.
>

I seem to recall that you had used 2 registers, but then Ben pointed out
that you could just use 2 bits of a single register.  The next patch only
uses a single bit of ct_label, so it could just use another bit out of an
"OVN bit flags" register to signal the value of ct_label.

-- 
Russell Bryant
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to