Commit Graph

1368 Commits

Author SHA1 Message Date
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
pavel-shirshov
e55778faa4
Update sonic-sairedis (#1705) 2018-05-14 18:01:02 -07:00
loshihyu
e9672b2b06 [devices]: Add inventec D7032 D7054 platform psustatus (#1696) 2018-05-12 01:32:55 -07:00
Prince Sunny
5e64310a56 [baseimage]: Disable DAD for eth0 explicitly (#1701) 2018-05-12 01:31:17 -07:00
Qi Luo
2d37aa8a7d
[submodule]: Update submodule sonic-snmpagent: Improve mib fundamental classes: retry after reinit_data() throws (#1700) 2018-05-11 21:23:01 -07:00
Shuotian Cheng
d692905aee [swss]: Update sonic-swss submodule (#1699)
[lua]: use not to check whether the field exists (#492)
[PFCWD]: Periodically poll WD counters (#473)
[teamsyncd]: Add team_ifindex2ifname return value check (#500)
[qos]: fix SAI_BUFFER_PROFILE_ATTR_SHARED_DYNAMIC_TH value mismatch bug (#495)
[copporch]: Add SAI_HOSTIF_TRAP_TYPE_UDLD (#480)

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2018-05-11 16:38:44 -07:00
lguohan
931b5dee13
[quagga]: update quagga submodule (#1698)
* [quagga]: update quagga submodule

0bc6bd6 2018-05-11 | ignore nexthop attribute when NLRI is present (#18) (HEAD, origin/debian/0.99.24.1, origin/HEAD) [lguohan]

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

* add vs bgp test

Signed-off-by: Guohan Lu <gulv@microsoft.com>
2018-05-11 14:02:10 -07:00
Joe LeVeque
e900369fa3
[slave.mk] Define SPACE variable differently such that the line doesn't end in whitespace (#1676) 2018-05-10 18:52:38 -07:00
Liat Grozovik
dc93889848
Revert "[minigraph parser] Fix minigraph parser issue when handling LAG related ACL table configuration (#1609)" (#1693)
This reverts commit d7cd056ff4.
2018-05-10 13:02:28 +03:00
Kebo Liu
d7cd056ff4 [minigraph parser] Fix minigraph parser issue when handling LAG related ACL table configuration (#1609)
*   Fix minigraph parser issue when handling LAG related ACL table configuration

  Changes to be committed:
	modified:   src/sonic-config-engine/minigraph.py
	modified:   src/sonic-config-engine/tests/test_cfggen.py

  signed-off-by kebol@mellanox.com
2018-05-10 11:22:03 +03: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
685282da9d
[submodule]: Update submodule sonic-snmpagent: Improve mib fundamental classes (#1689)
Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2018-05-09 19:18:35 -07:00
Shuotian Cheng
32dc2cd2b4
[utilities]: Update sonic-utilities submodule (#1687)
[acl-loader]: Change the header from Rule ID to Table (#250)
[acl-loader]: Add --table_name option to update full operation (#249)
[generate_dump]: fix a saidump file copy bug (#248)

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2018-05-09 17:49:21 -07:00
Volodymyr Samotiy
d62c6ffef9 [mellanox]: Update MLNX SAI pointer (#1683)
Signed-off-by: Volodymyr Samotiy <volodymyrs@mellanox.com>
2018-05-08 14:45:36 -07:00