Comment 8 for bug 1551576

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/18073
Committed: http://github.org/Juniper/contrail-controller/commit/25342616d863c06f405512574778d7ed3dd3de5f
Submitter: Zuul
Branch: R3.0

commit 25342616d863c06f405512574778d7ed3dd3de5f
Author: Manish <email address hidden>
Date: Tue Mar 1 17:37:51 2016 +0530

BGP service sessio gets reset intermittently.

Problem:
All BGP as service flows program flows with loose policy. This is to enable flow
lookup on non-tunneled traffic coming from fabric.
Say there is a VM and it has two bgp-sessions to CN1 and CN2. Both the session
will have reverse flow(fabric) which will have same nat-sport and
dport(bgp-port) with different destination IP. For loose policy vrouter programs
this nat-sport to bitmap which it uses to identify fabric traffic for flow
processing. When traffic comes from fabric it checks dport and if it matches to
nat port it has stored in bitmap vrouter pushes it for flow processing else dump
it to host interface.
Now if one session is teared down say CN2 in this case, reverse flow gets
aged out and in turn vrouter removes the nat port from bitmap. However for CN1
this reservation was still needed. In its absence packet coming from CN1 to VM
gets dumped to host interface(even though flow is present).

Solution:
Dont age the flow of bgp service and let it get deleted by config change of bgp
service object or vm interface deletion.

Change-Id: Id7adf0f1f7e2f7a0b3f3e4a68e092107d4edc259
Closes-bug: 1551576