Right now the BGP As A Service uses the same methodlogy as Link local
services and sets up the flow with link local flag. Once this flag is
set the destination port is added to a bit map by Vrouter and uses when
the packet arrives on Fabric to subject it to Flow. If the flag is
removed from the Flow entry, the port is removed from Bitmap. This
mechanism has a problem if multiple flows use the same destination port
with Link Local flag. Removing the flag from one flow removes the port
from bitmap and because of this packets belonging to other flow never
gets subjected to flow processing as the bitmap does not have the port
any more.
As a temporary fix, a new flag is introduced in flow entry. When this
flag is set, the port is added to bitmap and is never removed from
bitmap even if the flag is removed from flow entry. This way, even if
multiple flows use the same port there would not be any issues.
This fix would be revoked once a new messaging comes between Agent and
Vrouter.
Reviewed: https:/ /review. opencontrail. org/19264 github. org/Juniper/ contrail- vrouter/ commit/ a3aa608942e1e7e e77ea598594295d b2f1d883d2
Committed: http://
Submitter: Zuul
Branch: R3.0
commit a3aa608942e1e7e e77ea598594295d b2f1d883d2
Author: Divakar <email address hidden>
Date: Wed Apr 13 14:55:15 2016 +0530
Dont delete BGP as a service port once set
Right now the BGP As A Service uses the same methodlogy as Link local
services and sets up the flow with link local flag. Once this flag is
set the destination port is added to a bit map by Vrouter and uses when
the packet arrives on Fabric to subject it to Flow. If the flag is
removed from the Flow entry, the port is removed from Bitmap. This
mechanism has a problem if multiple flows use the same destination port
with Link Local flag. Removing the flag from one flow removes the port
from bitmap and because of this packets belonging to other flow never
gets subjected to flow processing as the bitmap does not have the port
any more.
As a temporary fix, a new flag is introduced in flow entry. When this
flag is set, the port is added to bitmap and is never removed from
bitmap even if the flag is removed from flow entry. This way, even if
multiple flows use the same port there would not be any issues.
This fix would be revoked once a new messaging comes between Agent and
Vrouter.
partial-bug: #1551576
Change-Id: I0474a91c3d1275 d542f3e4d2ae11b c15f62cdbcf