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)
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)
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
Reviewed: https:/ /review. opencontrail. org/8032 github. org/Juniper/ contrail- controller/ commit/ 9d44b8f521cf02f 70ecb7cd628754c 64b8de3b9a
Committed: http://
Submitter: Zuul
Branch: master
commit 9d44b8f521cf02f 70ecb7cd628754c 64b8de3b9a
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 b4af4d67cef56ac 85da5bb0d50bb55 f882c70538 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 59caec5152d2b43 6ad4fb2a96)
deleted. This way, the IFLinkToReq handler can take action based on the
type of node being deleted
(cherry picked from commit f1d7816dbdc8868
Conflicts: agent/test- xml/test_ xml_oper. cc
src/vnsw/
Holding the UUID from ID_PERMS in config DBState in DB Add and using it 980bd072a57f927 61a548eb9c)
for Config Delete
closes-bug: #1420209
(cherry picked from commit 6a9b4be6a0dcfb3
* Send ARP request packet on VMI interface instead of parent interface d31a2ae6297ca42 d915b368bd)
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 38f1405b27e05e5
* If arp route is deleted twice, then we arp nexthop was not 5d7d0bf30fdc5a2 0fa93acf42)
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 a65d557c27d15de
Conflicts: agent/test/ test_route. cc
src/vnsw/
reverting the unwated checkin of modifying the notify_count_ to bool
(cherry picked from commit 975f507d81ce891 06814f4fced1d14 b454dcdd5a)
* Whenever ICMP error packet is trapped for flow setup, 8234d790772ab30 35874c1f5d)
parse the inner payload and frame the flow key
Closes-bug:#1423848
(cherry picked from commit 81ee64728201b1d
* ARP route behind gateway should have proxy flag set 2944981f15941e9 7a5a9f439f)
such that arp request on VM would be proxied by vrouter
Closes-bug:#1423122
(cherry picked from commit e72443e1a73d337
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 452b9341668f0a8 9455cc5e1847c0c 7d70f0d3b2)
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 43d7a71e1c486a3 c326d16e16134c2 5312b4953f)
Optimize config handling for SG and ACL
Follow up to commit /github. com/Juniper/ contrail- controller/ commit/ b4af4d67cef56ac 85da5bb0d50bb55 f882c70538
https:/
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 f68ff172a62b6df b8cc73774f)
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 0d33ec13e576165
* 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 f000a7fcd9c99ff f809c87d3f30ed7 e162ace1a8)
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 0b4d59d6dd7e335 0d3b3a1745)
(cherry picked from commit d4ba9892ae816dc
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 agent/test- xml/test_ xml_oper. cc agent/test/ test_route. cc
src/vnsw/
src/vnsw/
Rename Dhcp path/peer to MacVmBinding.
Change-Id: I0643612ca907b8 5c548d4132502e0 0ca1498fdc1