BUG 6387: Traffic drop in 17 in serviceChain 80/43680/3
authorSuraj Ranjan <suraj.ranjan@ericsson.com>
Thu, 11 Aug 2016 06:19:40 +0000 (11:49 +0530)
committerSuraj Ranjan <suraj.ranjan@ericsson.com>
Thu, 11 Aug 2016 08:39:37 +0000 (14:09 +0530)
commit24ab1db3b367a04e44865668536b6898bcc2e792
treebac07b2acf4b094e3eaac73d077f5e10f988fa8d
parentde3d70d8e19863794b5c1af594526801e1666d04
BUG 6387: Traffic drop in 17 in serviceChain

 Analysis:
    In a non servicechain scenario, packets get to LFIB and are sent over
    the corresponding port.
    In ServiceChain scenario, there are new Flows in LFIB, with higher priority,
    that sends the packet to 17 which, in turn, is redirecting it to SCF Pipeline.
    However, no SC matches and packets are submitted back to 17. Since packets
    have not changed, they get in a loop between 17 and 70.

 Solution:
    Table-miss in 70-75 tables must change the SI to L3VPN, so that when
    the packet gets back to 17, they are redirected to FIB table.
    Also, entries in 17 that handle packets that match no SC must be
    programmed in all CSS where the VPN has footprint, not just in the
    CSS where the last vSF in the chain is located.

Change-Id: I1cfc2973049746019a310ef3b106a5e416f24f04
Signed-off-by: Suraj Ranjan <suraj.ranjan@ericsson.com>
vpnservice/cloud-servicechain/cloud-servicechain-impl/src/main/config/default-config.xml
vpnservice/cloud-servicechain/cloud-servicechain-impl/src/main/java/org/opendaylight/netvirt/cloudservicechain/CloudServiceChainConstants.java
vpnservice/cloud-servicechain/cloud-servicechain-impl/src/main/java/org/opendaylight/netvirt/cloudservicechain/CloudServiceChainProvider.java
vpnservice/cloud-servicechain/cloud-servicechain-impl/src/main/java/org/opendaylight/netvirt/cloudservicechain/VPNServiceChainHandler.java
vpnservice/cloud-servicechain/cloud-servicechain-impl/src/main/java/org/opendaylight/netvirt/cloudservicechain/listeners/NodeListener.java [new file with mode: 0644]
vpnservice/cloud-servicechain/cloud-servicechain-impl/src/main/java/org/opendaylight/netvirt/cloudservicechain/listeners/VpnToDpnListener.java [new file with mode: 0644]
vpnservice/cloud-servicechain/cloud-servicechain-impl/src/main/java/org/opendaylight/netvirt/cloudservicechain/utils/VpnServiceChainUtils.java
vpnservice/cloud-servicechain/cloud-servicechain-impl/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/cloud/servicechain/impl/rev151211/CloudServiceChainImplModule.java
vpnservice/cloud-servicechain/cloud-servicechain-impl/src/main/yang/cloud-servicechain-impl.yang
vpnservice/cloud-servicechain/cloud-servicechain-impl/src/test/java/org/opendaylight/netvirt/cloudservicechain/VPNServiceChainHandlerTest.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnManager.java