Comment 5 for bug 1423848

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

Reviewed: https://review.opencontrail.org/8032
Committed: http://github.org/Juniper/contrail-controller/commit/9d44b8f521cf02f70ecb7cd628754c64b8de3b9a
Submitter: Zuul
Branch: master

commit 9d44b8f521cf02f70ecb7cd628754c64b8de3b9a
Author: Hari <email address hidden>
Date: Tue Mar 3 21:29:48 2015 -0800

Merge the following commits from R2.1 branch (final).

Perf improvements for Logical Interface delete handling

Follow up on commit b4af4d67cef56ac85da5bb0d50bb55f882c70538 for delete
handling

When a link delete is notified to config listener, the IFMapNode in link
can be NULL. We used to ignore links with left/right node deleted.

Modified the link handler to pass the node-type when left/right node is
deleted. This way, the IFLinkToReq handler can take action based on the
type of node being deleted
(cherry picked from commit f1d7816dbdc886859caec5152d2b436ad4fb2a96)

Conflicts:
src/vnsw/agent/test-xml/test_xml_oper.cc

Holding the UUID from ID_PERMS in config DBState in DB Add and using it
for Config Delete
closes-bug: #1420209
(cherry picked from commit 6a9b4be6a0dcfb3980bd072a57f92761a548eb9c)

* Send ARP request packet on VMI interface instead of parent interface
such that vlan gets added, based on transmit vlan id
* If vlan-id is 0, then its treated as untagged interface, in agent
while framing the packet we were setting the tag in packet 0
avoiding the same same setting vlan id as invalid and programming
it as vlan-id 0 only in vrouter
Closes-bug:#1423122
(cherry picked from commit 38f1405b27e05e5d31a2ae6297ca42d915b368bd)

* If arp route is deleted twice, then we arp nexthop was not
getting deleted, since upon each arp route delete we enqueue
a request to modify nexthop to invalid and this might
result in arp entry creation, hence use operation RESYNC
instead of add/change
* Check for vrf while parsing on subnet address change, since
we might modify next vrf subnet routes if prefixx matches
Test case for same
Closes-bug:#1423502
(cherry picked from commit a65d557c27d15de5d7d0bf30fdc5a20fa93acf42)

Conflicts:
src/vnsw/agent/test/test_route.cc

reverting the unwated checkin of modifying the notify_count_ to bool

(cherry picked from commit 975f507d81ce89106814f4fced1d14b454dcdd5a)

* Whenever ICMP error packet is trapped for flow setup,
parse the inner payload and frame the flow key
Closes-bug:#1423848
(cherry picked from commit 81ee64728201b1d8234d790772ab3035874c1f5d)

* ARP route behind gateway should have proxy flag set
such that arp request on VM would be proxied by vrouter
Closes-bug:#1423122
(cherry picked from commit e72443e1a73d3372944981f15941e97a5a9f439f)

Remove unused UVEs

Remove UVE generated on add/delete of a link
Remove UVE generated on change of physical-device-vn entry.
Added a UT for physical-device-vn to validate add/delete of VMI to VN link

(cherry picked from commit 452b9341668f0a89455cc5e1847c0c7d70f0d3b2)

Holding the metadata of link while storing it in defer list. While
adding the link to Graph from defer list, the metadata also added back
to graph which makes the dependency tracker to work correctly

(cherry picked from commit 43d7a71e1c486a3c326d16e16134c25312b4953f)

Optimize config handling for SG and ACL

Follow up to commit
https://github.com/Juniper/contrail-controller/commit/b4af4d67cef56ac85da5bb0d50bb55f882c70538

On any change or link add/delete to a SG, we are invoking IFNodeToReq
for all connected VMI. Fix this by registering link handler for SG and
invoke IFNodeToReq only for peer VMI

On any change or link add/delete to a ACL, we are invoking IFNodeToReq
for all connected SG and VN. Fix this by registering link handler for ACL
and invoke IFNodeToReq only for peer SG / VN
(cherry picked from commit 0d33ec13e576165f68ff172a62b6dfb8cc73774f)

* In a scenario where there are 2 vgw exporting same subnet route,
and traffic session gets initiated from external domain to
VM, then for setting reverse flow agent was trying to get policy
enabled interface nexthop for vgw, and for vgw we would only
create policy disabled nh. Fixing the same to pick
policy disabled nexthop for vgw destination
Closes-bug:#1425856

(cherry picked from commit f000a7fcd9c99fff809c87d3f30ed7e162ace1a8)

Fix Tor-Agent assert for KSyncEntry GetReference

Issue:
------
On connection close delete is triggered for all the KSync
Objects, creation of entry after this deletion in not
allowed.
Here Logical Switch Object is deleted and Unicast Remote
Entry Table is yet to receive a delete, in the meanwhile
a route table entry get notified and tries to take create
a temp entry for reference in Logical Switch Entry which
is already deleted

Fix:
----
Since delete trigger for Unicast Remote Entry Table happens
in context of VRF table walk, which will have a yeild in
between. during this time if a notification for route table
happens, it needs to be ignored.

Also fixing a memory leak in idl deletion path

Closes-Bug: 1424531
(cherry picked from commit d4ba9892ae816dc0b4d59d6dd7e3350d3b3a1745)

DHCP enable/disable bug fixes

1) Fix bug where dhcp enable flag toggling was not reflected in route -
Toggling of DHCP enable in interface results in route rebake. Also flag for
handle_dhcp is now moved from path to route.
2) Remove mac VM binding, instead add a route with DHCP peer path which can be
used to get binding. This path is having discard NH.
Closes-bug: #1417131

Conflicts:

 src/vnsw/agent/oper/operdb_init.h
 src/vnsw/agent/test-xml/test_xml_oper.cc
 src/vnsw/agent/test/test_route.cc

Rename Dhcp path/peer to MacVmBinding.

Change-Id: I0643612ca907b85c548d4132502e00ca1498fdc1