Commit Graph

7081 Commits

Author SHA1 Message Date
Wirut Getbamrung
aaac497370 [device]: Fix a bug that psuutil cannot access gpio sysfs to get PSU status (#1789) 2018-06-21 10:57:32 -07:00
Taoyu Li
b745c0bf1b Modify sudo lecture message to be more informational (#1800) 2018-06-21 10:41:50 -07:00
Taoyu Li
7557007761 [interface-config] Force eth0 before reconfiguration (#1802) 2018-06-21 10:40:28 -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
Denis Maslov
d82db79051 [caclmgrd] Translation of ACL Control Plane rules into iptables commands fixed (#1798)
Signed-off-by: Denis Maslov <Denis.Maslov@cavium.com>
2018-06-19 21:14:49 -07:00
Qi Luo
81b782cb86 [libnl3]: Backup libnl3 source packages in Azure Storage (#1799)
Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2018-06-19 21:09:08 -07:00
Shuotian Cheng
493ae71f8f [Broadcom]: update Broadcom SAI to 3.1.3.4-14 (#1797)
Fix mirror session destination update bug causing no resources issue

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2018-06-19 17:52:09 -07:00
Rodny Molina
b5f153b3ae Introducing 'debugging' and 'profiling' options in sonic build-infra (#1782) 2018-06-19 15:59:12 -07:00
Qi Luo
a8a7b795db [libnl3]: Upgrade libnl3 version to 3.2.27-2, same version as in Debian Stretch (#1795)
Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2018-06-19 13:12:28 -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
Joe LeVeque
1942183185 [devices]: Add Broadcom config files for Arista 7050 SKUs; Remove 'serdes_firmware_mode_xe=0x1' line (#1779)
* Add Broadcom config files for Arista-7050-QX32 and Arista-7050-Q16S64 SKUs under respective directories

* Remove 'serdes_firmware_mode_xe=0x1' line from Arista 7050 Broadcom config files
2018-06-11 13:54:02 -07:00
Pradchaya P
481463ccbf Add Celestica seastone dx010 psuutil.py plugins (#1781) 2018-06-11 10:40:58 -07:00
stepanblyschak
ed06aca40e [mellanox] Add cpldupdate utility to SONiC image (#1746)
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2018-06-09 11:31:34 -07:00
Joe LeVeque
dc547e4c8d [sonic-platform-daemons] Update submodule (#1754) 2018-06-09 11:30:55 -07:00
stepanblyschak
a4b830b3af [mellanox] Update hw-mgmt pointer (#1759)
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2018-06-09 11:29:52 -07:00
Serhey Popovych
8d88455509 [baseimage]: Improve password hashing for default user account (#1748)
* [slave.mk]: Fix displaying username and password in build summary

We display contents of DEFAULT_USERNAME and DEFAULT_PASSWORD, while
image can be build with USERNAME and/or PASSWORD given on make(1)
command line. For example:

  $ make USERNAME=adm PASSWORD=mypass target/sonic-broadcom.bin

Fix by displaying USERNAME and PASSWORD variables in build summary.

Signed-off-by: Sergey Popovich <sergey.popovich@ordnance.co>

* [baseimage]: Improve default user account handling

There are couple of issues with current implementation of default
user account management in baseimage:

  1) It uses DES to encrypt accounts password. Furthermore this
     effectively limits password length to 8 symbols, even if more
     provided with PASSWORD or DEFAULT_PASSWORD from rules/config.

  2) Salt value for password is same on all builds even with different
     password increasing attack surface.

  3) During the build process password passed as command line parameter
     either as plain text (if given to make(1) as "make PASSWORD=...")
     or DES encrypted (if given to build_debian.sh) can be seen by
     non-build users using /proc/<pid>/cmdline file that has group and
     world readable permissions.

Both 1) and 2) come from:

  perl -e 'print crypt("$(PASSWORD)", "salt"),"\n"')"

that by defalt uses DES if salt does not have format $<id>$<salt>$,
where <id> is hashing function id. See crypt(3) for more details on
valid <id> values.

To address issues above we propose following changes:

  1) Do not create password by hands (e.g. using perl snippet above):
     put this job to chpasswd(8) which is aware about system wide
     password hashing policy specified in /etc/login.defs with
     ENCRYPT_METHOD (by default it is SHA512 for Debian 8).

  2) Now chpasswd(8) will take care about proper salt value.

  3) This has two steps:

    3.1) For compatibility reasons accept USERNAME and PASSWORD as
         make(1) parameters, but warn user that this is unsafe.

    3.2) Use process environment to pass USERNAME and PASSWORD variables
         from Makefile to build_debian.sh as more secure alternative to
         passing via command line parameters: /proc/<pid>/environ
         readable only by user running process or privileged users like
         root.

Before change:
--------------

  hash1
  -----
  # u='admin'
  # p="$(LANG=C perl -e 'print crypt("YourPaSs", "salt"),"\n"')"
                                      ^^^^^^^^
                                      8 symbols
  # echo "$u:$p" | chpasswd -e

  # getent shadow admin
  admin:sazQDkwgZPfSk:17680:0:99999:7:::
        ^^^^^^^^^^^^^
        Note the hash (DES encrypted password)

  hash2
  -----
  # u='admin'
  # p="$(LANG=C perl -e 'print crypt("YourPaSsWoRd", "salt"),"\n"')"
                                      ^^^^^^^^^^^^
                                      12 symbols
  # echo "$u:$p" | chpasswd -e

  # getent shadow admin
  admin:sazQDkwgZPfSk:17680:0:99999:7:::
        ^^^^^^^^^^^^^
        Hash is the same as for "YourPaSs"

After change:
-------------

  hash1
  -----
  # echo "admin:YourPaSs" | chpasswd
  # getent shadow admin
  admin:$6$1Nho1jHC$T8YwK58FYToXMFuetQta7/XouAAN2q1IzWC3bdIg86woAs6WuTg\
           ^^^^^^^^
           Note salt here
  ksLO3oyQInax/wNVq.N4de6dyWZDsCAvsZ1:17681:0:99999:7:::

  hash2
  -----
  # echo "admin:YourPaSs" | chpasswd
  # getent shadow admin
  admin:$6$yKU5g7BO$kdT02Z1wHXhr1VCniKkZbLaMPZXK0WSSVGhSLGrNhsrsVxCJ.D9\
           ^^^^^^^^
           Here salt completely different from case above
  plFpd8ksGNpw/Vb92hvgYyCL2i5cfI8QEY/:17681:0:99999:7:::

Since salt is different hashes for same password different too.

  hash1
  -----
  # LANG=C perl -e 'print crypt("YourPaSs", "\$6\$salt\$"),"\n"'
                                             ^^^^^
                                             We want SHA512 hash
  $6$salt$qkwPvXqUeGpexO1vatnIQFAreOTXs6rnDX.OI.Sz2rcy51JrO8dFc9aGv82bB\
  yd2ELrIMJ.FQLNjgSD0nNha7/

  hash2
  -----
  # LANG=C perl -e 'print crypt("YourPaSsWoRd", "\$6\$salt\$"),"\n"'
  $6$salt$1JVndGzyy/dj7PaXo6hNcttlQoZe23ob8GWYWxVGEiGOlh6sofbaIvwl6Ho7N\
  kYDI8zwRumRwga/A29nHm4mZ1

Now with same "salt" and $<id>$, and same 8 symbol prefix in password, but
different password length we have different hashes.

Signed-off-by: Sergey Popovich <sergey.popovich@ordnance.co>
2018-06-09 11:29:16 -07:00
zhenggen-xu
d2b1a0bcea [devices]: Add index and speed for port_config.ini on Celestica platform (#1780) 2018-06-09 11:21:01 -07:00
zhenggen-xu
83d9c7e593 [bcmsh] Fix the bcmsh issues. (#1761)
bcmsh is not copied to /usr/bin/ at host side
2018-06-06 15:39:23 -07:00
Mykola F
0ff7ba69f7 [sai.profile] move hwsku specific device configs to device/mellanox/platform/hwsku (#1768) 2018-06-06 10:05:46 -07:00
Joe LeVeque
711be8f7da [caclmgrd] Heuristically determine whether ACL is IPv4 or IPv6, use iptables/ip6tables accordingly (#1767)
* [caclmgrd] Heuristically determine whether ACL is IPv4 or IPv6, use iptables/ip6tables accordingly

* Check all rules in table until we find one with a SRC_IP
2018-06-05 03:24:30 -07:00
Qi Luo
eee36719ea
Revert the feature: serial port watchdog service (#1766)
* Revert "[serial watchdog] remove serial watchdog service dependency to rc.local (#1752)"
* Revert "[service] introducing serial port watchdog service (#1743)"
2018-06-04 21:06:58 -07:00
Qi Luo
d54a7ae566
[baseimage] Adding setuid permissions to ping binaries, so sudo is no longer needed (#1765) 2018-06-04 21:01:53 -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
lguohan
e7d17c0a2b
[broadcom]: update brcm sai to 3.1.3.4-13 (#1760)
Signed-off-by: Guohan Lu <gulv@microsoft.com>
2018-06-01 08:13:58 -07:00
Wenda Ni
54046d4d47 [devices]: change S6100 to use new ECN/WRED config (#1749)
Signed-off-by: Wenda <wenni@microsoft.com>
2018-06-01 02:59:29 -07:00
Qi Luo
a6d2d777c4
Fix links of debian git server (#1755) 2018-05-31 18:38:12 -07:00
Ying Xie
c1057177d9
[serial watchdog] remove serial watchdog service dependency to rc.local (#1752)
* [serial watchdog] remove serial watchdog service dependency to rc.local

When restarting this service in rc.local, the dependency causes an error
in syslog. Removing the dependency to mute the error log entry.

* remove lines with empty inputs
2018-05-30 18:29:43 -07:00
Andriy Moroz
2d7046c410 Add QoS and Buffers configs for Mellanox MSN2100 and MSN2410 (#1739)
* Add QoS and Buffers config for Mellanox MSN2410

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

* Add QoS and Buffers config for Mellanox MSN2100

Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2018-05-29 23:24:05 -07:00
Taoyu Li
225b3e5b91
Fix a bug that default graph might be missing when generating minimal config (#1747) 2018-05-29 13:46:25 -07:00
Kebo Liu
a917517f60 [minigraph parser] Fix minigraph parser issue when handling LAG related ACL table configuration (#1712)
* Fix minigraph parser issue when handling LAG related ACL table configuration
* rephrase the warning message.
* pick up swss change in https://github.com/Azure/sonic-swss/pull/494
2018-05-26 09:43:36 -07:00
Shuotian Cheng
46c2d340ff [docker_image_ctl]: Add --force while removing obsolete dockers (#1744) 2018-05-25 20:04:08 -07:00
Ying Xie
bb6ff62a32
[service] introducing serial port watchdog service (#1743)
* [rc.local] refactor platform identification code to separate function

Signed-off-by: Ying Xie <ying.xie@microsoft.com>

* [rc.local] infrastructure to take action according to installer.conf

* [serial port watchdog] add service to watch serial port processes

Monitor serial port processes. Kill ones stuck for too long.

Signed-off-by: Ying Xie <ying.xie@microsoft.com>

* [rc.local] start watchdog on serial port specified by installer.conf

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2018-05-25 10:52:35 -07:00
Ying Xie
d165a5030a
[sairedis] update sairedis sub-module (#1741)
Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2018-05-24 17:31:03 -07:00
Ying Xie
4d564688bf
[broadcom sai] upgrade Broadcom SAI to version 3.1.3.4-12 (#1740)
Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2018-05-24 16:49:24 -07:00
Wenda Ni
d32c043486 [sonic-cfggen]: Protect config_db.json from minigraph misconfig (#1727)
* Add noise config for PortChannel & EthernetInterface in simple-sample-graph.xml

* Add noise config for PORTCHANNEL_INTERFACE in simple-sample-graph.xml

Signed-off-by: Wenda <wenni@microsoft.com>

* Add noice config for DEVICE_NEIGHBOR in t0-sample-graph.xml

Add unit test against introducing ports not existing in port_config.ini
into DEVICE_NEIGHBOR

Signed-off-by: Wenda <wenni@microsoft.com>

* DeviceInterfaceLink in minigraph.xml can contain port not existing in
port_config.ini but contraining non-zero Bandwidth attribute

Add noice config in simple-sample-graph.xml to capture the case that
such a port is leaked into config_db.json

Signed-off-by: Wenda <wenni@microsoft.com>

* Protect PORTCHANNEL from ports not existing in port_config.ini

Signed-off-by: Wenda <wenni@microsoft.com>

* Protect PORTCHANNEL_INTERFACE from portchannels containing ports not
existing in port_config.ini

Signed-off-by: Wenda <wenni@microsoft.com>

* Protect DEVICE_NEIGHBOR from ports not existing in port_config.ini

Signed-off-by: Wenda <wenni@microsoft.com>

* Add noise config Ethernet1 in DeviceInterfaceLinks in simple-sample-graph.xml as it is in PortChannel1001

Signed-off-by: Wenda <wenni@microsoft.com>

* Add noise config Ethernet1 in DeviceInterfaceLinks in simple-sample-graph.xml as it is in PortChannel1001

Signed-off-by: Wenda <wenni@microsoft.com>

* Protect PORTCHANNEL from ports not existing in port_config.ini

Signed-off-by: Wenda <wenni@microsoft.com>

* Protect PORTCHANNEL_INTERFACE from portchannels containing ports not
existing in port_config.ini

Signed-off-by: Wenda <wenni@microsoft.com>

* Protect DEVICE_NEIGHBOR from ports not existing in port_config.ini

Signed-off-by: Wenda <wenni@microsoft.com>

* Correct space in minigraph.py

Signed-off-by: Wenda <wenni@microsoft.com>

* Does not allow non-port_config.ini port to get into the port list

Signed-off-by: Wenda <wenni@microsoft.com>

* Check PORTCHANNEL against PORT list only if port_config_file exists

Signed-off-by: Wenda <wenni@microsoft.com>

* Correct format

Signed-off-by: Wenda <wenni@microsoft.com>

* print warning when a port coming from DeviceInterfaceLink is not in
port_config.ini

Signed-off-by: Wenda <wenni@microsoft.com>

* Change Ethernet1 and 2 to fortyGigE0/1 and 2,respectively

Signed-off-by: Wenda <wenni@microsoft.com>

* Change Ethernet1 and 2 to fortyGigE0/1 and 2,respectively

Signed-off-by: Wenda <wenni@microsoft.com>

* print warning when ignoring ports, portchannels, portchannel interfaces, and
device neighbors

Update t0-sample-graph.xml with interface name 'fortyGigE0/2' and the
ACL_TABLE output

Signed-off-by: Wenda <wenni@microsoft.com>
2018-05-24 11:05:38 -07:00
Joe LeVeque
6fc38af2f0
Remove fan LED initialization from led_control plugins for Arista 7050-QX32, 7050-QX-32S (#1733) 2018-05-23 17:57:38 -07:00
Wirut Getbamrung
ea465db046 [devices]: update dx010 fan configuration (#1735) 2018-05-23 02:55:29 -07:00
Qi Luo
c055dd232f
[submodule]: Update submodule sonic-snmpagent: power_status_handler handles missing PSU (#1732) 2018-05-22 14:53:35 -07:00
Harish Venkatraman
d261506f84 [device/dell] Add z9100 pfc T1 support (#1707)
This commit adds new code to support z9100 PFC T1 support with
broadcom recommended MMU settings for PFC feature.

Unit tested the setting by loading sonic-broadcom.bin and checking
the hardware for the values from the JSON file. Added the config.bcm
file th-z9100-32x100G.config.bcm to this folder and updated the
sai.profile file to point to hwsku directory. sai.profile now
points to /usr/share/sonic/hwsku/th-z9100-32x100G.config.bcm

Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>
2018-05-21 13:57:37 -07:00
Harish Venkatraman
5feb3632c9 [device/dell] Add z9100 pfc T0 support (#1708)
This commit adds new code to support z9100 PFC T0 support with
broadcom recommended MMU settings for PFC feature.

Unit tested the setting by loading sonic-broadcom.bin and checking
the hardware for the values from the JSON file. The T0 configs supports
fan-out of 100G ports on Z9100. Added new config.bcm for fanout of 100G
ports and tested the fanout by sending traffic using bcmcmd, new config.bcm
file will be copied to /usr/share/sonic/hwsku/th-z9100-8x100-48x50G.config.bcm.
The sai.profile file is updated to point to hwsku directory.

Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>
2018-05-21 13:57:25 -07:00
pavel-shirshov
46dc46e110
[submodule update]: sonic-swss. Don't collect unwanted counters (#1729)
* Update sonic-sairedis and sonic-swss submodules

* Update sonic-swss submodule. Don't collect unwanted counters

* sonic-swss-common update too
2018-05-18 20:06:49 -07:00
lguohan
c0bb2e04d5
[devices]: add Mellanox-SN2700-D48C8 hwsku (#1717)
Signed-off-by: Guohan Lu <gulv@microsoft.com>
2018-05-18 16:32:49 -07:00
Prince Sunny
74aa48279f [devices]: Reverting the xoff value for Arista 7060 t0 topology (#1726) 2018-05-17 17:41:43 -07:00
pavel-shirshov
9e8883b97b
Update sonic-sairedis and sonic-swss submodules (#1724) 2018-05-17 13:53:35 -07:00
lguohan
eb9b86aca4
[vs]: add teamd test on vs platform (#1720)
Signed-off-by: Guohan Lu <gulv@microsoft.com>
2018-05-17 11:12:59 -07:00
Volodymyr Samotiy
174960cc22 [mellanox]: Update FW pointer (#1721)
Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>
2018-05-17 11:12:07 -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
lguohan
76d9de5d8e
[fast-reboot]: support encoded & gzipped minigraph in fast reboot (#1716)
* [fast-reboot]: support encoded & gzipped minigraph in fast reboot

Signed-off-by: Guohan Lu <gulv@microsoft.com>

* add acl.json and snmp.yml into fast-reboot

Signed-off-by: Guohan Lu <gulv@microsoft.com>
2018-05-16 10:04:17 -07:00
Samuel Angebault
c1e37a6be9 [Arista]: Add a reboot script for all remaining platforms. (#1706)
Adds a platform_reboot script for 7050QX-32, 7050QX-32S and 7060CX-32S.
This allow a proper cold reboot to happen.
2018-05-15 05:27:10 -07:00