Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

R3.2.3.x #762

Open
wants to merge 111 commits into
base: R3.2
Choose a base branch
from
Open

R3.2.3.x #762

wants to merge 111 commits into from

Conversation

ananth-at-camphor-networks
Copy link
Contributor

No description provided.

vmahuli and others added 30 commits June 6, 2017 23:52
Change-Id: I5f22cdb4d021eb6f16ccbcd900fba4cdf63fe4a9
Change-Id: If61f183236d16a1c10181284e63d42f5d2eee9b0
Change-Id: Id519f13a37d2252255b7c2baa0fe103eeefe8ed4
Closes-Bug: 1685954
Closes-Bug: 1685040
https://tools.ietf.org/html/draft-ietf-idr-bgp-gr-notification-10

Attempt GR Helper mode for all received notifications (and hold-timer expiry)
except HardReset and PeerDeconfigured.

Always send Notifications. NotificationFlag support has been in JUNOS already
for a while. Older versions of control-node already skips most of the
notifications received (and triggers GR helper mode)

Also fix a couple of nits found by cpplint

Closes-Bug: 1680047
Change-Id: Ic0462e9483dda8ee2f6c1be503bf1c120c3d6786
(cherry picked from commit c45ed8b)
receives body without 'resource' key. Simulate one and ensure any
port association is cleared in such a case.

Change-Id: I7ab14cb45b4896ddd4039f1343178d1984a4ca13
Closes-Bug: 1685314
(cherry picked from commit 4a2080d)
If the IP address is different, then it implies mis-configuration of
the xmpp agents. In such cases, drop new connection request and
retain existing connection intact

Since xmpp tasks run concurrently (across different IP addresses),
use a XmppConnectionManager scoped mutex to solve concurrency issues
among such parallel xmpp connection requests processing

Also increase severity of a couple of related log messages

Re-enable and fix few UTs that test this very exact scenario

Closes-Bug: #1687096

Change-Id: Ic7252060abfc4b34fa184ff163afc217a88bb40c
If all policies are removed from a network, we were not setting
the acl counts back to 0. We should initialize it to 0 before
evaluating policies.

Change-Id: Ie1575095ca117346b3deefa7fe7d22e0ed59c492
Closes-Bug: 1685458
(cherry picked from commit cb6f312)
Config: Address pairs should not be allowed when port security
        is not enabled

Change-Id: I211bd7e89d82633bb6701ddb55d1527633ea246d
Closes-Bug: 1685030
to route-target for any configured route-target values.

Change-Id: Ida9bb18c40bf5576fc11c1dcb536b6a3db806f5a
Closes-Bug: 1687824
When a UVE object gets deleted, any alarms associated with that UVE object
also gets deleted. However, the corresponding UVE key is not removed from the
alarm table in contrail-alarm-gen, resulting in duplicate alarm delete
messages being sent continuously.

Change-Id: I598f58687179d82c11f531b337508385098c9036
Closes-Bug: #1615782
Change-Id: I3d60d02f230ccc188ebbda58701423d5120024e4
Closes-Bug: 1685734
Send VN UUID, vlan tags and parent interface name in VMI UVE
Closes-Bug: #1673490

Change-Id: I47597fb83278d4f322e5d7257576381e86a77e2f
arriving in TCP so taking off the support. The reason being, unlike
UDP, TCP sockets read multiple syslog messages in one read until
the buffer gets full. This can toss our parsing code.
Closes-Bug:#1687475

Change-Id: I87c72e2154e5eecd19657a1de92c6c28b77fcd35
Problem:
On SI compute routes are imported from CN with ECMP NH.
These routes were not notifying change in load balance params if changed.

Solution:
Notify on change in ecmp hash fields.

Note:
Any change in hash fields gets applied to new flows. Existing flows continue to
use same index as computed before.

Closes-bug: #1643842

Conflicts:
	src/vnsw/agent/controller/controller_route_path.cc
Change-Id: I0216e12ba90b152c58deaaf67b477876eddfc9e8
Added description field for neutron objects.

Change-Id: I79969fb1b3b026bb0480d94900de72a9acf8372a
Closes-Bug: 1686476
Closes-Bug: 1685940
Updating default SG should not be allowed and should raise
a 'SecurityGroupCannotUpdateDefault' neutron exception.

We are only checking for this in neutron_plugin_db.py and
will still allow the update to default SG from vnc_api.

Closes-Bug: 1686496

Change-Id: I7eab47b0047dd2e35ec270572d75d38eac3d90bc
o Send GR capability even when configured restart-time is 0
o Enable GR helper even if received restart-time is 0

Fix a few issues in LLGR

o Process received notification code-subcode correctly and trigger
  GR/LLGR Helper mode accordingly
o Add UTs to cover most of the scenarios described above

Change-Id: Ibcef9c059408a61e8513b6a9f6e1d015128e6515
Closes-Bug: 1688133
When accessing control-node introspect,
bgp standard communities does not show up
that are configured as part of static routes.
It is seen that extended communities associated
with static routes override the bgp standard communities
in introspect.
Modify method FillRoutePathExtCommunityInfo
in /opt/stack/contrail/controller/src/bgp/bgp_route.cc
to avoid overwriting bgp standard communities.

Change-Id: I13f2d2b338a5464afd56ebc558036fea507b2394
Closes-Bug:1655088
* When both filters (network-id and device-id) are used, the
  vnc_openstack has to compare the device-id and the network-id. Both
  have to be present in the vmi_obj refs. The vnc_lib with both refs returns
  a result with an OR logical operation, therefore with the current comparison
  the vnc_openstack returns a result with an AND on both filters.
* Add a new conditional entry that manages the case if there is only the
  network-id provided in the filters.

Change-Id: I3054345a84caeb892e85a350533e4e600f353665
Closes-Bug: #1685764
(cherry picked from commit 8ff6c71)
Following changes are implemented:

- Use a vector instead of an array for BgpPeer buffer
- Make the vector capacity configurable via an env variable
- Add unit tests to exercise the new code

Change-Id: I6490dad8797b23dfb2d65a4681c1e1f663e0dd85
Closes-Bug: 1687442
Made keystone auth params optional so that it works for keystone and no-auth cases.

Change-Id: I83e255d057621d217d305c545285032a85bf2f59
Closes-Bug: #1677070
(cherry picked from commit cffa0bc)
These lists do not include BGPaaS peers.

Change-Id: Ie1a359bb5c1b84e6cb93cbbb6e7d0c05b44fd694
Closes-Bug: 1638065
Change-Id: I490a0919b8ffa8b07c91ee324a10569f7901109c
Closes-Bug: 1683548
Change-Id: I31f4e35d5588a746bd896ee06314f4680454eaf9
Closes-Bug: #1683672
(cherry picked from commit 9c182b4e57f78e8be48a7c890fa5ef019db2d223)
Added a check to see if router's and (port/subnet)'s tenant ids are
same at the time of adding an interface to a router.

Closes-Bug: 1686489

Change-Id: Ibc2fe74c6ce56e467aec87698077d145751f64cc
…k receives body without 'resource' key. Simulate one and ensure any port association is cleared in such a case." into R3.2.3.x
naveen-n and others added 29 commits December 7, 2017 02:15
Flow index passed in ECMP resolve trap could be -1 resulting in no
flow entry being present in agent. In such case agent was accessing a
invalid flow pointer, initializing the same.

Change-Id: I559b6be8f75bae87442517e6edab00868742e397
Closes-bug: #1717507
(cherry picked from commit da656c5)
(cherry picked from commit 45e8e93)
A flow is marked as reverse flow and its forward flow is NULL. Recompute flow
is accessing this forward flow causing the crash. Updating to ignore this case.

Change-Id: I08ac5beb3cc6b1879d8679d7a582ecf1eedb2286
closes-bug: #1719857
(cherry picked from commit 41779f4)
Flow addition and deletion to flow table happens in same task context,
addition happens in flow_event work queue and deletion from flow tree
and freeing of flow entry happens in tokenless_queue. For every flow
add message processed we would have 2 flow entry created, hence free
queue should process twice the no. of entries so as to relinquish
free entries inline with flow addition rate.

Change-Id: Ic99ced407594dec50b998d80e8e52b08876783f3
Closes-bug: #1728316
(cherry picked from commit 2030642)
When we have dual interfaces, v4 and v6 service health check addresses are
created and sent to agent. Agent oper data has only one service health check
address, which is a problem. Updating to use only the v4 address. Need to add
support for v6 health check separately.

Change-Id: Ia5c1973c500d1e6d5d89ca83c3a48b8d94c0e579
closes-bug: #1692283
(cherry picked from commit 93d5d4e)
If mac address of a port is chnaged via port-update API,
it is ignored. This fix handles the updating of the mac
address. Also, it ensures that the same mac address
does not exixt on any other port in the same virtual
network.

Change-Id: Iec9290e0bc4485f2d59c38b223ddc458679aa1f4
Closes-Bug: 1682672
Partial-Bug: 1683547
(cherry picked from commit 3905546)
…valuated in alarmgen. Closes-Bug: #1697745" into R3.2.3.x
Change-Id: I0c7821695cccffb60496a55b6e7af4a27ebfe5e2
Closes-Bug: #1747427
Change-Id: I9fa3f3f494ec2769cc03ec88987aa68903643999
Closes-Bug: #1735409
(cherry picked from commit ccdaf51)
(cherry picked from commit a6dfe12)
Change-Id: I6994be634e5b136d9ad78cb8a452bf81310cbf55
Closes-Bug: #1750795
Change-Id: Iebe0617e40a862d144c4d80cdc0d7d16970ac567
Closes-Bug: #1765599
…or task monitoring

Replace tbb::task::spawn() by tbb::task::enqueue(). enqueue() is more
appropriate call since task library just fires the task without calling
spawn_root_and_wait()

Also, introduced a TaskMonitor class which monitors number of tasks
enqueued to scheduler and number of tasks spawned by TBB. If the monitor
finds tasks are enqueued but not scheduled for a configured time, it
will exit the program.

Conflicts:
	src/base/task.cc
	src/base/task.h
	src/vnsw/agent/cmn/agent.cc
	src/vnsw/agent/contrail-vrouter-agent.conf
	src/vnsw/agent/init/agent_param.cc

Change-Id: Ia68d52f4aba0e79a3fe75f8c4fc248d49ab94faf
Closes-Bug: #1684993
(cherry picked from commit a2eb064)
 at present concurrency check is in place not to allow any task
 other than flow event task to free teh flow entry from free list.
 it is possible that flow log entry can be processed even after flow entry
 gets deleted ( log work queue entry holds flow entry pointer,
 so entry won't be freed until log queue entry gets processed)
 after processing log queue entry flow entry ref count becomes zero and
 it will freed up under flow logging task.

 added a check to allow only flow logging task and flow event task
 to free up the flow entry from flow table free list.

Closes-Bug: #1779841

Change-Id: I9ee65f27c2a56869b99919745b5bd3ef6dbb7092
it is possible that enqueued forward flow become reverse flow when
flows get evicted from vrouter and traffic is received for reverse flow,

made changes to pass gen_id also when flow is enquwqued for recompute
and when it gets processed for recompute , check whether gen id present
in the event and gen id of flow matches, if it does not match,
ignore the event.

Change-Id: Ib647a157ecd852a3520a90ffba5f392ae3b33e1e
Closes-Bug: #1768322
(cherry picked from commit e5df8e0)
In the crash seen in this bug, task monitor asserts although the task
activity seems to be going fine. Agent in not in gdb, no system time
change is seen (even if server is healvily loaded this should not be
seen). As no other task monitor bug is seen, increasing the timeout
to 20s.

Change-Id: Iceb277c2b25c3041175c158efa3cb1c4bbbf91d3
partial-bug: #1714744
(cherry picked from commit 28a0fa2)
Partial-Bug: #1603881
Change-Id: Iefe4d410cbf5cfda21510d44b6cafac8bd31c33f
(cherry picked from commit db50e81)
During testing, it was found that tbb sleeping threads singly linked
list was corrupted and had become circular. This seemingly caused
my_slack count to get permanently stuck at -1, as the sleeping list
traversal would potentially never end.

During testing, using a specific assert, it was confirmed that duplicate
insertion did happen.

Fixed it by modifying the sleeing threads singly linked list into a
doubly linked list and then making sure that a thread if already in
the list is never prepended back as the head of the list.

uxlfoundation/oneTBB#86

Change-Id: I3375b8be324245c329a9bd3a1f001a38576f617d
Closes-Bug: #1684993
This reverts commit 692d9e4

Change-Id: Id985be27253dd0aca929b4f75bc1a0ff292bc3f5
Closes-bug: #1683547
…t yeilding

due to which zookeeper/RabbitMQ is timing out. This change yields schema such
that it yields only if schema is runnning continuously half of zookeeper timeout
value. Also correcting zookeeper client timeout to 120sec to be insync with
zookeeper server timeout value.

Change-Id: Ibe2778191c73832a704474c1803fdbcead81426a
Closes-Bug: #1769728
In customer setup an ICMPv6 pkt was received with IPv4 header leading to crash.
Was able to repro the issue with UT test case added.

Change-Id: Id3c6c3c437ef068685dda0e9114806f5b2453955
Closes-Bug: #1792057
@pcarver
Copy link
Contributor

pcarver commented Dec 10, 2018

Contrail/Tungsten Fabric does not accept GitHub pull requests. All changes should be submitted via the Gerrit code review tool. If you're not familiar with Gerrit, take a look at section 4 of https://github.com/tungstenfabric/docs/blob/master/Contributor/GettingStarted/getting-started-with-opencontrail-development.md for more info.

The key points are that you need to login to https://review.opencontrail.org with an Ubuntu One account in order to establish your SSH public key. You need to clone the repos from Gerrit rather than (or in addition to) GitHub (or manually add an additional remote to an existing repo rather than cloning if you prefer). And you need to install and use the "git review" extension to Git in order to push changes to Gerrit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.