Commit Graph

2259 Commits

Author SHA1 Message Date
Stepan Blyshchak
81cf33231f [build]: Improve dockerfile instructions (#3048)
- create a dockerfile-marcros.j2 file with all common operations
  written as j2 macro
- use single dockerfile instruction for COPY and RUN commands
  when possible to improve build time
- reorganize dockerfile instructions to make more cache friendly
  (in case someday we will remove --no-cache to build docker images)

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-06-22 11:26:23 -07:00
Pavlo Yadvichuk
817c6370bf [frr.conf] Advertise /64 prefix for ipv6 lo addresses in case 'unified' config mode (#3045)
Signed-off-by: Pavlo Yadvychuk <pyadvychuk@barefootnetworks.com>
2019-06-22 10:29:41 -07:00
Myron Sosyak
f4d07dc003 fixed BFN target build (#3061)
Signed-off-by: Myron Sosyak <msosyak@barefootnetworks.com>
2019-06-21 13:29:35 -07:00
Samuel Angebault
e680892f39 [build] Improve overlay check in Makefile (#3050)
Some kernels are built with overlayfs as a builtin and not a module.
For these the check via lsmod currently fails.
This improvement now checks the kernel configuration for the
CONFIG_OVERLAY_FS entry. Depending on the OS and kernel version the
build configuration can be in multiple places.
2019-06-20 09:20:34 -07:00
Stepan Blyshchak
1bcd54d38c [build]: Upgrade docker to 18.09 in stretch slave (#3049)
Also add an option to use docker buildkit for image build

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-06-20 09:19:33 -07:00
Qi Luo
69b8ad7be0 [submodule] update sonic-linux-kernel to 4.9.168-1+deb9u3 (#3034) 2019-06-19 14:20:38 -07:00
RAMA CHANDRA REDDY GADDAM
6370d64b3d [broadcom]: Check for broadcom platform sdk init ready during syncd start. (#2931)
- What I did
During boot/reload time, wait in a loop to check for bcm initialization.
Break the loop, once sdk is ready to process the 'bcmcmd' request (or) loop count reached the maximum value.

- How I did it
In the existing implementation during syncd start process will sleep for a fixed time (3 secs)
for sdk initialization to happen. But the time taken for sdk initialization is varying for different platforms.
To fix this issue, the syncd start process wait in a loop and check whether sdk is ready to process 'bcmcmd' command.

- How to verify it
Check for syncd process status and interface status.
Check for syslogs and no failures related to syncd should be present.
2019-06-19 01:25:37 -07:00
Michel Moriniaux
18544530d3 [FRR] Enable SNMP support (#2981)
This is a follow-up of sonic-snmpagent PR 92
Now that licensing issues have been solved FRR is distributed with SNMP
support compiled-in. This PR adds the last bits of configuration to get
the frr-snmp debian packages added to the docker container and the
config bits to enable the snmp module in FRR

This PR brings the functionality of being able to poll bgpd for routes
and peer status.

Signed-off-by: Michel Moriniaux <m.moriniaux@criteo.com>
2019-06-19 01:24:42 -07:00
Greg Paussa
c67c29f7ae [build]: Add missing 'rm -rf' to component Makefiles for clean rebuild (#3028)
* src/iproute2/Makefile
* src/python3/Makefile

These Makefiles do not properly clean out the src build subdirectory
prior to downloading the source code contents. This causes an error
during a rebuild following a 'make clean'.

Signed-off-by: Greg Paussa <greg.paussa@broadcom.com>
2019-06-19 00:18:12 -07:00
neethajohn
2e121f3329 [submodule]: Update submodule sonic-quagga (#3030)
Reduce the retry time for IPV6 connections to avoid reprogramming IPv6 routes after warm-reboot (#37)
2019-06-19 00:17:06 -07:00
Joe LeVeque
319d854e46 [baseimage]: Increase TMOUT for serial port connections to 15 minutes (#3032)
Increase TMOUT value in order to close inactive serial console connections after 900 seconds (15 minutes) of inactivity
2019-06-19 00:16:01 -07:00
lguohan
4bfc9eff41
[sonic-slave]: install openjdk-8 for jenkins slave (#3037)
Signed-off-by: Guohan Lu <gulv@microsoft.com>
2019-06-19 00:13:39 -07:00
Kebo Liu
8a08595006 [Pmon] Add new daemon "syseepromd" to pmon docker (#2866) 2019-06-18 11:02:24 -07:00
Qi Luo
e7b1988638
[submodule] update sonic-linux-kernel (#2985)
* [submodule] update sonic-linux-kernel
* update linux kernel version
* Fix many version strings
* update mellanox components (built with new kernel)
* [mlnx] add make files for SDK WJH libs
* Update arista driver submodule (#8)
Make the debian packaging point to a newer kernel version.
2019-06-18 10:00:16 -07:00
zhenggen-xu
d67c6d4bf7 Set the default mac ageing time to 600 seconds (#2365)
* Set the default mac ageing time to 300 seconds

The current mac ageing was disabled, this could lead the mac address
table to increase over time and lead to resource and performance issues.

Signed-off-by: Zhenggen Xu <zxu@linkedin.com>

* Update the default HW ageing timer to be 600 seconds.

This is to be on the safer side where ARP update interval
is 300 seconds and SONiC does not flood when ARP is aged out.

Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
2019-06-15 15:57:10 -07:00
Kebo Liu
c927517355 [Mellanox] Inject SDK libs dependency to pmon on Mellanox platform (#3000)
* inject sdk libs to pmon
* fix wrong code
2019-06-14 17:38:24 -07:00
pavel-shirshov
466334a8c9
[libteam]: Reimplement Warm-Reboot procedure (#3016)
* Update sonic-quagga submodule

* [libteam]: Reimplement Warm-Reboot procedure
2019-06-14 17:26:58 -07:00
Shuotian Cheng
a5aa3bb0a5
[Broadcom]: Update SAI version to 3.5.2.3 (#3014)
--Create/remove port fix
--Support SAI_PORT_ATTR_SERDES_IPREDRIVER
--Egress ACL fix for PFC storm restoration
--Memory corruption during warm reboot
--SAI_OBJECT_TYPE_TUNNEL_MAP_ENTRY removal fix
--Segfault/memory corruption fix during switch shutdown
--Directed boardcast fix
--Pre-emphasis value for Dell 6100

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2019-06-14 15:47:11 -07:00
Shuotian Cheng
f8a4efc3e1
[swss]: Update swss submodules change (#2995)
sonic-swss:
[vnet]: Extend Bitmap VNET test with "remove" flows (#900)
[vxlanorch] Ambiguous return code for removeNextHopTunnel (#880)
Address review comment: remove data member m_entriesCreated, which is introduced for dependancy resolution purpose. (#839)
Set LAG mtu value based on kernel netlink msg (#922)
[orchagent]: Remove try/catch for correct coredump file (#790)
[aclorch] unittest by gtest (#924)
[orchagent]: Added support of PFC WD for BFN platform (#823)
[vnetorch]: Fix tunnel route removal flow for bitmap VNET (#912)
pkill -9 zebra for frr warm restart VS test fix (#927)
swss-orchagent: add new orch for vnet routes/tunnel routes tables in CONFIG_DB  (#907)
[debian]: Do not build test when building with real SAI (#932)

sonic-swss-common:
Add schema for dot1p to tc mapping config table (#274)
Fix MIRROR_SESSION table macro name (#264)
[schema] Add VNET Route tables in config_db (#279)
[debian] increment debian compatibility to 10 to enable parallel package build (#280)
White-list clear_stats op from orchagent to syncd (#281)
Correct comment (#282)

sonic-sairedis:
[debian]: Change build order in target binary (#452)
[debian] increment debian compatibility to 10 to enable parallel package build (#461)
Full sleep wait flex counter polling thread when POLL_COUNTER_STATUS is disable (#462)
add support for SAI_ATTR_VALUE_TYPE_ACL_CAPABILITY (#460)
Check if port VID exists in db on flex counter query (#464)
Full sleep wait change for PFC watchdog (#465)
Add synchronous clear_stats operation path (#463)
Modify sai_create_port to breakout a port for virtual switch (#454)
Fix typo  (#467)

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2019-06-14 10:21:28 -07:00
lguohan
8f6ae90cba
[docker]: get hostname from config db instead of minigraph (#3004)
minigraph may not be always available on the some system configuration.
Should use config db as the source of truth.
2019-06-13 22:24:09 -07:00
Stepan Blyshchak
383fc0fa4b [FRR] fix pfx_filter to fix bgpd.conf.j2 rendering when no vlan interfaces (#2994) 2019-06-13 19:04:45 -07:00
Joe LeVeque
f5f7fb38b8
[gitignore] Ignore .DS_Store files (#2997) 2019-06-13 16:00:30 -07:00
Jipan Yang
ab5afad6a6 [FRR]: enable bgp graceful-restart preserve-fw-state for FRR warm reboot support on T0 (#2998)
Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>
2019-06-12 22:51:27 -07:00
Stephen Sun
95452b7385 [docker-pmon] install dmidecode tool to pmon (#2990) 2019-06-12 12:10:43 +03:00
brandonchuang
4ce3cc864a [devices]: Add lpmode in sfputil.py for Accton AS7816 (#2989)
Signed-off-by: brandon_chuang <brandon_chuang@edge-core.com>
2019-06-12 01:37:29 -07:00
Renuka Manavalan
cdca062693 [build]: Build sonic-broadcom.bin using debug dockers for all stretch based dockers (#2833)
* Updated Makefile infrastructure to build debug images.
As a sample, platform/broadcom/docker-orchagent-brcm.mk is updated to add a docker-orchagent-brcm-dbg.gz target.

Now "BLDENV=stretch make target/docker-orchagent-brcm-dbg.gz" will build the debug image.

NOTE: If you don't specify NOSTRETcH=1, it implicitly calls "make stretch", which builds all stretch targets and that would include debug dockers too.

This debug image can be used in any linux box to inspect core file. If your module's external dependency can be suitably mocked, you my even manually run it inside.

"docker run -it --entrypoint=/bin/bash e47a8fb8ed38"

You may map the core file path to this docker run.

* Dropped the regular binary using DBG_PACKAGES and a small name change to help readability.

* Tweaked the changes to retain the existing behavior w.r.t INSTALL_DEBUG_TOOLS=y.

When this change ('building debug docker image transparently') is extended to all dockers, this flag would become redundant. Yet, there can be some test based use cases that rely on this flag.

Until after all the dockers gets their debug images by default and we switch all use cases of this flag to use the newly built debug images, we need to maintain the existing behavior.

* 1) slave.mk - Dropped unused Docker build args
2) Debug template builder: renamed build_dbg_j2.sh to build_debug_docker_j2.sh
3) Dropped insignifcant statement CMD from debug Docker file, as base docker has Entrypoint.

* Reverted some changes, per review comments.
"User, uid, guid, frr-uid & frr-guid" are required for all docker images, with exception of debug images.

* Get in sync with the new update that filters out dockers to be built (SONIC_STRETCH_DOCKERS_FOR_INSTALLERS) and build debug-dockers only for those to be built and debug target is available.

* Mkae a template for each target that can be shared by all platforms.
Where needed a platform entry can override the template.
This avoids duplication, hence easier to maintain.

* A small change, that can fit better with other targets too.
Just take the platform code and do the rest in template.

* Extended debug to all stretch based docker images

* 1) Combined all orchagent makefiles into one platform independent make under rules/docker-orchagent.mk
2) Extened debug image to all stretch dockers

* Changes per review comments:
1) Dropped LIBSAIREDIS_DBG from database, teamd, router-advertiser, telemetry, and platform-monitor docker*.mk files from _DBG_DEPENDS list
2) W.r.t docker make for syncd, moved DEPENDS from template to specific makefile and let the template has stuff that is applicable to all.

* 1) Corrected a copy/paste mistake

* Fixed a copy/paste bug

* The base syncd dockers follow a template, which defines the base docker as DOCKER_SYNCD_BASE instead of DOCKER_SYNCD_<platform code>. Fix the docker-syncd-<mlnx, bfn>.mk to use the new one.

[Yet to be tested locally]

* Fixed spelling mistake

* Enable build of dbg-sonic-broadcom.bin, which uses dbg-dockers in place of regular dockers, for dockers that build debug version. For dockers that do not build debug version, it uses the regular docker.

This debug bin is installable and usable in a DUT, just like a regular bin.

* Per review comments:
  1) Share a single rule for final image for normal & debug flavors (e.g. sonic-broadcom.bin & sonic-broadcom-dbg.bin)
  2) Put dbg as suffix in final image name.
  3) Compared target/sonic-broadcom.bin.logs with & w/o fix to verify integrity of sonic-broadcom.bin
  4) Compared target/sonic-broadcom.bin.logs with sonic-broadcom-dbg.bin.log for verification

This fix takes care of ONIE image only. The next PR will cover the rest.
The next PR, will also make debug image conditional with flag.

* Updated per comments.
Now that debug dockers are available, do not need a way to install debug symbols in regular dockers.

With this commit, when INSTALL_DEBUG_TOOLS=y is set, it builds debug dockers (for dockers that enable debug build) and the final image uses debug dockers. For dockers that do not enable debug build, regular dockers get used in the final image.

Note:
The debug dockers are explicitly named as <docker name>-dbg.gz. But there is no "-dbg" suffix for image.
Hence if you make two runs with and w/o INSTALL_DEBUG_TOOLS=y, you have complete set of regular dockers + debug dockers. But the image gets overwritten.
Hence if both regular & debug images are needed, make two runs, as one with INSTALL_DEBUG_TOOLS=y and one w/o. Make sure to copy/rename the final image, before making the second run.
2019-06-12 01:36:21 -07:00
Stepan Blyshchak
44bc083cde [mlnx] change egress pool size from 40M to 37M (#2992)
new FW/SDK limits pool size to 37M

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-06-12 01:23:54 -07:00
Nazarii Hnydyn
ee7b4a20e5 [FRR]: Aligned configs for unified/separated modes. (#2987)
* [FRR]: Aligned configs for unified/separated modes.
* Fixed IPv6 neighbors issue: #2986

Signed-off-by: Nazarii Hnydyn <nazariig@mellanox.com>
2019-06-12 01:09:31 -07:00
SuvarnaMeenakshi
0f665bdd06 [baseimage] kernel oom-killer to panic when the system is truly out of memory (#2988)
- What I did
Currently when the system is under memory pressure, the OOM killer kicks in and kills a rogue process. Killing a rogue process can cause the device to be un-healthy leading to blackholing of the traffic.

To avoid this, configure the OOM to do a kernel panic which will cause the device to reboot and come back up healthy.

- How I did it
Added the sysctl variable panic_on_oom and set the value to 2.
Setting it to 2 will ensure OOM killer to always do a kernel panic.
2019-06-11 16:19:49 -07:00
Prince Sunny
231d309b69
Generate interface table to have an entry designated to default VRF. (#2848)
* Generate default VRF table for router interfaces

* Updated jinja2 template to have prefix filter
2019-06-10 14:02:55 -07:00
Olivier Singla
708999ad61 [devices]: Add Broadcom XLR/GTS (BCM9COMX2XMC) support for Tomahawk switch (BCM956960K) (#2682)
These patches add support for the Broadcom XMC card (XLR/GTS). At this moment
only Tomahawk switch (BCM956960K) is supported. Add
device/broadcom/x86_64-bcm_xlr-r0 and
platform/broadcom/sonic-platform-modules-brcm-xlr-gts files
2019-06-09 12:09:31 -07:00
Sudharsan D.G
3d2955a184 [xrcvd]: add media settings checker and settings for z9100 (#2713)
Modifying media settings file according to latest design
2019-06-08 21:29:27 -07:00
lguohan
fa3ea537e7
[docker-saiserver]: upgrade docker saiserver to stretch for brcm/mlnx (#2983) 2019-06-08 16:27:19 -07:00
pavel-shirshov
900f93e149 [submodule]: Update sonic-quagga submodule (#2984) 2019-06-08 15:29:18 -07:00
Sudharsan D.G
9dc1cc76fd [submodule]: Updating submodule pointers for pre-emphasis feature (#2978)
Advancing sub module pointers to dynamic transceiver support feature commit.

- src/sonic-swss
f437f9f..d616764

[policerorch]: Add PolicerOrch to bundle with mirror session (889)
Fix MIRROR_SESSION table macro name (802)
Ignore neighbor entry with BCAST MAC, check SAI status exists (914)
[vstest]: Update the mirror session state table name (917)
[test]: Skip tests under investigation (919)
[debian] increment debian compatibility to 10 to enable parallel package build (911)
[aclorch]: Add MIRROR_DSCP table type (906)
[test]: Mark some VLAN tests as Stretch only (903)
[warm restart assist] assume vector values could be reordered (921)
Suppress storm detect counter increment for ongoing pfc storm case during a warm reboot (869)
Fix vlan incremental config and add vs test cases (799)
Remove *_LEFT fields to allow PFC watchdog to enter fresh into the (897)
add dynamic transceiver tuning support (821)

- src/sonic-platform-common
92b54b1..7f95a2a

Enhance new platform API (19)
Add .gitignore file (28)
[sonic_platform_base] Add sonic_sfp and sonic_eeprom to sonic_platform_base (27)
Added type abbrev name to be used in media_settings.json for Dynamictransceiver tuning (32)

- src/sonic-platform-daemons
c8931f3..366ac0e

Fixed xcvrd shutdown flow. (23)
Add .gitignore file (27)
Dynamic transceiver tuning support (26)
2019-06-07 16:46:25 -07:00
Samuel Angebault
df063bd78d [device/Arista] Add initial support for platform API (#2964)
* Congregate plugin scripts for Arista platforms

* Update arista driver submodules

Pulls new platform API related changes
2019-06-07 09:01:09 -07:00
brandonchuang
4073e8fa64 [device][platform] add platform as5835-54x, accton. (#2977)
Signed-off-by: brandon_chuang <brandon_chuang@edge-core.com>
2019-06-07 09:00:12 -07:00
Karthik Gengan
f7774bec6b [device]: DellEmc-S6000 : Back-end work for last reboot reason (#2974)
* DellEmc-S6000 Backend work for lastreboot reason
2019-06-07 08:59:54 -07:00
Stephen
bf2c9cd099 [Mellanox]Remove the dependency on sysfs for sfputil (#2967)
* [sfputil]Remove the dependency on sysfs for sfputil, mainly get_presence and port_to_eeprom_mapping
Remove the dependency on sysfs, including:
1. rewrite get_presence by using ethtool;
2. remove interface port_to_eeprom_mapping which is no longer referenced;
3. remove code that references port_to_eeprom_mapping and _port_to_eeprom_mapping;
4. remove private member qsfp_sysfs_path which is no longer referenced.

* [sfputil.py]
minor adjustment: move the presence=False to the beginning of get_presence.
2019-06-07 06:21:03 -07:00
Samuel Angebault
d84aa49d38 [device/Arista] Add HwSku profiles for the 7060PX-32 (#2973)
* Add port configuration for HWSKU Arista-7060PX4-O32

* Add 64x100G configuration for 7060PX4-32
2019-06-06 15:38:11 -07:00
Myron Sosyak
3ec95e17c8 [build_templates] [hostcfgd] Keep containers hostname up to date (#2924)
* Add updateHostName function to docker_image_ctl.j2
* Add hostname specification on container creating step
* Add listener for hostname changes in hostcfgd

Signed-off-by: Myron Sosyak <msosyak@barefootnetworks.com>
2019-06-06 00:41:30 -07:00
Roy Lee
4f85c7cd5f [devices/accton]:bugfix: potential i2c fault from IC IR3570a (#2966)
Disabling i2c function of ir3507a which may failed i2c tranfer to others.
Signed-off-by: roy_lee <roy_lee@accton.com>
2019-06-05 12:47:22 -07:00
Kebo Liu
bd519322cb [Mellanox] Expose SDK share buffer and unix socket from syncd (#2951)
* expose SDK share buffer and unix socket from syncd
* fix PR comments
* fix community comments and add TODO
2019-06-05 11:19:56 -07:00
Joe LeVeque
42591718b5 [slave.mk] Fix typo for STRETCH_DEBS_PATH for linux-kernel (#2971) 2019-06-05 09:31:29 -07:00
Wenda Ni
2e4b95867e
Advance sonic-sairedis reference pointer (#2969)
Signed-off-by: Wenda Ni <wenni@microsoft.com>
2019-06-04 16:57:05 -07:00
yorke
6dbae0e3cd [libteam] Upgrade libteam to 1.28-1 and reorganize patches (#2956)
Signed-off-by: yorke <yorke.yuan@asterfusion.com>
2019-06-04 12:55:26 -07:00
Joe LeVeque
552684fc08
[dhcp_relay] Add support for DHCP client(s) on one VLAN and DHCP server(s) on another (#2946) 2019-06-03 14:26:45 -07:00
Sumukha Tumkur Vani
2e9b18db10 [sonic-cfggen]: Fix for management port speed issue (#2945) 2019-06-01 12:31:14 -07:00
lguohan
f40795a5be [docker-frr]: Fix frr separated and unified configuration mode (#2962) 2019-06-01 09:33:52 -07:00
Karthik Gengan
91b1948b17 [devices]: DellEmc: Z9264f Pre-emphasis and Led settings (#2959) 2019-05-31 08:23:27 -07:00