This commit adds NTP support for management VRF using L3mdev. Config vrf add
mgmt will enable management VRF, enslave the eth0 device to the master device
mgmt, stop ntp service in default, restart interfaces-configs and restart ntp
service in mgmt-vrf context. Requirement and design are covered in mgmt vrf
design document.
Signed-off-by: Harish Venkatraman <harish_venkatraman@dell.com>
Introduce a new "sflow" container (if ENABLE_SFLOW is set). The new docker will include:
hsflowd : host-sflow based daemon is the sFlow agent
psample : Built from libpsample repository. Useful in debugging sampled packets/groups.
sflowtool : Locally dump sflow samples (e.g. with a in-unit collector)
In case of SONiC-VS, enable psample & act_sample kernel modules.
VS' syncd needs iproute2=4.20.0-2~bpo9+1 & libcap2-bin=1:2.25-1 to support tc-sample
tc-syncd is provided as a convenience tool for debugging (e.g. tc-syncd filter show ...)
Both python2 and python3 wheels being built out of the same
source directory can interfere with each other when
SONIC_BUILD_JOBS > 1.
Signed-off-by: Greg Paussa <greg.paussa@broadcom.com>
Upon snmpd closes a netsnmp_agent_session due to snmp_timeout
there is a possibility of crash due to stale memory access.
This is a patch from source-forge:net-snmp. commit-id #793d59
* Use dot1p to tc mapping for backend switches
Signed-off-by: Wenda Ni <wenni@microsoft.com>
* Do not write DSCP to TC mapping into CONFIG_DB or config_db.json for
storage switches
Signed-off-by: Wenda Ni <wenni@microsoft.com>
* [cron.d] Create cron job to periodically clean-up core files
* Create script to scan /var/core and clean-up older core files
* Create cron job to run clean-up script
Signed-off-by: Danny Allen <daall@microsoft.com>
* Update interval for running cron job
* Respond to feedback
* Change syslog id
- monit config broke by one monit upgrade
- abandon sed approach since it is suspestible to monit config changes
- use unixsocket instead of httpd due to a bug in 5.20.0
* Adding platform support for Juniper QFX5210
This switch has 64 QSFP28 (40G/100G) ports, 2 SFP+ (1G/10G) ports
on Broadcom Tomahawk II chipset. CPU used in QFX5210-64C-S is
Intel Broadwell-DE. The machine has Redundant and hot-swappable
Power Supply (1+1) and also has Redundant and hot swappable fans (3+1).
Signed-off-by: Ciju Rajan K <crajank@juniper.net>
* [Juniper][QFX5210] Optoe driver for SFP management
This commit implements the following changes
- Moving to optoe driver for sfp management
- Removing the old sfp driver
- Updating the port-config.ini to add the index field
- Correction in sfputil.py to incorporate optoe driver
- Platform support for 'poweroff' command
Signed-off-by: Ciju Rajan K <crajank@juniper.net>
Implemented remaining APIs in s6100,z9100,s6000
Removed soft link in s6100,s6000,z9100 and implemented seperately
Implemented get_transceiver_change_event in S6000
* Use dot1p to tc mapping for backend switches
Signed-off-by: Wenda Ni <wenni@microsoft.com>
* Do not write DSCP to TC mapping into CONFIG_DB or config_db.json for
storage switches
Signed-off-by: Wenda Ni <wenni@microsoft.com>
This switch has 64 QSFP28 (40G/100G) ports, 2 SFP+ (1G/10G) ports
on Broadcom Tomahawk II chipset. CPU used in QFX5210-64C-S is
Intel Broadwell-DE. The machine has Redundant and hot-swappable
Power Supply (1+1) and also has Redundant and hot swappable fans (3+1).
Signed-off-by: Ciju Rajan K <crajank@juniper.net>
[build_debian] Generate checksum of ASIC config files
* Adds script to generate checksums for ASIC config files
* Adds step to build_debian that copies ASIC config checksum into SONiC filesystem
Signed-off-by: Danny Allen daall@microsoft.com
Submodule src/sonic-utilities 4024019594bc9174374ed3a3b594d8a43299dd07:
[doc/command-reference.md] dos2unix & remove trailing spaces (#591)
[show] Add BGP neighbor info to 'show ip/ipv6 interfaces' command output (#598)
[config]: fix the runtime error of the 'show line' command (#595) (#596)
Revert "Removed 'show interfaces alias'. (#412)" (#603)
[debug][undebug] Rework of CLI for BGP (#583)
Changing "show runningconfiguration interface" to "show runningconfiguration ports" (#600)
[config] Add commands to add/remove DHCP server address from a VLAN (#585)
[neighbor_advertiser] Use full vlan name for vxlan tunnel map programming (#604)
[neighbor_advertise]: Use the existing MIRROR ACL table (#605)
Read config DB for running interface(s) and display per port/interface (#594)
[fast/warm reboot] kill radv docker before stopping BGP (#608)
[config] Add commands for adding/removing syslog servers (#609)
[config] Call 'systemctl reset-failed' before 'systemctl restart' when restarting services (#607)
[Command Reference] Add config commands for DHCP relay destination address (#610)
[config] Add commands for adding/removing NTP servers (#611)
[neighbor_advertiser]: Add V6 support to mirror ICMPV6 packets (#612)
[neighbor advertiser] try getting vlan addresses from o.s first (#613)
[show] Add command 'show runningconfiguration syslog' (#617)
[show] Add command 'show runningconfig ntp' (#620)
Added check to config syslog del to verify if ip address was configured. (#622)
[fast-reboot] Check if ASIC config has changed before warm reboot (#621)
Signed-off-by: Danny Allen daall@microsoft.com
This piece of information is currently not used. Revert this
pull request in the future to add back the default mirror
session information into the configuration database.
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
Update interfaces of bgpcfd from swsssdk to swsscommon to unify a suit of interface with other component. Meanwhile, we can listen multiple tables at one thread under swsscommon interface.
Signed-off-by: Ze Gan ganze718@gmail.com
- What I did
Move the interface of bgpcfgd from swsssdk to swsscommon. Because bgpcfgd need to listen more events in the future and we want to maintain one kind of APIs, swsscommon is more suitable than swsssdk.
- How I did it
Refactor the BGPConfigDaemon to two components, Daemon and BGPConfigManager. We can register new managers to the Daemon object if we want to listen more events.
Docker version above 18 has inconsistent behaviour with qemu.
Hence using the same version 18 used in sonic-slave
Signed-off-by: Antony Rheneus <arheneus@marvell.com>
* Fixed initial state for eeprom.py and sfputil.py when thrift server is down
* Added transceiver plug-in/out event processing
Signed-off-by: Andriy Kokhan <akokhan@barefootnetworks.com>
optimize SFP module operations and fix issues.
- split initialization of variant categories of devices and initialize each category of devices only when needed, so that unnecessary dependencies can be avoided.
- update watchdog logic, only initializing watchdog when referenced.
- support platform.py and enable to initialize variant devices on a host/docker basis
- update init so that sonic_platform can be imported as a whole.
this is the first step to moving different databases tables into different database instances
in this PR, only handle multiple database instances creation based on user configuration at /etc/sonic/database_config.json
we keep current method to create single database instance if no extra/new DATABASE configuration exist in database_config.json file.
if user try to configure more db instances at database_config.json , we create those new db instances along with the original db instance existing today.
The configuration is as below, later we can add more db related information if needed:
{
...
"DATABASE": {
"redis-db-01" : {
"port" : "6380",
"database": ["APPL_DB", "STATE_DB"]
},
"redis-db-02" : {
"port" : "6381",
"database":["ASIC_DB"]
},
}
...
}
The detail description is at design doc at Azure/SONiC#271
The main idea is : when database.sh started, we check the configuration and generate corresponding scripts.
rc.local service handle old_config copy when loading new images, there is no dependency between rc.local and database service today, for safety and make sure the copy operation are done before database try to read it, we make database service run after rc.local
Then database docker started, we check the configuration and generate corresponding scripts/.conf in database docker as well.
based on those conf, we create databases instances as required.
at last, we ping_pong check database are up and continue
Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com