Commit Graph

416 Commits

Author SHA1 Message Date
Serhey Popovych
bac572229e [docker-fpm-frr]: Fix build with frr used for routing stack (#1728)
After commit 832be7b8f4 ("[dockers] Prevent apt-get from installing
suggested and recommended packages by default (#1666)") SONiC fails
to build when FRR is used for routing stack (e.g. SONIC_ROUTING_STACK
is set to frr in rules/config).

To fix issue just replicate changes from docker-fpm-quagga to
docker-fpm-frr to make dependencies installed correctly after above
change to package installing behaviour.

Signed-off-by: Sergey Popovich <sergey.popovich@ordnance.co>
2018-06-22 18:46:05 -07:00
pavel-shirshov
a2a6aead4c [bgp]: Enable bgp soft-reconfiguration inbound for quagga templates (#1803)
* Enable bgp soft-reconfiguration inbound for quagga templates
2018-06-22 18:04:18 -07:00
pavel-shirshov
bbca58329b
Manually send SIGHUP to vtysh when the current session was disconnected (#1801)
* Manually send SIGHUP to vtysh when the current session was disconnected

* Address comments
2018-06-20 12:15:09 -07:00
Qi Luo
1c8bacb007
Fix comment typos (#1794)
Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2018-06-14 21:53:31 -07:00
pavel-shirshov
fae346f586
Don't create a pty to run vtysh inside of the docker container (#1792) 2018-06-14 12:11:29 -07:00
Shuotian Cheng
b58a94dc53
[sonic-mgmt]: Install the latest Microsoft Azure Kusto Library for Python (#1756)
https://github.com/Azure/azure-kusto-python

azure-kusto-data Package provides the capability to query Kusto clusters with Python.
azure-kusto-ingest Package allows sending data to Kusto service - i.e. ingest data.

The removed package adal is a dependent of the Azure Kusto Library.
The removed azure-storage is deprecated and being replaced with new packages that are
also the dependents of the Azure Kusto Library. (https://github.com/Azure/azure-storage-python)

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2018-06-01 11:33:13 -07:00
Joe LeVeque
6b8e340558
[dhcp_relay] Only attempt to start 'isc-dhcp-relay' group if it is not empty (#1713) 2018-05-16 14:32:42 -07:00
Joe LeVeque
1102acec48 [ledd] Exit with code 0 if we fail to find a platform-specific led_control module; no autorestart (#1688) 2018-05-10 01:20:22 -07:00
Qi Luo
f3f8b9ff57
[syncd]: Add socat and bcmsh wrapper (#1657)
* [syncd]: Add socat and bcmsh wrapper
* Install socat in docker-base
* Add hint banner, add host wrapper
* Refine banner message
2018-05-04 09:27:01 -07:00
Joe LeVeque
832be7b8f4
[dockers] Prevent apt-get from installing suggested and recommended packages by default (#1666)
* [docker-base] Instruct apt-get to NOT install 'recommended' or 'suggested' packages

* Modify docker-fpm-quagga, docker-snmp-sv2 and docker-sonic-vs Dockerfile templates in order to properly install .deb dependencies

* REDIS_SERVER depends on REDIS_TOOLS; ensure REDIS_TOOLS is always installed before REDIS_SERVER
2018-05-02 11:46:21 -07:00
Shuotian Cheng
e082cd6d91 [swss]: Change the hash seed to 0 for ToR and 10 for Leaf routers (#1667)
Due to some ASIC platform limitations, the hash seed range is from 0
to 15. Thus the switch.json.j2 template is updated so that ToRRouter
is using hash seed 0 and LeafRouter is using hash seed 10.

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2018-05-01 21:58:33 -07:00
Taoyu Li
bebb7a0fa2 [zebra.conf] Fix template issue with multiple lo addresses (#1662)
* [zebra.conf] Fix template issue with multiple lo addresses

* Add unitest for Loopback1
2018-05-01 20:53:47 -07:00
Qi Luo
5817e99520 Revert "Remove snmpd hw_fsys module, remove disk monitoring which is not in use" (#1665)
* Revert "[swss]: update swss submodule (#1664)"

This reverts commit c74be37ae0.

* Revert "Remove snmpd hw_fsys module, remove disk monitoring which are not in use (#1663)"

This reverts commit 3d61df9d75.
2018-05-01 18:32:49 -07:00
Qi Luo
3d61df9d75 Remove snmpd hw_fsys module, remove disk monitoring which are not in use (#1663)
Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2018-04-30 23:06:51 -07:00
pavel-shirshov
1ae4db3af7
Quagga: Use bgp keepalive and holdtime timers from configdb (#1661) 2018-04-30 16:52:22 -07:00
pavel-shirshov
18e97fba2c [docker-lldpd]: Various fixes (#1650)
* We don't need configure anything until we have interfaces created

* Don't run lldpcli for a port, until a port is up and running

* Remove lldpd socket before starting lldpd

* Fix sample files for lldpd configuration

* Another attempt to make the test working

* Quick fix for lldpd paused after start bug
2018-04-26 19:01:33 -07:00
Joe LeVeque
f7151e8ddb
[radvd] Ensure at least one interface is specified in radvd.conf before starting radvd (#1636) 2018-04-24 15:13:51 -07:00
Qi Luo
0adbf782b4
[sonic-mgmt]: Install more azure packages (#1635)
Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2018-04-24 00:14:19 -07:00
yurypm
509e1c4749 [snmpd]: Fix typo in is_platform_arista (#1634) 2018-04-23 08:52:21 -07:00
Samuel Angebault
1f05332e5a [snmp]: Fix a race between snmpd-config-updater and snmpd (#1628)
There is a small window in which snmpd might not have registered a
callback for SIGHUP and which will result in its death if
snmpd-config-updater send this signal meant for a config reload.
2018-04-20 22:19:01 -07:00
Joe LeVeque
1df7c9a993
[docker-platform-monitor] Convert ledd from polling-based to subscription-based model (#1623) 2018-04-20 10:42:19 -07:00
Volodymyr Samotiy
61793dd05a [ip-in-ip]: Fix config template to apply correct platform depended values (#1619)
Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>
2018-04-18 09:37:27 -07:00
pavel-shirshov
8a714c88c7
Use refactored Selectables from sonic-swss-common (#1604) 2018-04-16 18:38:48 -07:00
Qi Luo
b097b9672c
Fix syntax error in snmpd.conf.j2 (#1597)
Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2018-04-13 10:50:58 -07:00
Joe LeVeque
291321d851 Incorporate swss-common Table Name Separator Changes (#1584)
* Table name separator now determined by database ID, no longer passed manually upon table creation

* Update submodules to include table name separator changes
2018-04-11 01:50:17 -07:00
Taoyu Li
856fc830b5 [snmp] support multiple community strings (proposal 2) (#1583)
* [snmp] support multiple community strings

* Use community old if communities is absent
2018-04-10 20:20:35 -07:00
Qi Luo
ccff73bb33 [snmp]: Bind snmpd to all ip addresses (#1587)
Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2018-04-10 20:15:20 -07:00
Joe LeVeque
c626dc921f
Allow one Service ACL to bind to multiple services (#1576)
* [caclmgrd] Also ignore IP protocol if found in rule; we will only use our predefined protocols
2018-04-10 18:14:12 -07:00
pavel-shirshov
83f81c9676
Use eth0 interface only to generate lldpd SystemId (#1577) 2018-04-10 13:37:46 -07:00
Joe LeVeque
30466b27c1 [router advertiser] Only start radvd process if device role is 'ToRRouter' (#1569) 2018-04-06 19:24:18 -07:00
pavel-shirshov
f43580492f
quagga container processes could be restarted within a second (#1541) 2018-03-28 12:34:46 -07:00
Jipan Yang
f74de8914b [telemetry]: SONiC system telemetry Support (#1526)
* SONiC system telemetry Support

Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>

* Update package name from telemetry to sonic-telemetry

Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>
2018-03-27 13:39:04 -07:00
Rodny Molina
957e6c0b6d Fixing lldp issue displaying mac-addr instead of ports (#1515)
Current lldp.conf.j2 template demands the presence of MGMT_INTERFACE attribute in configDB, and by extension, also in config_db.json file. However, MGMT_INTERFACE configuration attribute is optional, so lldp shouldn't bail out if this one isn't provided in configuration.

For this reason, no lldp.conf file is ever created in lldp's container, and lldpd defaults to advertise the mac-address of the connected interface, instead of the interface name.

The fix is to simply relax this jinja2 statement to verify if MGMT_INTERFACE attribute is present.
2018-03-20 11:25:31 -07:00
Joe LeVeque
e1cb2ace36 [base image files] All 'docker exec' wrapper scripts now dynamically adjust their flags depending on whether or not they are run on a terminal (#1507) 2018-03-17 00:43:29 -07:00
sihuihan88
243a87d6e6 [devices]: remove Dell S6100 qos config via swssconfig (#1483)
Signed-off-by: Sihui Han <sihan@microsoft.com>
2018-03-13 13:07:39 -07:00
Rodny Molina
913a62c33c [configdb]: Sorting all json config-elements residing in config_db.json (#1454)
Just a simple change to make sonic's user life a little bit easier. Displaying the multiple elements of config_db.json in an orderly fashion allows a more intuitive user-experience.

For this change i'm simply intercepting the config-state that is about to be dumped to config_db.json, and i'm placing it in an ordered-dictionary, so that information is pushed to file in natural/alphanumerical ordering.

Example:

admin@lnos-x1-a-csw01:~$ sudo sonic-cfggen -m /etc/sonic/minigraph.xml --print-data
{
...
      "PORT": {
        "Ethernet0": {
             "alias": "Eth1/1",
             "lanes": "65"
},
        "Ethernet1": {
             "alias": "Eth1/2",
             "lanes": "66"
},
        "Ethernet2": {
             "alias": "Eth1/3",
             "lanes": "67"
},
        "Ethernet3": {
            "alias": "Eth1/4",
            "lanes": "68"
},
        "Ethernet4": {
             "alias": "Eth2/1",
             "lanes": "69"
},
...
...
    "INTERFACE": {
       "Ethernet0|10.0.0.0/31": {},
       "Ethernet1|10.0.0.2/31": {},
       "Ethernet2|10.0.0.4/31": {},
       "Ethernet3|10.0.0.6/31": {},
       "Ethernet4|10.0.0.8/31": {},
2018-03-09 23:51:33 -08:00
Joe LeVeque
c161de406a
[lldpmgrd] Fix potential race condition when interfaces are created (#1469) 2018-03-07 17:08:45 -08:00
Wenda Ni, Ph.D
ef683848af [devices]: A7050 qx32 mmuconfig (#1463)
* Apply MMU config (buffers, qos) to Arista-7050-QX32

Signed-off-by: Wenda <wenni@microsoft.com>
2018-03-07 07:21:41 -08:00
Joe LeVeque
c689253b3f
[LLDP] Add lldpmgrd Daemon to Manage LLDP Configuration (#1428) 2018-03-02 16:46:22 -08:00
sihuihan88
1e6576c5b8 [devices]: Update qos and buffer configuration for Dell S6000 (#1441)
Signed-off-by: Sihui Han <sihan@microsoft.com>
2018-03-01 20:56:12 -08:00
pavel-shirshov
ec537be065
[Submodule update]: Update submodule sonic-utilities (#1407)
* Update submodule sonic-utilities

* Copy fast-reboot json dumps from /host filesystem

* Update sonic-utilities to latest

* Fix typo
2018-02-26 11:23:29 -08:00
Taoyu Li
04b694454a
[sonic-cfggen] Remove machine.conf info and add get_system_mac support (#1397)
[sonic-cfggen] Remove machine.conf info and add get_system_mac support
2018-02-20 14:38:13 -08:00
pavel-shirshov
f6deaa22f7 [fast-reboot]: Dump default routes before fast-reboot procedure (#1392)
* Insert default routes into the APPL DB in fast-reboot proceduce

Update sonic-utilities submodule
2018-02-14 19:09:28 -08:00
nikos-li
971be65546 [docker-base]: Upgrade supervisord to 3.3.3 and fix supervisord.conf (#1390) 2018-02-14 09:40:26 +08:00
Joe LeVeque
6ccd1601b8
Modify Arista service ACL solution to listen to ACL changes in ConfigDB (#1385) 2018-02-12 11:10:01 -08:00
byu343
ecf5c8d311 ssh and snmp allow list (#1363)
- Service ACL framework for Arista platforms
2018-02-08 17:43:52 -08:00
pavel-shirshov
175bae84b9
Remove /var/run/rsyslogd.pid otherwise rsyslogd will not start in database container (#1355) 2018-01-30 11:54:58 -08:00
Andriy Moroz
58d8302b53 Buffers configuration update on port speed change (#1345)
* Move buffer configuration to ConfigDB

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Converted Dell and Arista configs

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Add buffer configs for ACS-MSN2740

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Updated buffers template

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Fixed j2 unit test

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Update buffers config for Force10-S6100

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Update VS docker to support speed and buffers test

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Update buffers config generation

- fixed support of sonic-to-sonic install

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Update submodules pointers for buffers config

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2018-01-29 08:11:05 -08:00
Ying Xie
2b91c9681d Revert "Buffers configuration update on port speed change (#1250)" (#1340)
This reverts commit 814e50fd5e.
2018-01-26 10:13:43 -08:00
Andriy Moroz
814e50fd5e Buffers configuration update on port speed change (#1250)
* Move buffer configuration to ConfigDB

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Converted Dell and Arista configs

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Add buffer configs for ACS-MSN2740

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Updated buffers template

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Fixed j2 unit test

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Update buffers config for Force10-S6100

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Update VS docker to support speed and buffers test

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Update buffers config generation

- fixed support of sonic-to-sonic install

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2018-01-26 08:09:31 -08:00
Joe LeVeque
ab26a5c589
Install sonic-platform-common package in platform-monitor docker for ledd (#1330)
* Install sonic-platform-common package in platform-monitor docker for ledd

* Specify Python wheel dependencies in docker-platform-monitor.mk; Remove explicit specifications from Dockerfile.j2
2018-01-22 10:52:52 -08:00
pavel-shirshov
5e01fb366e Prevent supervisor from restarting configdb-load.sh (#1324) 2018-01-18 21:52:24 -08:00
Qi Luo
33157dc2ad
Install azure cli into docker-sonic-mgmt (#1322)
Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2018-01-18 15:35:38 -08:00
Joe LeVeque
134707f822
Move platform-specific hardware plugin base packages to sonic-platform-common submodule (#1301) 2018-01-17 17:11:31 -08:00
Qi Luo
a836fc42ac [device]: Fix Mellanox sku check (#1303)
Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2018-01-13 03:43:14 -08:00
Andriy Moroz
16763dcc77 [mellanox]: Update Mellanox buffers configuration (#1263)
Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2018-01-08 18:10:40 -08:00
kaiyu22
63de341dd6 [Platform] Add Ingrasys S9130-32X and S9230-64X with Nephos Switch ASIC (#1245)
* Add switch ASIC vendor and platforms for Nephos

- What I did
Add switch ASIC vendor: Nephos
Add Nephos platforms: Ingrasys S9130-32X, Ingrasys S9230-64X

- How I did it
Add platform/nephos files
Add platform/nephos/sonic-platform-modules-ingrasys submodule
Add device/ingrasys/x86_64-ingrasys_s9130_32x-r0 files
Add device/ingrasys/x86_64-ingrasys_s9230_64x-r0 files
Add SONiC to support Nephos platform

- How to verify it
To build SONiC installer image and docker images, run the following commands:
make configure PLATFORM=nephos
make target/sonic-nephos.bin
Check system and network feature is worked as well

- Description for the changelog
Add switch ASIC vendor and platforms for Nephos

- A picture of a cute animal (not mandatory but encouraged)

Signed-off-by: Sam Yang <yang.kaiyu@gmail.com>

* Advance sonic-sairedis submodule to include #271 (Add Nephos ASIC)
2017-12-22 10:04:29 -08:00
Haiyang Zheng
2abdf8dc58 [libteam] Add fallback support for single-member-port LAG (#1118)
* [libteam] Add fallback support for single-member-port LAG

* Allow the port to be selected if the LAG is configured
with fallback and port is in defaulted state due to missing
LACP PDUs from remote end
* Only enable port if LAG is admin up and the member port
is link up

* [team] Add lacp fallback config to teamd.j2 template

* [teamd] Resolve config conflict between fallback and minlink

* Remove min_link config if fallback is configured
* Add support for fallback config in minigraph

* [teamd] Only enable fallback if it is single-member-port LAG

Signed-off-by: Haiyang Zheng <haiyang.z@alibaba-inc.com>

* [teamd] Removing the admin status check in lacp_port_link_update

Will submit another pull request to fix this issue.

Signed-off-by: Haiyang Zheng <haiyang.z@alibaba-inc.com>
2017-12-16 11:28:18 -08:00
Shuotian Cheng
1859f53206 [swss]: Fix missing comma in the ports.json.j2 file (#1217)
Add J2 test case as well as a sample output

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2017-12-08 09:06:22 -08:00
Qi Luo
4b2225bca5 [docker-snmpd]: asyncsnmp depends on sonic-utilities so it is possible to import sonic_psu (#1212)
* asyncsnmp depends on sonic-utilities so it is possible to import sonic_psu

Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>

* Ignore sonic_utilities test during build
2017-12-07 13:08:23 -08:00
Rodny Molina
4213b2dcc7 [sonic-utilities]: Final code-drop for interface-description and interface-status enhancements (#1207)
* Final code-drop for interface-description and interface-status enhancements.

Here i'm adding minor extensions to support "show interface description" command. Please refer to PR#158 for more details: https://github.com/Azure/sonic-utilities/pull/158

* Add interface-description UT and adjust logic to have 'description' field being optional

RB=
G=lnos-reviewers
R=ntrianta,rjonnadu,rmolina,sfardeen,zxu
A=

* Updating reference to sonic-utilities to collect latest changes
2017-12-06 21:45:45 -08:00
Taoyu Li
2e31a38617 [LLDP] Send interface name instead of mac as PORT_ID for mgmt interface (#1204)
* Send interface name instead of mac thru lldp for mgmt interface

* Fix j2 template test failure
2017-12-04 14:28:43 -08:00
Andriy Moroz
7e457564da [mellanox]: Update Mellanox buffer profiles config (#1198)
Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2017-12-04 02:45:24 -08:00
lguohan
b907e4e9f5
[vs]: add vlan configuration support in virtual switch (#1200) 2017-11-30 14:59:25 -08:00
pavel-shirshov
d39dd396b5
Move tcpdump into /usr/bin Otherwise it's impossible to run tcpdump due to a docker bug (#1195) 2017-11-29 16:36:26 -08:00
zhenggen-xu
6e57e1d272 [FRR]: Fix FRR tempelate for router-id (#1187) 2017-11-28 14:52:26 -08:00
Taoyu Li
dd7e9240c8 [dockers] Remove dependency to minigraph (#1179)
* Remove dependency to minigraph

* Remove -m in swssconfig.sh
2017-11-23 16:31:37 -08:00
Andriy Moroz
6d0329af3d Move QoS configuration to Config DB (#1178)
* Move Mellanox QoS configuration to config DB

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Move qos.json to hwsku subfolder

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Remove copying of old qos config

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Update WRED threshold values

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* hwsku2

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Fix syntax error in json

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Add qos config for some Dell and Arista platforms

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Fix inital qos config on clean boot

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>

* Updated swss-common and swss pointers (QoS in Config DB)

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2017-11-22 08:58:22 -08:00
Joe LeVeque
1f9107d044
[DHCP relay]: Wait for all interfaces to be assigned IPv4 addresses before starting relay agent(s) (#1173) 2017-11-20 21:07:28 -08:00
Shuotian Cheng
c93c008bae
Revert "[docker-teamd]: Manage teamd and teamsyncd processes with supervisor (#1137)" (#1156)
This reverts commit a6edef2fa5.

The reason to revert this commit is that it breaks the current nightly test as
no port channel interfaces are get created after boot. teamd failed to start and
complained about 'Cannot allocate memory' possibly due to nlmsg_alloc function
failure.

Will revert this commit to investigate it further before moving to supervisor.

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2017-11-16 10:30:41 -08:00
Joe LeVeque
cea87e985c
Add docker-router-advertiser to support IPv6 router advertisements (#1103) 2017-11-14 14:40:15 -08:00
Joe LeVeque
a6edef2fa5
[docker-teamd]: Manage teamd and teamsyncd processes with supervisor (#1137) 2017-11-13 14:16:19 -08:00
Harish Venkatraman
aa09bdc2c2 [docker-orchagent]: ADD PFC Broadcom recommended MMU Settings (#1136)
This commit adds new code to support PFC and broadcom recommended
MMU setting for PFC feature.

Verified by running checking the hardware setting after the switch
was booted.

Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>
2017-11-13 11:30:16 -08:00
nikos-li
f18ed0d35c [bgp]: Auto-completion, help (?), cmd navigation (up arrow) not working in vtysh on host system. (#1124) 2017-11-13 09:39:10 -08:00
JipanYanga
7406d3709b [configdb]: Add support for vlanconfd and intfconfd (#1063)
* Add support for vlanconfd and intfconfd

Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>

* Change name to vlanmgrd and intfmgrd

Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>

* Add missing vlan_members for parse_dpg result

Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>

* Remove cfgmgr debug CLI from image

Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>

* Update swss and swss-common submodules for VLAN trunk support

Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>
2017-11-05 22:37:16 -08:00
Andriy Moroz
4e1fb6850f Update Mellanox buffers profile to use single pool for lossless (#1101)
Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2017-11-03 16:31:02 -07:00
Oleksandr Ivantsiv
29f67ebe58 [acl-loader]: acl-loader integration. (#1000)
* [acl-loader]: acl-loader integration.

acl-loader was inplemented based on translate_acl source code. acl-loader
can't be tested with unittest. Same testcases will be covered with testbed tests.

- Remove translate_acl utility and tests.
- Remove mirror template.
- Do not run ACL rules and mirror configuration generators.
- Adopt minigraph parser to work with acl-loader.

* Update sonic-swss-common and sonic-swss submodules.

Enable ACL dynamic config feature.

* Update sonic-utilities submodule.

Include fix for acl-loader incremental update command.

* [sonic-cfggen]: Add test for everflow cfggen configuration.
2017-11-02 15:09:27 -07:00
Shuotian Cheng
1a81715275
[swss]: Add switch.json.j2 to set the hash seed according to the switch type (#1089)
Set the ECMP/LAG hash seed to 10 when the switch is a ToR, 20 when the switch
is a Leaf, 0 otherwise.

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2017-10-29 11:50:57 -07:00
Shuotian Cheng
d1156ca3b2 [teamd]: Bring down all member interfaces before starting teamd (#1081)
teamd requires all members to be set down before adding as a team port

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2017-10-26 14:20:44 -07:00
Shuotian Cheng
7f7ddc80a3 [swss]: Change the env name from ASIC to platform (#1033) 2017-10-25 17:57:28 -07:00
Andriy Moroz
2ae29caa03 Update QoS config name for Mellanox platform (#1077)
Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2017-10-25 09:09:30 -07:00
Shuotian Cheng
fd34d907ff [lldp]: Get all interfaces from the database (#1069)
The previous implementation only supports EthernetX while X
varies from 0 - 124. Remove such hard coded logics and use
the information from the database instead.

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2017-10-23 19:53:10 -07:00
Shuotian Cheng
b6cc73a0ad [dockers]: Remove deprecated docker-lldp and docker-snmp (#1068)
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2017-10-23 13:20:37 -07:00
Joe LeVeque
def0f2e4de [sensors]: Workaround for apparent bug in lm-sensors (#1058) 2017-10-20 11:01:26 -07:00
Taoyu Li
8bc6b55331 [bgpd.conf] Fix template issue with multiple lo addresses (#1060) 2017-10-20 07:15:11 -07:00
pavel-shirshov
bdbede51e0 [docker ptf]: Install tcpdump (#1059)
* Always start with Forwarding State flag set for bgpd

* Install tcpdump into ptf container
2017-10-20 05:09:37 -07:00
Shuotian Cheng
2a56479187 [sonic-cfggen]: Add DEVICE_NEIGHBOR_METADATA field and move msn27xx template (#1025)
This field contains all neighbor devices information using the device
hostname as the key and having lo_addr, mgmt_addr, hwsku, type as the
attributes.

Move the file msn27xx.32ports.buffers.json.j2 from sonic-swss repository to
this repository so that we could add unit test for this file.

Unit test is added for platform ACS-MSN2700.

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2017-10-19 00:38:25 -07:00
Taoyu Li
7a0a2ea5d0 [bgpd.conf] Advertise /64 prefix for ipv6 lo addresses (#1050) 2017-10-17 18:28:27 -07:00
Shuotian Cheng
1a748ee0bb Revert "Update QoS config name for Mellanox platform" (#1039) 2017-10-13 01:27:15 -07:00
nikos-li
51ebdf43ac [frr]: Support for nhopself, keepalive and holdtime timers, prefer global ebgp nexthop (#1024)
* RR client support in minigraph for FRR
* Fix python warning from previous rrclient commit and move config handling to a more relevant place for this cmd
* Add config support for nhopself, keepalive and holdtime timers.
* Add route-map to prefer global nexthops for ebgp learned prefixes.
2017-10-11 15:31:38 -07:00
Shuotian Cheng
6c15acc49b [swss]: Export ASIC as the env variable (#1030)
- the env variable 'platform' is not universal across different platforms
  this line will be removed once the related code in sonic-swss is refactored

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2017-10-11 15:11:26 -07:00
Andriy Moroz
fc7246f418 [swss]: Update QoS config file name for Mellanox platform (#1028)
Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2017-10-10 19:45:17 -07:00
Shuotian Cheng
04814cb135 [dockers]: Remove deprecated sswsyncd dockers (#1026) 2017-10-09 22:50:08 -07:00
Joe LeVeque
1d16a37d48 [DHCP Relay]: Support Multiple VLANs (Separate DHCP Relay Agents, One Per VLAN) (#999)
* [DHCP Relay]: Support new <DhcpRelays> minigraph tag; support multiple VLANs

* Don't start dhcrelay in quiet mode so as to get startup output in syslog

* Update sonic-cfggen tests to support new '<DhcpRelays>' tag

* <DhcpRelays> tag is only present for VLANs which require a DHCP relay agent -- only parse if present

* Don't attempt to configure a DHCP relay agent for VLANs without specified DHCP servers

* Modify to work with Taoyu's minigraph/DB changes (#942)

* Reduce number of DHCP servers in sonic-cfggen unit tests from 4 to 2

* Remove isc-dhcp-relay sample output file from sonic-cfggen test, as we no longer generate that file

* Update Option 82 isc-dhcp-relay patch to load all interface name-alias maps into memory once at start instead of calling sonic-cfggen on each packet we relay

* Remove executable permission from Jinja2 template

* Set max hop count to 1 so that DHCP relay will only relay packets with a hop count of zero

* Replace tabs with spaces

* Modify overlooked sonic-cfggen call, use Config DB instead of minigraph

* Also ensure > 1 VLAN requires a DHCP relay agent before outputting to template

* Generate port name-alias map file using sonic-cfggen and parse that in lieu of parsing port_config.ini directly

* No longer drop packets with hop count > 0; Instead, drop packets which already contain agent info
2017-10-04 23:35:43 -07:00
Qi Luo
554114cfaa Make swssconfig status FATAL when it fails (#1009)
* Make supervisor controlled one-shot program autorestart 0 time, so the status will become FATAL instead of EXITED if failure happens

Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>

* Make swssconfig.sh strictly exit on any failure

Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>

* Tune startretries, tested in supervisor 3.3.2-1

Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2017-10-04 01:02:30 -07:00
Shuotian Cheng
72e947621c [config-engine]: Fix bug multiple ports connecting to same neighbor (#1005)
The current DEVICE_NEIGHBOR format doesn't support multiple different
ports connecting with same neighbor. Thus the lldpd.conf file is not
generated correctly, causing missing information for LAG members.

This fix reverts the data structure in the previous version of
minigraph parser - using local port as the key and remote port/device
as the value of the map. Sample format is:

DEVICE_NEIGHBOR['Ethernet124'] = {
    'name': 'ARISTA04T1',
    'port': 'Ethernet1/1'
}

The corresponding unit test in test_cfggen is updated.
Add one more unit test for lldpd.conf.j2 verification.

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2017-10-03 16:23:19 -07:00
Shuotian Cheng
486dfef732 [swss]: Update the ipinip.j2 template to specify the IPv4 loopback address (#998)
Use ipv4_loopback_addresses variable to store all IPv4 loopback addresses.
The source IP for encapsulation is chosen from one of the addresses.
The destination IPs for decapsulation is the list of the addresses.

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2017-09-30 11:03:32 -07:00
Joe LeVeque
bbf1d6624b [docker-platform-monitor]: Remove stale fancontrol.pid file (if exists) before starting fancontrol (#1002) 2017-09-30 10:55:03 -07:00
Andriy Moroz
9efcc9c333 [swss]: Update swss/common submodules (#988)
* Update swss submodule reference
* Update swss-common submodule reference

This pull request introduces changes including
1. Use unified buffer configurations fro all Mellanox 27xx platforms
2. Refactor TableConsumable and optimize popping empty logics
3. Add SwitchOrch to deal with switch attributes changes
4. Refactor doAclTableTask and doAclRuleTask
5. Add PFC watchdog tables and runRedisScript function in common library

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2017-09-29 14:44:55 -07:00
Qi Luo
bec99f257a Disable snmpd module disk_hw, so no syslog messages about unavailable disks (#977)
* Revert "snmpd ignores unavailable disks (#607)"

This reverts commit d70e973496.

* Disable snmpd module disk_hw, so no syslog messages about unavailable disks

Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>

* Strip white spaces

Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2017-09-21 17:31:39 -07:00
Shuotian Cheng
0f6c8c14e8 [teamd]: Remove deprecated blocking logic before starting teamd (#976)
With the fixes in /etc/network/interfaces file, host interfaces
could be added into the corresponding LAGs automatically. Thus,
the logic of checking if port initialization is ready is no longer
needed.

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2017-09-21 14:56:16 -07:00
pavel-shirshov
9139c7fe64 Always start with Forwarding State flag set for bgpd (#963) 2017-09-19 12:27:18 -07:00
Shuotian Cheng
a376c86b5c [swss]: Fix the command to get HWSKU with sonic-cfggen (#964) 2017-09-18 17:23:19 -07:00
Shuotian Cheng
aa549f208c [bgp]: Fix the deployment_id with DEVICE_METADATA (#962) 2017-09-18 13:04:29 -07:00
Shu0T1an ChenG
5e9b0a1207 Merge branch 'v1.0.3-backup' into github 2017-09-15 11:30:23 -07:00
Taoyu Li
2e3975d6ed [config] Fix an issue that bgp asn data type is not consistent (#953)
* Fix an issue that bgp asn data type is not consistent from minigraph parser and DB

* Fix test typo
2017-09-13 21:23:06 -07:00
nikos-li
686e227dcc [frr]: RR client support in minigraph for FRR (#923) 2017-09-12 15:48:38 -07:00
Taoyu Li
c9cc7aea41 [configdb] Migrate minigraph configurations to DB (#942)
Modify minigraph parser output format so it fit DB schema
Modify configuration templates to fit new schema
Systemd services dependencies are modified so database starts before any configuration consumer
2017-09-12 14:13:27 -07:00
sihuihan88
127a73aac3 [quagga]: Disable ipv4 over ipv6 and enable ipv6 over ipv4 peer group (#922)
* [bgpd]:disable ipv4 over ipv6 and enable ipv6 over ipv4 peer group

* update as comments
2017-08-30 13:06:02 -07:00
Taoyu Li
e4502527d0 Revert "Migrate DEVICE_METADATA to db (#919)" (#928)
This reverts commit 44502b217b.
2017-08-29 17:03:31 -07:00
Taoyu Li
44502b217b Migrate DEVICE_METADATA to db (#919) 2017-08-29 10:47:25 -07:00
Shu0T1an ChenG
521de84830 Merge remote-tracking branch 'github/master' into v1.0.3-backup 2017-08-28 17:05:14 -07:00
Taoyu Li
3638dcad28 [translate-acl] Specify pyangbind version to not introduce new dependency (#915) 2017-08-24 18:38:47 -07:00
Andriy Moroz
48b0beb7ff Port speed (#879)
* Add port speed configuration

* Add DeviceInfos support in minigraph parser

* Add cfggen test 'test_minigraph_ethernet_interfaces'

* Fixed PR comments

* Update sonic-swss submodule reference
2017-08-23 19:41:14 -07:00
Shu0T1an ChenG
a95f062a08 Merge remote-tracking branch 'github/master' into v1.0.3-backup 2017-08-23 12:05:22 -07:00
nikos-li
34377f2561 IPv4 prefixes shouldn't be sent by default over IPv6 session with FRR. (#905)
RB=
G=lnos-reviewers
R=ntrianta,rjonnadu,rmolina,sfardeen,zxu
A=
2017-08-23 02:50:39 -07:00
Joe LeVeque
ed66588473 [docker-fpm-quagga]: Manage Quagga processes (zebra, bgpd) using supervisor instead of watchquagga (#900) 2017-08-21 13:55:59 -07:00
Rodny Molina
78ce6b951f Fixing a couple of issues to enable FRR to run with latest SONiC code. (#895)
* Adjusting FRR's jinja template to meet latest sonic-cfgen requirements. Basically, i'm just extending #448 changes into FRR.

    * Eliminate FRR's integrated-config file to prevent daemons from bypassing their own config files. FRR daemons now default to an integrated-config file for config-parsing purposes. But we are still interested in having each daemon looking in their specific config file (bgpd.conf, zebra.conf, etc). So here i'm just deleting this integrating-config file to prevent FRR from running from a bogus config-file.

RB=
G=lnos-reviewers
R=ntrianta,rjonnadu,rmolina,sfardeen,zxu
A=
2017-08-16 21:13:01 -07:00
zhenggen-xu
c52e876697 Fix the network command for ipv6 vlan interfaces (#894) 2017-08-16 21:12:32 -07:00
Shu0T1an ChenG
adbc9d102a Merge remote-tracking branch 'github/master' into v1.0.3-backup 2017-08-15 13:53:25 -07:00
Joe LeVeque
3a8f5be19a [docker-database]: Start rsyslogd to allow supervisor to log to syslog (#890) 2017-08-15 10:38:49 -07:00
Joe LeVeque
f938f3ecaf [docker-platform-monitor]: Prevent supervisor from logging unexpected exits from processes known to exit in < 1 second (#889) 2017-08-15 10:38:22 -07:00
Shu0T1an ChenG
e13789c5af Merge remote-tracking branch 'github/master' into v1.0.3
Conflicts:
	platform/mellanox/mlnx-fw-upgrade.sh
	src/sonic-sairedis
	src/sonic-swss
2017-08-10 18:52:01 -07:00
Taoyu Li
a2fe0212be [ConfigDB] Move all BGP configuration into DB (#861)
- BGP data read from minigraph.py now match DB schema
- BGP templates are updated
- bgpcfgd can now deal with runtime neighbor create/delete
2017-08-08 16:23:58 -07:00
Qi Luo
e1f2a2dd75 [lldp] No need to config on port with no minigraph_neighbor, such as port in vlan (#864) 2017-08-02 20:28:00 -07:00
Qi Luo
618b25f18c Squash merge v1.0.3 branch onto master 2017-08-02 22:28:17 +00:00
Taoyu Li
b6efe438b5 Introduce ConfigDB (#808)
* [cfggen] Support reading from and writing to configdb
* [bgp] Move bgp_admin_state to configdb, support dynamic admin state change
* [sonic-utilities] Adapt configDB for admin status, support config save and config load
2017-08-01 19:02:00 -07:00
Oleksandr Ivantsiv
c1fd0b1ae5 [orchagent]: Export platform information before orchagent run. (#835)
Export platform information in environment to be able to write vendor
specific code.
2017-07-25 10:05:27 +03:00
pavel-shirshov
d898011b2e [docker-ptf]: Update entrypoint entry for docker-ptf (#836)
* Updated entrypoint for docker-ptf container

* Add main supervisord.conf file under /etc/supervisor. Run supervisord with option -c
2017-07-24 13:36:40 -07:00
pavel-shirshov
2201bf3496 [docker-ptf]: Install yaml module for python (#821)
* Install yaml python module in docker-ptf container
2017-07-19 23:21:03 -07:00
lguohan
3fd2014e93 [sonic-mgmt]: move sonic-mgmt docker build into sonic-slave (#819)
need to install sonic-device-data into sonic-mgmt docker
2017-07-19 08:10:45 -07:00
sihuihan88
1176508858 [bgpd]: support multiple peer range in single peer group (#807) 2017-07-13 15:03:10 -07:00
Joe LeVeque
f49cac086f Remove extra trailing newlines at EOF (#804)
Files now end with a single newline
2017-07-12 20:54:37 -07:00
Oleksandr Ivantsiv
96fe120265 [mlnx]: Add support of Mellanox SN2740 platform. (#786)
- Update SAI (added support of SN2740 profile).
- Update SDK to version 4.2.3130.
- Update FW to version 13.1224.0140.
- Update HW MGMT to version 1.0.0160.
2017-07-07 14:26:53 +03:00
Shuotian Cheng
a74b3a1eb7 [teamd]: Fix Jinja2 template for calculating min_ports (#791)
In Jinja2, '|' cannot be treated directly as piping operator. The
operator precedence of '|' is higher than '*'. The filter only applies
to the value just before it. Group the expression to make sure that the
filter is applied to the outcome of the expression.

Update the unit test to add such case.
2017-07-06 16:33:24 -07:00
Joe LeVeque
a697e8efcf [docker-base]: Build supervisor package from source in order to update to v3.3.2 (#777)
- Resolves issue #762
2017-07-06 10:32:27 -07:00
pavel-shirshov
7792f09437 [docker-ptf]: Install python modules from pypi (#788) 2017-07-06 02:27:05 -07:00
Joe LeVeque
bce5446dc4 [LLDP]: Port description (TLV 4) now contains '<neighbor_host_name>:<port_name>' (#772) 2017-06-29 16:37:37 -07:00
Joe LeVeque
3798262c1a [DHCP Relay]: Fix Option 82 string - Remove quotes; add MAC address of receiving port as remote_id (#763) 2017-06-27 17:59:36 -07:00
Joe LeVeque
017eea8a87 [DHCP Relay]: Add support for custom Option 82 circuit_id of the form '<hostname>:<portname>' (#747)
* Add docker-dhcp-relay/Dockerfile to .gitignore

* Add isc-dhcp-relay .deb package to image build process, along with my Option 82 patch

* Install custom isc-dhcp-relay in dhcp_relay docker

* Install isc-dhcp-relay build dependencies in sonic-slave Docker container

* Copy the built .deb package to the destination directory

* Add dependencies for isc-dhcp-relay

* Change Option 82 string to '<hostname>:<portname>'

* Install dependencies of .deb files implicitly in Dockerfile

* Remove unused line

* Remove unnecessary space
2017-06-24 12:05:04 -07:00
Joe LeVeque
22819d9983 [docker-platform-monitor]: Add fancontrol (#735) 2017-06-23 15:23:00 -07:00
Shuotian Cheng
d1b12dc0ca [swss]: Sleep 5 min regardless of arp_update return code (#743)
- arp_update return code is not guaranteed to be true/false.
  When there is no VLAN, arp_update will return true.
  When there are VLANs, arp_update will return false because the
  command arping returns 1 due to the option '-w 0'.
- This script should be run every 5 minutes regardless of the return
  code.
2017-06-22 21:26:33 -07:00
lguohan
4bdcac8e4f [bgp]: move allowas-in into ipv6 section to enable allowas-in for ipv6 (#741) 2017-06-22 19:50:24 -07:00
sihuihan88
3268946de5 [BGPD]: add bgp dynamic neighbor configuration (#708)
* add bgp dynamic neighbor configuration

* [bgpd]: update as comments

* update as comment

* update to deployment_id_asn_map

* minor change
2017-06-21 18:52:50 -07:00
Taoyu Li
95906a6490 [installer] Copy old config files rather than only minigraph (#730) 2017-06-21 11:02:25 -07:00
sihuihan88
6867458058 [docker-ptf]: Install exabgp in docker ptf (#709) 2017-06-16 07:25:40 -07:00
Taoyu Li
5e6620e19e [bgp] Save bgp admin state (#690)
* [bgp] Save admin state and set default state to shutdown

* Set default behavior to no shutdown

* Add build option SHUTDOWN_BGP_ON_START

* Script change for default admin state to be on

* Address CR comments to bgp_neighbor script

* Fix script bug
2017-06-12 11:05:22 -07:00
Joe LeVeque
d094ceecc2 [docker-platform-monitor]: Add LED control daemon and plugin for x86_64-arista_7050_qx32 platform (#691)
* Add files for building ledd package; add ledd to docker-platform-monitor; Control platform monitor docker using supervisord

* Add sonic-platform-daemons submodule

* Rename ledd.mk -> sonic-ledd.mk

* Add led_control.py plugin for x86_64-arista_7050_qx32 platform

* Rename Dockerfile -> Dockerfile.j2

* Fix build

* Remove blank line
2017-06-10 22:05:11 -07:00
pavel-shirshov
390591de90 [docker-bgp]: Use address-family ipv6 for ipv6 vlan addresses (#692)
* Fix SAI submodule id

* Fix bgpd template. Use v6 address family for vlan ipv6 addr
2017-06-10 17:05:48 -07:00
lguohan
bc5bca66cc [dockerbase]: remove apt-get clean (#685) 2017-06-08 02:47:53 -07:00