Thanks, applied and backported,~

On Wed, May 21, 2014 at 7:08 PM, Joe Stringer <joestrin...@nicira.com>wrote:

> Acked-by: Joe Stringer <joestrin...@nicira.com>
>
>
> On 22 May 2014 12:27, Alex Wang <al...@nicira.com> wrote:
>
>> Commit b256dc525c8 (ofproto-dpif-xlate: Cache xlate_actions() effects.)
>> caches the variables needed for refreshing mac-learning table in
>> xlate_normal().  Wherein, the cache entry always records reference to
>> the original 'ofproto'.
>>
>> When patch port is used to connect two 'ofproto's, packet goes through the
>> patch port will have two mac-learning cache entries created for each
>> 'ofproto'.  So, each entry should reference to the corresponding
>> 'ofproto'.
>> However, due to the bug mentioned above, all cache entries will refer to
>> the
>> same 'ofproto'.  Subsequently, the mac-learning tables can be corrupted,
>> which
>> causes connection loss.
>>
>> This commit fixes the bug by making each cache entry refer to the correct
>> 'ofproto'.
>>
>> Signed-off-by: Alex Wang <al...@nicira.com>
>> ---
>>  ofproto/ofproto-dpif-xlate.c |    2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
>> index a87db54..63b4741 100644
>> --- a/ofproto/ofproto-dpif-xlate.c
>> +++ b/ofproto/ofproto-dpif-xlate.c
>> @@ -1570,7 +1570,7 @@ xlate_normal(struct xlate_ctx *ctx)
>>
>>          /* Save enough info to update mac learning table later. */
>>          entry = xlate_cache_add_entry(ctx->xin->xcache, XC_NORMAL);
>> -        entry->u.normal.ofproto = ctx->xin->ofproto;
>> +        entry->u.normal.ofproto = ctx->xbridge->ofproto;
>>          entry->u.normal.flow = xmemdup(flow, sizeof *flow);
>>          entry->u.normal.vlan = vlan;
>>      }
>> --
>> 1.7.9.5
>>
>> _______________________________________________
>> dev mailing list
>> dev@openvswitch.org
>> http://openvswitch.org/mailman/listinfo/dev
>>
>
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to