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
* [Makefile] make reset target changed to ONESHELL and multiarch docker
stop has been added in reset
Signed-off-by: Antony Rheneus <arheneus@marvell.com>
Users can install docker with sudo, and it requires sudo to issue docker command. This will cause few errors in Makefile.work which need use docker without sudo.
mellanox simx platform don't have QSFP sysfs created, this script will cause timeout issue on simx platform
Signed-off-by: Kebo Liu <kebol@mellanox.com>
* [kernel] Upgrade kernel to version 4.9.168-1+deb9u5
- Picking up security patches.
Signed-off-by: Ying Xie <ying.xie@microsoft.com>
* advance linux-kernel sub module head
* [docker-fpm-frr]: Generate separated staticd.conf for staticd
Generate staticd.conf by templates/staticd.conf.j2 with config DB data
* [docker-fpm-frr]: Remove default_route block from zebra.conf.j2
default_route block already moved to staticd.conf.j2
* [docker-fpm-frr]: Add test for staticd.conf.j2 template
* Add test for staticd.conf.j2 template
* Correct the sample output of zebra.conf.j2 template
* Fix a typo in test_zebra_frr
* [docker-fpm-frr]: Fix test_j2files test errors
* Fix test errors in test_j2files.py and test_j2files_t2_chassis_fe.py
* Fix typo in test_j2files_t2_chassis_fe.py
radv should be left alone during warm restart of swss. Otherwise it will
announce departure and cause hosts to lose default gateway.
Signed-off-by: Ying Xie <ying.xie@microsoft.com>
- Improve smbus reliability for all platforms
- Delay processing of the reboot cause to reduce critical path
- Add support of get_change_event for PSUs
Added exceptions handling for BFN psuutil.py and eeprom.py which are raised when syseepromd and psud try to connect to the BFN thrift server which is not up yet. Now the exceptions backtrace is not logged to the syslog. Also psud doesn't exit on system bootup due to uncaught exception.
Signed-off-by: Vitaliy Senchyshyn <vsenchyshyn@barefootnetworks.com>
* Change psu driver to comfort to lm-sensors.
Signed-off-by: roy_lee <roy_lee@accton.com>
* Duplicate fan attributes with naming conforming to lm-sensors.
Replace psu drivers.
Signed-off-by: roy_lee <roy_lee@accton.com>
* Revise cpr_4011_4mxx.c to support lm-sensors.
Signed-off-by: roy_lee <roy_lee@accton.com>
* slave.mk
* .gitignore
The SONIC_PYTHON_STDEB_DEBS group is part of SONIC_CLEAN_DEBS
for cleaning with 'make clean', but this group is overlooked
since they reside in PYTHON_DEBS_PATH, not DEBS_PATH. This
fix creates a separate clean rule for SONIC_PYTHON_STDEB_DEBS.
Also noticed the .arch file showing up on 'git status' so
added it to .gitignore.
Signed-off-by: Greg Paussa <greg.paussa@broadcom.com>
ndisc6 gathers a few diagnostic tools for IPv6 networks including:
- ndisc6, which performs ICMPv6 Neighbor Discovery in userland,
- rdisc6, which performs ICMPv6 Router Discovery in userland,
- rltraceroute6, a UDP/ICMP IPv6 implementation of traceroute,
- tcptraceroute6, a TCP/IPv6-based traceroute implementation,
- tcpspray6, a TCP/IP Discard/Echo bandwidth meter,
- addrinfo, easy script interface for hostname and address resolution,
- dnssort, DNS sorting script.
Signed-off-by: Guohan Lu <gulv@microsoft.com>
[sairedis]:
ARM32 bit fixes, for 64bit printf format specifier (#490)
fix wrong API type , add cmdline parse option , remove unuseful api call (#499)
Use pointer to member function to reduce the footprint of collectCounters() (#488)
[syncd] Add support for Innovium platform (#496)
[saisdkdump]: Fix dump generation crash (#493)
[swss]:
Add scope attribute to VNET table. (#954)
[portsyncd]: Fix portsyncd restart case (#1019)
[vnet]: Enable "vnet_orch_1" VS test case (#1020)
[vlan] Add pytest cases to validate the behavior about add LAG member to vlan. (#875)
[policerorch]: Add the capability to update policer rate/size (#1017)
[aclorch]: Add MIRRORv6 support for NPS platform (#1018)
[orchagent]: Avoid crash by setting g_syncMode flag before create_switch (#1014)
[orchagent] Add support for Innovium platform (#1005)
Provide broadcast IP while configuring interface ip address (#1007)
[VLAN] Add pytest cases to validate different use-case of tagging_mode. (#860)
[vstest]: Add test_port_config.py which include breakout port test. (#866)
[vstests]: change 'test_acl_egress_table.py' to UNIX format (#1010)
[vlan] Add pytest cases to verify data in app db and state db. (#895)
[vstest]: Add the CRM tests (#1013)
[warm-reboot]: add bgp eoiu support to speed up route reconcile (#856)
[fdborch] support mac update (#877)
[vxlanorch] Fix Logic of Vxlan tunnel removal (#995)
Fix VLAN error introduced with new 4.9 kernel behavior (#1001)
Config DB manual is being moved from Wiki to SWSS repo (#1002)
Trap DHCPv6 packets for supporting ZTP over in-band interfaces using … (#997)
Signed-off-by: Andriy Kokhan <akokhan@barefootnetworks.com>
* [DELL][Z9100,S6100,S6000] Platform 2.0 SFP Changes
Added support in sfp.py file which will be generic. Send the eeprom path and sfp_control path from chassis.py