* [sonic build] Define folder macro for target folder /usr/sonic/share/templates
* [sonic-cfggen] allow templates to include from common folders
- Allow templates to include files under /usr/share/sonic/templates
- Allow templates to include files in the same folder as the root template
* [Buffer config] install the buffer configuration template
* [Arista7260cx3] Add buffer configuration for Arista7260CX3 T0 topology
- pg profile look up table is incomplete. Currently contains T0 default
values.
* [Arista7260cx3] Adding QoS configuration
* Address review comments
1. Stop generating ingress pg configuration for lossless pgs.
2. Stop putting ports into speed sets, put all ports in one set.
3. Remove ingress lossless profiles.
4. Added some tailing '-' back to remove leading spaces.
- Adds the following changes:
- [schema] Update Config DB Table name #defines (#188)
- Extending IpAddress class with method to return the scope of any
given ip-address (#187)
- Extending IpPrefix class to return the subnet associated to any
given prefix (#184)
- update build instruction (#185)
* [device] Add a new platform ly1200 for MiTAC
Signed-off-by: Eddy Weng <eddy.weng@mic.com.tw>
* [platform/broadcom/sonic-platform-modules-mitac] Update dependency for new kernel.
Signed-off-by: Stane Shieh <stane.shieh@mic.com.tw>
* [minigraph]: Set hostname in all default minigraphs to 'sonic'
Signed-off-by: Stane Shieh <stane.shieh@mic.com.tw>
* [kernel]: update linux kernel to support ly1200 of MiTAC
Signed-off-by: Stane Shieh <stane.shieh@mic.com.tw>
* [platform/broadcom/sonic-platform-modules-mitac] adapt PSU driver for linux kernel upgrade.
Signed-off-by: Stane Shieh <stane.shieh@mic.com.tw>
* Resolve the conflict with Quanta
modified files are as below.
.gitmodules
platform/broadcom/one-image.mk
platform/broadcom/rules.mk
Signed-off-by: Stane Shieh <stane.shieh@mic.com.tw>
* Upgrade linux-image version
* Add missing dependency of igb
* Fix mft build rule
* Add missing dependency of ixgbe
* [Broadcom]: Update OpenNSL modules to be compatible with kernel 3.16.0-5 (#3)
* [Nephos] Update SDK version to support new kernel module 3.16.0-5 (#4)
* [mellanox]: Update URL for SDK (#5)
* Add patch to prevent 'supervisorctl start' command from hanging if system time has rolled backward
* Also add unit tests for clock rollback scenarios
* Fix build of libsaithrift for broadcom
* Restore libsaithrift-dev building
* Comment out libsaithrift library on cavium and marvell. Both of them have old SAI drivers
* Revert back unintentional acton changes
* Don't run the package checks when building sairedis package
This reverts commit 64602ad5b2.
Reverting this commit because the root cause of the issue was due to
a Broadcom SDK bug which caused VLAN-tagged packets to be tagged twice.
When packets were double-tagged, only one tag was getting stripped before
the packet was trapped to the CPU. However, the second tag was left behind,
which would cause the DHCP relay agent to ignore the packet. The bug has
since been fixed, so now all VLAN-tagged packets should properly have their
tag removed before being trapped to the CPU. Therefore the DHCP relay
agent should never encounter a VLAN-tagged packet.
* 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)
* [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>
* [DHCP relay]: Fix bug which could cause incorrect interface name association
* Add patches to series file and apply using stgit
* Update .gitignore in order to ignore downloaded and generated files
* Reorganize src/ subdirectories alphabetically in .gitignore
* 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
* [TACACS+]: Add support for TACACS+ Authentication
* pam_tacplus - A TACACS+ protocol client library and PAM module to
supports core TACACS+ functions for AAA.
* nss_tacplus - A NSS plugin for TACACS+ to extend function getpwnam,
make the TACACS+ authenticated user which is not found in local
could login successfully.
* Add make rules for pam_tacplus and install script
* Add a patch for pam_tacplus to disable pam-auth-update pam-tacplus
by default
* Add a patch for pam_tacplus to inlucde and build nss_tacplus
Signed-off-by: chenchen.qcc@alibaba-inc.com
* [TACACS+]: Add nss-tacplus as a separate src repo
* Separate nss-tacplus from pam-tacplus, modify tacacs.mk and
makefile, add a patch to adapt to the new user map profile.
* Use the lastest stable version for pam-tacplus, add a dependent
package in sonic-salve, add two patches to fix build error.
* Add scripts to disable tacplus by default.
* Remove hostcfgd service file
Signed-off-by: Chenchen Qi <chenchen.qcc@alibaba-inc.com>
* [TACACS+]: Fix nss-tacplus filter some valid TACACS+ username
* The NAME_REGEX for username check in plugin nss-tacplus is
the ANSI version "^[0-9a-zA-Z_-\ ]*$", but the regular expression
in /etc/adduser.conf is not defined as ANSI version. To avoid
nss-tacplus filter some valid TACACS+ username, remove username
check.
Signed-off-by: Chenchen Qi <chenchen.qcc@alibaba-inc.com>
* 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
sairedis:
[syncd]: Only query queue counters that are needed by the application
swss:
[pfcwdorch]: Set correct polling interval for pfcWdOrch object
[portsorch]: Only add stat IDs that are needed to query
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
It contains:
[pfcactionhandler]: match correct value when aclhandler creates ACL rules (#393)
[orchagent]: Fix issue with bind ACL table group to port (#386)
[vlanmgrd]: Use sonic-swss-common instead of exec redis-cli (#392)
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
- Found a bug in v4.3.1-6 in which dhcrelay would not start if
passed an interface name with a length of 15 characters due
to truncated copy of interface name in common/lpf.c.
Bug was fixed in v4.3.2.
- v4.3.3-6 is the newest version we can build for Debian Jessie, as all
newer versions require newer versions of debhelper and
libbind-export-dev dependencies than are available for Jessie.
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>
* [vs]: add zebra/quagga/fpmsyncd in supervisord.conf
* setup the hostname for vs docker
* do not save to the disk for redis db
* install ipaddress module in vs docker
* update sonic-sairedis submodule
* [init]: save the initial switch mac to config db
Save the initial switch mac to config db DEVICE_METADATA|localhost entry.
* update sonic-swss submodule
* 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>
* [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.
Including:
- [swss] a couple non-functional code cleanup changes
- [bufferorch] move buffer pool definitions together
- [orchagent] optimize the code structure
- [orchagent]: Fix hang problem caused by erase operation on empty map
- [orchagent]: Support port/LAG in multiple VLANs
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
Move port_config.ini related parsing code out of minigraph.py and create an independent portconfig.py.
Add support to multiple optional fields according to Porting Guide
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>
Including this commit:
[port_util]: Return empty dictionary instead of a NoneType in get_bridge_port_map
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
* 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.
* [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
* [build]: sonic-utilities package now depends on swsssdk; add build dependency
* Now building sonic-utilities Python package in wheel format
* Update sonic-utilities submodule
* Change output wheel name to match proper format
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>
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>
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
* [core dump] pass unix time to coredump-compress script
Currently we only have program name (e.g. bgpd) and PID in the core file
name. PID could collide especially after docker restart or recreate.
Passing the unix time to coredump-compress so it could also add time to
the core file name.
* [utilities] include the change to coredump_compress script
* [quagga] enable core dump for bgpd and zebra
bgpd and zebra downgrade their privilege shortly after started. For that
sysctrl kernel.suid_dumpable needs to be set to 2, so that they can dump
core.
Note that fs.suid_dumpable SHOULD NOT be set to 1. Which will bypass all
system security.
- Force log rotation at size thresholds only (no longer also rotating logs daily), allowing for more consistent archived log size
- Eliminate remaining duplicate log messages
- Cron facility now only logs to cron.log (was also logging to syslog)
- Debug, mail, news and user log facilities only log to syslog; no longer creating separate log files for these facilities
- Cron job that calls logrotate every minute now uses the main /etc/logrotate.conf file so as to check/rotate all logs every minute, not just the logs specified in the rsyslog file. Also redirecting output of this command to /dev/null to prevent "(CRON) info (No MTA installed, discarding output)" messages in cron.log due to lack of a mail service
- Delete archive files based on remaining /var/log partition space. Note that this solution currently requires a minimum /var/log partition size of 32MB to function correctly
- Update sonic-sairedis and sonic-swss submodules to incorporate recording file name changes
- Add .screen file to .gitignore (unrelated)
* [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
* [config]: Add SONIC_CONFIG_MAKE_JOBS
This config option allows user to specify -j value that will be passed
to each package build.
Signed-off-by: marian-pritsak <marianp@mellanox.com>
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.
* 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