Since we move to FRR, we need to connect FRR with fpmsyncd via FPM.
Adding static routes is also required.
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
* Add boot0 support for the 7280CR3
* Add platform and plugins for 7280CR3
* Add port config for 7280CR3
* Add platform_reboot for 7280CR3
* Add support for 7280CR3-32D4 based on the 7280CR3-32P4
* Update arista driver submodules
- Introduce new 7280CR3-32P4
- Improve to the led plugin for OSFP
* [mlnx] fix mlnx-sfpd shutdown
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
* fix type and handle only EINTR and EAGAIN errors from select
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
* handle select.error as well during init/run
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
- Update README.md
- Improve reboot cause reporting on all platform
- Refactor parts of the library toward sonic_platform API support
- Add abstraction for fans
- Export consistent sysfs entries for fan airflow direction
- Bootstrap python testing of the driver library.
- Fix miscellaneous bugs
* [platform/cel] Implement FAN APIs based on the new platform API
* [platform/cel] Move platform api to under device platform
* [platform/cel] Remove rule to build platform api python wheel
* catch signal SIGINT and SIGTERM to set all fans full-speed before end fan monitor.
Signed-off-by: roy_lee <roy_lee@accton.com>
* Add fan_control monitor for as7816-64x.
Signed-off-by: roy_lee <roy_lee@accton.com>
* Fix typo.
Signed-off-by: roy_lee <roy_lee@accton.com>
* Correct typo and duty setting after verified.
Signed-off-by: roy_lee <roy_lee@accton.com>
* [frr]: change frr as default sonic routing stack
* fix quagga configuration
* [vstest]: fix bgp test for frr
* [vstest]: skip bgp/test_invalid_nexthop.py for frr
Signed-off-by: Guohan Lu <gulv@microsoft.com>
* Add bridge-utils to orchagent image
- Add vxlanmgrd to supervisorctl in docker -orchagent
Signed-off-by: Ze Gan zegan@microsoft.com
* Update submodule pointer for swss to include Vxlanmgrd changes
The base syncd dockers follow a template, which defines the base docker as DOCKER_SYNCD_BASE instead of DOCKER_SYNCD_. Fix the docker-syncd-<mlnx, bfn>.mk to use the new one.
This service (weekly) will let SSD firmware to do the garbage collection
after file-system deleted files. It could avoid slowness or
even READ-ONLY error due to SSD not being able to free the pages
even though the file system thinks there was a lot of space left.
Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
Overall goal: Build debug images for every stretch docker.
An earlier PR (#2789) made the first cut, by transforming broadcom/orchagent to build target/docker-orhagent-dbg.gz.
Changes in this PR:
Made docker-orchagent build to be platform independent.
1.1) Created rules/docker_orchagent.mk
1.2) Removed platform//docker-orchagent-*.mk
1.3) Removed the corresponding entry from platform//rules.mk
Extended the debug docker image build to stretch based syncd dockers.
2.1) For now, only mellanox & barefoot are stretch based.
2.2) All the common variable definitions are put in one place platform/template/docker-syncd-base.mk
2.3) platform/[mellanox, bfn]/docker-syncd-[mlnx, bfn].mk are updated as detailed below.
2.3.1) Set platform code and include template base file
2.3.2) Add the dependencies & debug dependencies and any update over what base template offers.
Extended all stretch based non-platform dockers to build debug dockers too.
3.1) Affected are:
docker-database.mk,
docker-platform-monitor.mk,
docker-router-advertiser.mk,
docker-teamd.mk,
docker-telemetry.mk
Next: Build debug flavor of final images with regular dockers replaced with debug dockers where available.
* Add new device CIG CS6436-56P
* Delete minigraph.xml
It isn't necessary in the current system, just delete it
* Update qos.json.j2
* Update port_config.ini
Add the speed column. The cmd to show interface status as:
root@switch1:~# show interface status
Interface Lanes Speed MTU Alias Oper Admin Type Asym PFC
----------- --------------- ------- ----- ------------ ------ ------- ------ ----------
Ethernet0 8 25G 9100 Ethernet1/1 up up SFP N/A
Ethernet1 9 25G 9100 Ethernet2/1 up up SFP N/A
Ethernet2 10 25G 9100 Ethernet3/1 down down N/A N/A
Ethernet3 11 25G 9100 Ethernet4/1 down down N/A N/A
Ethernet4 12 25G 9100 Ethernet5/1 down down N/A N/A
Ethernet5 13 25G 9100 Ethernet6/1 down down N/A N/A
Ethernet6 14 25G 9100 Ethernet7/1 down down N/A N/A
Ethernet7 15 25G 9100 Ethernet8/1 down down N/A N/A
Ethernet8 16 25G 9100 Ethernet9/1 down down N/A N/A
Ethernet9 17 25G 9100 Ethernet10/1 down down N/A N/A
Ethernet10 18 25G 9100 Ethernet11/1 down down N/A N/A
Ethernet11 19 25G 9100 Ethernet12/1 down down N/A N/A
Ethernet12 20 25G 9100 Ethernet13/1 down down N/A N/A
Ethernet13 21 25G 9100 Ethernet14/1 down down N/A N/A
Ethernet14 22 25G 9100 Ethernet15/1 down down N/A N/A
Ethernet15 23 25G 9100 Ethernet16/1 down down N/A N/A
Ethernet16 32 25G 9100 Ethernet17/1 down down N/A N/A
Ethernet17 33 25G 9100 Ethernet18/1 down down N/A N/A
Ethernet18 34 25G 9100 Ethernet19/1 down down N/A N/A
Ethernet19 35 25G 9100 Ethernet20/1 down down N/A N/A
Ethernet20 40 25G 9100 Ethernet21/1 down down N/A N/A
Ethernet21 41 25G 9100 Ethernet22/1 down down N/A N/A
Ethernet22 42 25G 9100 Ethernet23/1 down down N/A N/A
Ethernet23 43 25G 9100 Ethernet24/1 down down N/A N/A
Ethernet24 48 25G 9100 Ethernet25/1 down down N/A N/A
Ethernet25 49 25G 9100 Ethernet26/1 down down N/A N/A
Ethernet26 50 25G 9100 Ethernet27/1 down down N/A N/A
Ethernet27 51 25G 9100 Ethernet28/1 down down N/A N/A
Ethernet28 56 25G 9100 Ethernet29/1 down down N/A N/A
Ethernet29 57 25G 9100 Ethernet30/1 down down N/A N/A
Ethernet30 58 25G 9100 Ethernet31/1 down down N/A N/A
Ethernet31 59 25G 9100 Ethernet32/1 down down N/A N/A
Ethernet32 64 25G 9100 Ethernet33/1 down down N/A N/A
Ethernet33 65 25G 9100 Ethernet34/1 down down N/A N/A
Ethernet34 66 25G 9100 Ethernet35/1 down down N/A N/A
Ethernet35 67 25G 9100 Ethernet36/1 down down N/A N/A
Ethernet36 68 25G 9100 Ethernet37/1 down down N/A N/A
Ethernet37 69 25G 9100 Ethernet38/1 down down N/A N/A
Ethernet38 70 25G 9100 Ethernet39/1 down down N/A N/A
Ethernet39 71 25G 9100 Ethernet40/1 down down N/A N/A
Ethernet40 72 25G 9100 Ethernet41/1 down down N/A N/A
Ethernet41 73 25G 9100 Ethernet42/1 down down N/A N/A
Ethernet42 74 25G 9100 Ethernet43/1 down down N/A N/A
Ethernet43 75 25G 9100 Ethernet44/1 down down N/A N/A
Ethernet44 76 25G 9100 Ethernet45/1 down down N/A N/A
Ethernet45 77 25G 9100 Ethernet46/1 down down N/A N/A
Ethernet46 78 25G 9100 Ethernet47/1 down down N/A N/A
Ethernet47 79 25G 9100 Ethernet48/1 down down N/A N/A
Ethernet48 84,85,86,87 100G 9100 Ethernet49/1 up up QSFP28 N/A
Ethernet49 80,81,82,83 100G 9100 Ethernet50/1 up up QSFP28 N/A
Ethernet50 92,93,94,95 100G 9100 Ethernet51/1 down down N/A N/A
Ethernet51 88,89,90,91 100G 9100 Ethernet52/1 down down N/A N/A
Ethernet52 108,109,110,111 100G 9100 Ethernet53/1 down down N/A N/A
Ethernet53 104,105,106,107 100G 9100 Ethernet54/1 down down N/A N/A
Ethernet54 116,117,118,119 100G 9100 Ethernet55/1 down down N/A N/A
Ethernet55 112,113,114,115 100G 9100 Ethernet56/1 down down N/A N/A
root@switch1:~#
* 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.
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.
Fixes "No ISSU version file found /etc/mlnx/issu-version"
when rebooting to different image;
Add aditional check condition.
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
[devices] add new accton platform minipack.
Add support for new platform, minipack.
It has
CPU: Broadwell DE – D1527
MAC: Tomahawk3(BCM56980).
PHY:Broadcom BCM81724, 4 pcs, Gearbox for PIM-16Q
BMC:AST2520
8 hot-swappable Port-Interface-Modules, each of them has 16*100G QSFP.
- What I did
Add device and platform files for minipack.
- How I did it
Add as SONiC Porting Guide.
- How to verify it
decode-syseeprom
sensors
psuutil
sfputil
thermal monitor
bcmsh on port status
(port LEDs may not working)
- Why it is required
since SONiC master switches ifupdown package to the new implementation (ifupdown2), it is required to change the configuration of a platform-specific interface for wedge100bf_32x and wedge100bf_65x platforms (bc of ifupdown2 doesn't support auto mode for inet6 protocol).
Also, need to make some refactoring and remove if platform == smth then.. from the system level scripts.
- What I did
removed customization of /usr/bin/interfaces-config.sh
explicitly created directory /etc/network/interfaces.d
added "source" to the /etc/network/interfaces generation template (to include platform-specific interfaces processing)
added platform-specific interfaces config itself (for wedge100bf_32x and wedge100bf_65x)
fixed testcase in sonic-config-engine
- How to verify it
build image for wedge100bf_32x
perform sudo config reload -y on new installation
check the correct configuration of usb0 interface
- Description for the changelog
Allow configuration of platform-specific interfaces
* [build]: put stretch debian packages under target/debs/stretch/
* in stretch build phase, all debian packages built in that stage are placed under target/debs/stretch directory.
* for python-based debian packages, since they are really the same for jessie and stretch, they are placed under target/python-debs directory.
Signed-off-by: Guohan Lu <gulv@microsoft.com>
dell_ich module fails to load sometimes due to the failure of pci_get_drvdata().
This function is responsible for fetching INTEL PCI related memory handle in kernel. This is implemented in lpc_ich kernel module.
Due to race in addition/deletion of kernel modules, sometimes lpc_ich loads after dell_ich.
Because of this behaviour dell_ich module fails to load.
Fixed by addding dependency between modules.
Removed i2c_mux_gpio module from blacklist entry as it is not the original root case of this issue.
- Include helix4 fix.
- Include support for TD2 56854.
- Add dummy support for SAI_PORT_ATTR_ADVERTISED_SPEED.
Signed-off-by: Ying Xie <ying.xie@microsoft.com>
* [security kernel] Upgrade kernel from 4.9.110-3+deb9u2 to 4.9.110-3+deb9u6
short version: 4.9.0-7 to 4.9.0-8
See changelogs for security fixes:
https://tracker.debian.org/media/packages/l/linux/changelog-4.9.110-3deb9u6
Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
* Update sonic-linux-kernel submodule after it was merged
Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
knet driver unload takes about 30 seconds to remove netdevs. This cuts
into our warm reboot time budget.
Signed-off-by: Ying Xie <ying.xie@microsoft.com>
* Upgrade SAI to v1.2.4
* Add a new supported device accton as7116
* Add maintainer info for deb
* Add mk file for accton 7116
* fix some bug for sai 1.2.4
* fix git commit error for sdk and sai
* change sai and sdk deb name
* add config file for qos support
* initial commit
* Delete qos.json
* Delete buffers.json.j2
* Delete qos.json
* Delete buffers.json.j2
* Delete buffers.json.j2
* Delete qos.json
* add support for sai 1.3.0
* add qos and buffer file for device and add sensor driver for 7116
* change buffer template
* fix fan led bug
* add support for linux-4.9
* update device driver and update sdk and sai for support kernel 4.9
* Update arista drivers submodule
* Ignore the possible timestamp warning in tar extraction
* Add verbosity toggle to boot0
Console logging is slow because of the 9600 baud rate.
Some time can be saved by decreasing the console verbosity.
* Add hook mechanism in boot0.
Support additional features in boot0 via hooks.
Hooks are unpacked and executed at post-install or pre-exec time.
* Fix 7170 sensors.conf file
Fix critical temperature settings for MAX6658 sensors
* Fix the random swap of storage devices
For arista 7050 switches running with linux 4.9, it is likely the device
name of flash drive (/dev/sda) and usb (/dev/sdb) randomly swap in kernel
booting, depending on which one is ready first. It breaks the expectation
that flash will be mounted as root by setting root=/dev/sda1. This patch
will correct ROOT to flash device refering to the path under block_flash.
* Fix 7170 fancontrol
* Do not remove aquota.user file in boot0
This file is a filesystem protected file used by EOS.
It can be simply removed and will make the SONiC installation failed if
not skipped.
* syncd changes to disk and add e1000 driver to sonic vm
* add pg_profile_lookup.ini
Signed-off-by: Guohan Lu <gulv@microsoft.com>
* update swss and sairedis
sairedis:
* d146572 2018-11-22 | Fix interface name used on link message using lane map (#386)
swss:
* c74dc60 2018-11-22 | [vstest]: use eth1~32 as physical interface name in vs docker (#700) (HEAD -> master, origin/master, origin/HEAD) [lguohan]
* 6007e7f 2018-11-22 | [portmgrd]: Fix setting default port admin status and MTU (#691) [stepanblyschak]
* 6c70f6d 2018-11-22 | [portsorch] Fix port queue index init bug (#505) [yangbashuang]
* 70ac79b 2018-11-21 | [gitignore]: Update all binary names in the ignore list (#698) [Shuotian Cheng]
* 2a3626c 2018-11-21 | [test]: Remove duplicate legacy ACL tests (#699) [Shuotian Cheng]
* 8099811 2018-11-20 | [aclorch]: Remove unnecessary warning message (#696) [Shuotian Cheng]
* 63d8ebc 2018-11-18 | [portsorch]: Remove duplicate local variables - port (#690) [Shuotian Cheng]
* 28dc042 2018-11-18 | Remove default docker name value of swss. (#692) [Jipan Yang]
Signed-off-by: Guohan Lu <gulv@microsoft.com>
To suppress the error message:
INFO #supervisord: teammgrd Can't write to the lacp directory
'/var/warmboot/teamd/': No such file or directory
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
* Restore neighbor table to kernel during system warm-reboot
Added a service: "restore_neighbors" to restore neighbor table into
kernel during system warm reboot. The service is started by supervisord
in swss docker when the docker is started.
In case system warm reboot is enabled, it will try to restore the neighbor
table from appDB into kernel through netlink API calls and update the neighbor
table by sending arp/ns requests to all neighbor entries, then it sets the
stateDB flag for neighsyncd to continue the reconciliation process.
-- Added tcpdump python-scapy debian package into orchagent and vs dockers.
-- Added python module: pyroute2 netifaces into orchagent and vc dockers.
-- Workarounded tcpdump issue in the vs docker
Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
* Move the restore_neighbors.py to sonic-swss submodule
Made changes to makefiles accordingly
Make dockerfile.j2 changes and supervisord config changes
Add python monotonic lib for time access
Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
* Added PYTHON_SWSSCOMMON as swss runtime dependency
Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
Currently, the teamd configuration is no longer used in SONiC. The
configuration is dynamically generated and stored in the configuration
database, which is picked up by the teammgrd.
To create new portchannels, and the members, the command:
config portchannel add
config portchannel member add
are used.
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
* Move bfn asic drivers out of platform package (#30)
* Move bfn asic drivers out of platform package
* Change debian pkg name for bfn modules
* Change license file
* Fix build breakage due to dependency issue
* Minor changes to debian bld files (#31)
Remove the teamd.j2 templates used for starting the teamd. Add
teammgrd instead to manage all port channel related configuration
changes. Remove front panel port related configurations in
interfaces.j2 templates as well.
Remove teamd.sh script and use teammgrd to start all the teamd
processes. Remove all the logics in the start.sh script as well.
Update the sonic-swss submodule.
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
Update the hw-mgmt to latest release V.2.0.0060.
Update the related files according to the latest hw-mgmt.
Signed-off-by: Kevin Wang <kevinw@mellanox.com>
* BFN fixes for sonic master bld (#26)
* Need to still update sde deb package with sai1.3.3, will be done in seperate commit
* Update bfn sde url - sai1.3.3
* Fix broadcom lane map for 7050-QX32S
First port lane map needs to be swapped.
* Update arista submodules for SFP txdisable toggle
With this update the SFPs will set txdisable to 0 when out of reset.
Allowing optical cables to be used on these ports.
* [syncd] warn shutdown syncd process when warm boot is enabled
Signed-off-by: Ying Xie <ying.xie@microsoft.com>
* [warmboot] mount folder to hold warmboot temporary files
Signed-off-by: Ying Xie <ying.xie@microsoft.com>
* Fix a typo
* [docker-orchagent]: Add vrfmgrd to supervisorctl
Signed-off-by: Marian Pritsak <marianp@mellanox.com>
* [sonic-vs]: Add vrfmgrd to supervisorctl
Signed-off-by: Marian Pritsak <marianp@mellanox.com>
* [device][platform] d6254qs d6556 platform porting
[device][platform] sensor and status led support for d7032q28b d7254q28b d7264q28b d6254qs d6556
[device][platform] qos support for d7032q28b d7254q28b
[device][platform] service configuration files for d7032q28b d7254q28b d7264q28b d6254qs d6556
* remove binary files and remove non-supported attributes in config.bcm
* remove gpio-ich here. file a PR in sonic-linux-kernel instead.
* remove unnecessary comments
* add GPL license
* Update ag9032v1 and ag9064 modules.
Signed-off-by: neal tai <neal.tai@deltaww.com>
* Fix the sfputil.py when convert an integer to hexadecimal without the 'L' trailing.
Signed-off-by: neal tai <neal.tai@deltaww.com>
Install a new FW by specifying FW path (mlnx-fw-upgrade.sh /path/to/FW)
or use default at '/etc/mlnx/fw-SPC.mfa'
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
* [platform/haliburton] Fix kernel panic when remove smc module.
* [platform/haliburton] Chanage sysfs to support module interrupt
* [device/haliburton] Update sfputil to use new sysfs.
* [device/haliburton] sfputil to support xcvrd monitoring.
- Move front panel ports and port channels MTU and IP configurations out of
the current /etc/network/interfaces file and store them in the configuration
database.
- The default MTU value for both front panel ports and the port channels is
9100. They are set via the minigraph or 9100 by default.
- Introduce portmgrd which will pick up the MTU configurations from the
configuration database.
- The updated intfmgrd will pick up IP address changes from the configuration
database.
- Update sonic-swss submodule
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
led start bcm cmd triggers link state notifications.
This is quick fix to avoid such fake link state notifications.
Signed-off-by: Guohan Lu <gulv@microsoft.com>