[sonic-yang-models]: First version of yang models for Port, VLan, Interface, PortChannel, loopback and ACL.
YANG models as per Guidelines.
Guideline doc: https://github.com/Azure/SONiC/blob/master/doc/mgmt/SONiC_YANG_Model_Guidelines.md
[sonic-yang-models/tests]: YANG model test code and JSON input for testing.
[sonic-yang-models/setup.py]: Build infra for yang models.
**- What I did**
Created Yang model for Sonic.
Tables: PORT, VLAN, VLAN_INTERFACE, VLAN_MEMBER, ACL_RULE, ACL_TABLE, INTERFACE.
Created build infra files using which a new package (sonic-yang-models) can be build and can be deployed on sonic switches. Yang models will be part of this new package.
**- How I did it**
Wrote yang models based on Guideline doc:
https://github.com/Azure/SONiC/blob/master/doc/mgmt/SONiC_YANG_Model_Guidelines.md
and
https://github.com/Azure/SONiC/wiki/Configuration.
Wrote python wheel Package infra which runs test for these Yang models using a json files which consists configuration as per yang models. These configs are for negative tests, which means we want to test that most must condition, pattern and when condition works as expected.
**- How to verify it**
Build Logs and testing:
———————————————————————————————————
```
/sonic/src/sonic-yang-models /sonic
running test
running egg_info
writing top-level names to sonic_yang_models.egg-info/top_level.txt
writing dependency_links to sonic_yang_models.egg-info/dependency_links.txt
writing sonic_yang_models.egg-info/PKG-INFO
reading manifest file 'sonic_yang_models.egg-info/SOURCES.txt'
writing manifest file 'sonic_yang_models.egg-info/SOURCES.txt'
running build_ext
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
running bdist_wheel
running build
running build_py
(Reading database ... 155852 files and directories currently installed.)
Preparing to unpack .../libyang_1.0.73_amd64.deb ...
Unpacking libyang (1.0.73) over (1.0.73) ...
Setting up libyang (1.0.73) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Processing triggers for man-db (2.7.6.1-2) ...
(Reading database ... 155852 files and directories currently installed.)
Preparing to unpack .../libyang-cpp_1.0.73_amd64.deb ...
Unpacking libyang-cpp (1.0.73) over (1.0.73) ...
Setting up libyang-cpp (1.0.73) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
(Reading database ... 155852 files and directories currently installed.)
Preparing to unpack .../python3-yang_1.0.73_amd64.deb ...
Unpacking python3-yang (1.0.73) over (1.0.73) ...
Setting up python3-yang (1.0.73) ...
INFO:YANG-TEST:module: sonic-vlan is loaded successfully
ERROR:YANG-TEST:Could not get module: sonic-head
INFO:YANG-TEST:module: sonic-portchannel is loaded successfully
INFO:YANG-TEST:module: sonic-acl is loaded successfully
INFO:YANG-TEST:module: sonic-loopback-interface is loaded successfully
ERROR:YANG-TEST:Could not get module: sonic-port
INFO:YANG-TEST:module: sonic-interface is loaded successfully
INFO:YANG-TEST:
------------------- Test 1: Configure a member port in VLAN_MEMBER table which does not exist.---------------------
libyang[0]: Leafref "/sonic-port:sonic-port/sonic-port:PORT/sonic-port:PORT_LIST/sonic-port:port_name" of value "Ethernet156" points to a non
-existing leaf. (path: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[vlan_name='Vlan100'][port='Ethernet156']/port)
INFO:YANG-TEST:Configure a member port in VLAN_MEMBER table which does not exist. Passed
INFO:YANG-TEST:
------------------- Test 2: Configure non-existing ACL_TABLE in ACL_RULE.---------------------
libyang[0]: Leafref "/sonic-acl:sonic-acl/sonic-acl:ACL_TABLE/sonic-acl:ACL_TABLE_LIST/sonic-acl:ACL_TABLE_NAME" of value "NOT-EXIST" points
to a non-existing leaf. (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='NOT-EXIST'][RULE_NAME='Rule_20']/ACL_TABLE_NAME)
INFO:YANG-TEST:Configure non-existing ACL_TABLE in ACL_RULE. Passed
INFO:YANG-TEST:
------------------- Test 3: Configure IP_TYPE as ARP and ICMPV6_CODE in ACL_RULE.---------------------
libyang[0]: When condition "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPv6ANY'])" not satisfied. (path: /sonic-acl:sonic-acl/ACL_RU
LE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4'][RULE_NAME='Rule_40']/ICMPV6_CODE)
INFO:YANG-TEST:Configure IP_TYPE as ARP and ICMPV6_CODE in ACL_RULE. Passed
INFO:YANG-TEST:
INFO:YANG-TEST:
------------------- Test 4: Configure IP_TYPE as ipv4any and SRC_IPV6 in ACL_RULE.---------------------
libyang[0]: When condition "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPv6ANY'])" not satisfied. (path: /sonic-acl:sonic-acl/ACL_RU
LE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4'][RULE_NAME='Rule_20']/SRC_IPV6)
INFO:YANG-TEST:Configure IP_TYPE as ipv4any and SRC_IPV6 in ACL_RULE. Passed
------------------- Test 5: Configure l4_src_port_range as 99999-99999 in ACL_RULE---------------------
libyang[0]: Value "99999-99999" does not satisfy the constraint "([0-9]{1,4}|[0-5][0-9]{4}|[6][0-4][0-9]{3}|[6][5][0-2][0-9]{2}|[6][5][3][0-5]{2}|[6][5][3][6][0-5])-([0-9]{1,4}|[0-5][0-9]{4}|[6][0-4][0-9]{3}|[6][5][0-2][0-9]{2}|[6][5][3][0-5]{2}|[6][5][3][6][0-5])" (range, length, or pattern). (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V6'][RULE_NAME='Rule_20']/L4_SRC_PORT_RANGE)
INFO:YANG-TEST:Configure l4_src_port_range as 99999-99999 in ACL_RULE Passed
INFO:YANG-TEST:
------------------- Test 6: Configure empty string as ip-prefix in INTERFACE table.---------------------
libyang[0]: Invalid value "" in "ip-prefix" element. (path: /sonic-interface:sonic-interface/INTERFACE/INTERFACE_LIST[interface='Ethernet8'][ip-prefix='']/ip-prefix)
INFO:YANG-TEST:Configure empty string as ip-prefix in INTERFACE table. Passed
INFO:YANG-TEST:
------------------- Test 7: Configure Wrong family with ip-prefix for VLAN_Interface Table---------------------
libyang[0]: Must condition "(contains(../ip-prefix, ':') and current()='IPv6') or (contains(../ip-prefix, '.') and current()='IPv4')" not satisfied. (path: /sonic-vlan:sonic-vlan/VLAN_INTERFACE/VLAN_INTERFACE_LIST[vlanid='100'][ip-prefix='2a04:5555:66:7777::1/64']/family)
INFO:YANG-TEST:Configure Wrong family with ip-prefix for VLAN_Interface Table Passed
INFO:YANG-TEST:
------------------- Test 8: Configure IP_TYPE as ARP and DST_IPV6 in ACL_RULE.---------------------
libyang[0]: When condition "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPV6ANY'])" not satisfied. (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NS
W-PACL-V6'][RULE_NAME='Rule_20']/DST_IPV6)
INFO:YANG-TEST:Configure IP_TYPE as ARP and DST_IPV6 in ACL_RULE. Passed
INFO:YANG-TEST:
------------------- Test 9: Configure INNER_ETHER_TYPE as 0x080C in ACL_RULE.---------------------
libyang[0]: Value "0x080C" does not satisfy the constraint "(0x88CC|0x8100|0x8915|0x0806|0x0800|0x86DD|0x8847)" (range, length, or pattern). (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4'][RULE_NAME='Rule_40']/INNER_ETHER_TYPE)
INFO:YANG-TEST:Configure INNER_ETHER_TYPE as 0x080C in ACL_RULE. Passed
INFO:YANG-TEST:
------------------- Test 10: Add dhcp_server which is not in correct ip-prefix format.---------------------
libyang[0]: Invalid value "10.186.72.566" in "dhcp_servers" element. (path: /sonic-vlan:sonic-vlan/VLAN/VLAN_LIST/dhcp_servers[.='10.186.72.566'])
INFO:YANG-TEST:Add dhcp_server which is not in correct ip-prefix format. Passed
INFO:YANG-TEST:
------------------- Test 11: Configure undefined acl_table_type in ACL_TABLE table.---------------------
libyang[0]: Invalid value "LAYER3V4" in "type" element. (path: /sonic-acl:sonic-acl/ACL_TABLE/ACL_TABLE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V6']/type)
INFO:YANG-TEST:Configure undefined acl_table_type in ACL_TABLE table. Passed
INFO:YANG-TEST:
------------------- Test 12: Configure undefined packet_action in ACL_RULE table.---------------------
libyang[0]: Invalid value "SEND" in "PACKET_ACTION" element. (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST/PACKET_ACTION)
INFO:YANG-TEST:Configure undefined packet_action in ACL_RULE table. Passed
INFO:YANG-TEST:
------------------- Test 13: Configure wrong value for tagging_mode.---------------------
libyang[0]: Invalid value "non-tagged" in "tagging_mode" element. (path: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST/tagging_mode)
INFO:YANG-TEST:Configure wrong value for tagging_mode. Passed
INFO:YANG-TEST:
------------------- Test 14: Configure vlan-id in VLAN_MEMBER table which does not exist in VLAN table.---------------------
libyang[0]: Leafref "../../../VLAN/VLAN_LIST/vlanid" of value "200" points to a non-existing leaf. (path: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[vlanid='200'][port='Ethernet0']/vlanid)
libyang[0]: Leafref "../../../VLAN/VLAN_LIST/vlanid" of value "200" points to a non-existing leaf. (path: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[vlanid='200'][port='Ethernet0']/vlanid)
INFO:YANG-TEST:Configure vlan-id in VLAN_MEMBER table which does not exist in VLAN table. Passed
INFO:YANG-TEST:All Test Passed
../../target/debs/stretch/libyang0.16_0.16.105-1_amd64.deb installtion failed
../../target/debs/stretch/libyang-cpp0.16_0.16.105-1_amd64.deb installtion failed
../../target/debs/stretch/python2-yang_0.16.105-1_amd64.deb installtion failed
YANG Tests passed
Passed: pyang -f tree ./yang-models/*.yang > ./yang-models/sonic_yang_tree
copying tests/yangModelTesting.py -> build/lib/tests
copying tests/test_sonic_yang_models.py -> build/lib/tests
copying tests/__init__.py -> build/lib/tests
running egg_info
writing top-level names to sonic_yang_models.egg-info/top_level.txt
writing dependency_links to sonic_yang_models.egg-info/dependency_links.txt
writing sonic_yang_models.egg-info/PKG-INFO
reading manifest file 'sonic_yang_models.egg-info/SOURCES.txt'
writing manifest file 'sonic_yang_models.egg-info/SOURCES.txt'
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/tests
copying build/lib/tests/yangModelTesting.py -> build/bdist.linux-x86_64/wheel/tests
copying build/lib/tests/test_sonic_yang_models.py -> build/bdist.linux-x86_64/wheel/tests
copying build/lib/tests/__init__.py -> build/bdist.linux-x86_64/wheel/tests
running install_data
creating build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data
creating build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data
creating build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-head.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-acl.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-interface.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-loopback-interface.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-port.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-portchannel.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-vlan.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
```
* f4d9398 2020-04-07 | [vs] Set mto only on tap device (#592) [Kamil Cudnik]
* 0ad13f5 2020-04-07 | [lgtm]: add lgtm static analysis configuration (#589) [lguohan]
* c961260 2020-04-07 | add swss-common-{inc,lib} to specify the prefix of swss-common library (#590) [lguohan]
* 2d68abc 2020-04-06 | [syncd] Load correct global context id (#588) [Kamil Cudnik]
* cd82389 2020-04-06 | Return correct error code when port is in use (#565) [Vasant Patil]
* 2189c2f 2020-04-02 | [syncd] Pass correct switch RID when staring diag shell (#587) [Kamil Cudnik]
* 91792db 2020-04-01 | [syncd] Fix crash during stats polling (#586) [Vitaliy Senchyshyn]
* d13521e 2020-04-01 | [meta] Flush fdb entries after flush api success (#581) [Kamil Cudnik]
* 54b2510 2020-03-17 | [syncd] Use correct VID when GET will fail to obrain object type (#577) [Kamil Cudnik]
* 59b0430 2020-03-16 | [syncd] Unlock vendor api lock if enabling diag shell (#571) [Kamil Cudnik]
* 910d45e 2020-03-16 | [vs] Add more logs when setting MTU on port (#576) [Kamil Cudnik]
* c0d9947 2020-03-13 | [vs] Fix setting correct port mtu value (#573) [Kamil Cudnik]
- This commit fixes the issue #4021 (Sensord not able to start up on
both master and 201911 branches)
- Add the new patch file for "lm-sensors" to perform dh_installinit to
include sensord.init in the packed deb. So that the missing init
script file for 'sensord' will be included in the created 'sensord'
deb.
Signed-off-by: Charlie Chen <charlie_chen@edge-core.com>
* Fix bugs - "show run acl/interfaces" returns traceback when no ACL_RULE/INTERFACE is present in configuration
- Change logic in main to take data only if the var_json appears in DB.
- Add unit testing for bug fix & fix comments
Signed-off-by: Noa Or <noaor@mellanox.com>
As per SONiC CLI requirements, we wanted the collector port to default to 6343 if not explicitly configured. In the Click based CLI, if the collector port is omitted, the port will be set to 6343 by default (https://github.com/Azure/sonic-utilities/blob/master/config/main.py#L2543).
However, if sonic-mgmt-framework based CLI is used, hsflowd was using port 0 as default. host-sflow v2.0.26-4 addresses this issue (i.e. use 6343 in case “collector_port” is not set).
Upgrade hsflowd to v2.0.26-4 to pick up https://github.com/sflow/host-sflow/releases/tag/v2.0.26-4.
The following changes are included in this submodule advance
54b2510 [syncd] Use correct VID when GET will fail to obrain object type (#577)
59b0430 [syncd] Unlock vendor api lock if enabling diag shell (#571)
910d45e [vs] Add more logs when setting MTU on port (#576)
c0d9947 [vs] Fix setting correct port mtu value (#573)
798ce2f [multi-asic]: Update reload of systemd services to support multi-asic platforms (#856)
6f51428 [Mellanox] Fix thermal control issue: use natural sort for fan status and thermal status (#836)
51d26ce [ntp]: support "show ntp" with mgmt vrf based on linux os version (#858)
Signed-off-by: SuvarnaMeenakshi <sumeenak@microsoft.com>
* [thermal control] Fix pmon docker stop issue on 3800
* [thermal fix] Fix QA test issue
* [thermal fix] change psu._get_power_available_status to psu.get_power_available_status
* [thermal fix] adjust log for PSU absence and power absence
* [thermal fix] add unit test for loading thermal policy file with duplicate conditions in different policies
* [thermal] fix fan.get_presence for non-removable SKU
* [thermal fix] fix issue: fan direction is based on drawer
* Fix issue: when fan is not present, should not read fan direction from sysfs but directly return N/A
* [thermal fix] add unit test for get_direction for absent FAN
* Unplugable PSU has no FAN, no need add a FAN object for this PSU
* Update submodules
Co-authored-by: Stephen Sun <5379172+stephenxs@users.noreply.github.com>
maintains backward compatibility to search original x509 location
when telemetry table does not have certs
Signed-off-by: Guohan Lu <lguohan@gmail.com>
Brief:
The community code for has been updated, which mismatched with the existing sonic-mgmt-framework. Hence it broke the build.
Submodule-PR: #43
Details:
The SONiC mgmt Framework, pulls down the community modules in two steps.
Pull the existing; This does a transparent compile too.
Then checkout the specific commit-id for each and do the final compile.
The community code change broke in the compilation phase of step-1.
Fix: For the two affected modules, do download only.
Proper fix:
As part of the next phase of changes, the mgmt-framework is moving go-submodule mode, which will ensure the download happens for the assigned commit-ids only.
e.g. Refer go.mod in sonic-telemetry
* [Mellanox]Integrate hw-mgmt 7.0000.3012
* [sonic-linux-kernel]Advance the submodule head
Advance the sonic-linux-kernel
[sFlow]: Patch to fix skb_over_panic in psample driver (#120)
Added support in the kernel for fullcone 3-tuple unique nat. (#100)
Adding support to compile ARM architecture (#102)
[ixgbe] Support bcm54616s external phy in ixgbe (#122)
Fix i2c ISMT DMA buffer alignment issue (#123)
[mellanox]: Add SN4700 patches. (#126)
If sonic-cfggen is passed the -m argument (to load the minigraph file) along with one or more -j <json_file> arguments, load the JSON files before loading the minigraph file.
This ensures that the init_cfg.json file is loaded before the minigraph, therefore the minigraph can override any default configuration options specified in init_cfg.json. Currently, the behavior is reversed.
Note: This is not an issue if loading loading multiple JSON files, because sonic-cfggen loads them in the left-to-right order they were specified on the command line, therefore providing flexibility for loading JSON files in a specific order. As long as init_cfg.json is specified before config_db.json, the values specified in config_db.json will take precedence.
This patch upgrade the kernel from version
4.9.0-9-2 (4.9.168-1+deb9u3) to 4.9.0-11-2 (4.9.189-3+deb9u2)
Co-authored-by: rajendra-dendukuri <47423477+rajendra-dendukuri@users.noreply.github.com>
Changed logic for building frr. Previously we used latest commit in the FRR_BRANCH. Now the buildsystem will use a tag to identify a commit for building. New approach will let us to update sonic-frr without corrupting building sonic-buildimage.
- What I did
Ported a fix from libteam master to our master.
Fixes#4070Fixes#3649
- How I did it
Applied patch jpirko/libteam@c723737 from upstream.
- How to verify it
Build image for your DUT and warm-reboot your DUT 10 times. Check that all PortChannels are up and no error messages in teamd.log
* Changes in sonic-buildimage for the NAT feature
- Docker for NAT
- installing the required tools iptables and conntrack for nat
Signed-off-by: kiran.kella@broadcom.com
* Add redis-tools dependencies in the docker nat compilation
* Addressed review comments
* add natsyncd to warm-boot finalizer list
* addressed review comments
* using swsscommon.DBConnector instead of swsssdk.SonicV2Connector
* Enable NAT application in docker-sonic-vs
567191f [sairedis] Add knob to disable recording statistics API calls (#547)
8513506 Create Switch and SwitchContainer classes (#549) …
e991281 Update .gitignore (#551)
84b0eed [sairedis] Skip recording GET operations on AVAILABLE attributes (#550) …
634e4e3 [meta] Return OBJECT_IN_USE when removing port is in use (#553)
2961bd3 [syncd] Fix rpc server flag condition (#557)
4628a5a [vs tests] Refactor fdb_update tests to be consistent with vs test suite (#1185)
9594de0 Enable MIRRORv6 for BFN platform (#1177)
a35afac [portsorch] use ingress/egress disable for LAG member enable/disable (#1166)
faab3e1 remove the obsoleted platforms build links (#1169)
97abec5 [restore_neighbors.py] build arp packet with correct hwsrc and psrc (#1158)
97a22ca [vs tests] Mark VLAN and warm reboot tests as xfail (#1183)
b453797 [Teamdmgrd]Fix "teamd cannot start when port channel was down before warm reboot" issue (#1171)
3732e74 [cfgmgr] clear loopback and vrf in kernel if not warmstart (#1141)
51315c1 [debugcounterorch] Add checks for supported counter types and drop reasons (#1173)
10f091d [vs tests] Disable NAT tests to unblock Jenkins (#1179)
698ca2a [portsorch] Refactor portsorch to use FlexCounterManager to setup port and queue stats (#1170)
ea8b1da Merge pull request #1125 from AkhileshSamineni/natorch_changes_in_sonic
bbd77fc Merge pull request #1126 from AkhileshSamineni/natsyncd_changes_in_sonic
419d9d2 Fix bug: shellquote the inner string (#1168)
d507a93 [aclorch] Validate that provided IN/OUT_PORTS are physical interfaces (#1156)
f24081b [AclOrch] add validation for check CRM (#1082)
85036df Merge pull request #1059 from AkhileshSamineni/nat_changes_in_sonic
1eac91e [portsorch] process PortsOrch tables in specific order (#1108)
80e01c0 Teamd :: fix for cleaning up the teamd processes correctly on teamd docker stop (#1159)
77fa5a4 Move away sairedis logrotate from signal handler (#1153)
5ad47af Merge branch 'master' into natorch_changes_in_sonic
982abd6 Fixed compilation issue after forced push.
286ca21 Fixed compilation issue.
3350b85 Added pytest testcases for NAT.
63ebb3a Added platform changes to avoid nexthop traching in OA.
f9a8302 Addressed review comments.
946e53d Fixed compilation issue.
3d2b900 Addressed review comments and added 'nat miss' traps in copp json.
ff2c78c Added changes to verify the NAT is supported before setting nat zone.
346f59a Addressed review comments.
8246acb Removed debug framework change to avoid compilation error
f59ec87 Fixed compilation issue.
e8b9dab Added aclorch changes for "do_not_nat" action.
88fe411 Orchagent changes in sonic-swss submodule to support NAT feature.
3ca530c Addressed review comments
e4b7724 Addressed Review comments
72750ac Natsyncd changes in sonic-swss submodule to support NAT feature.
2086ad2 Fixed compilation issue after forced push.
3fcfea3 Fix in cleanup.
4028803 Added missed check
ed405bf Addressed review comments
ae6eb80 Compilation fix to pick proper ACL Table name - CFG_ACL_TABLE_TABLE_NAME
d750132 Fix for string compilation issue
904e80b Corrected Makefile.am change.
5b09c41 Removed pytest related files and added those to PR #1125
fd733b8 Removed the Orchagent and Natsyncd related files as those are covered as part of PRs #1125 and #1126
b53c888 Loopback related changes for NAT.
29bb539 Added neighsync changes to support warm reboot for NAT.
4e0d0a1 Changes in sonic-swss submodule to support NAT feature.
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
- [neighbor advertiser] remove http endpoint access (#792)
- [dropconfig] Move prefix-handling from CLI to orchagent (#785)
- [acl-loader] Use V6 ethertype for IPv6 ACL rule (#788)
- kdump support (#729)
- Add command line support for thermal control (#777)
- [fdbshow][nbrshow] Print interface OID in lieu of name if there is no OID->interface name mapping (#789)
- ipaddr module to ipaddress for show command (#786)
- [sonic_installer] Adding support for ARM Uboot firmware (#769)
- [config] Merge duplicate vrf configuration (#759)
- [dropconfig] Clean-up error output for devices that do not support drop counters (#784)
- [show] enhance 'show ip[v6] bgp summary' command (#754)
- On sflow enable, start the docker since it is disabled by default (#773)
- [portstat] fix header used (#743)
- Add VRF-related commands to Command Reference Document (#778)
- [intfstat] fix --delete fail when counters dump does not exist (#752)
- [scripts] Adds support for management (1.0) commands (#745)
- A generic JSON file updater, which can add/update-existing attributes. (#770)
- [command reference] Update show int counters info with l3 RIF (#725)
- [fast/warm reboot] ignore errors after shutting down critical service(s) (#761)
- Platform Driver Development Framework (PDDF): Adding PDDF CLI utils (#624)
- Platform plugin for Fast-reboot/warm-reboot (#740)
Signed-off-by: Danny Allen <daall@microsoft.com>
- move single instance services into their own folder
- generate Systemd templates for any multi-instance service files in slave.mk
- detect single or multi-instance platform in systemd-sonic-generator based on asic.conf platform specific file.
- update container hostname after creation instead of during creation (docker_image_ctl)
- run Docker containers in a network namespace if specified
- add a service to create a simulated multi-ASIC topology on the virtual switch platform
Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
Signed-off-by: Suvarna Meenakshi <Suvarna.Meenaksh@microsoft.com>
- catch all exceptions while trying https endpoint
- Used "config-setup backup" command to take a backup copy of current SONiC configuration.
- raise exception when http endpoint return failure
update multiDB changes in sairedis, including:
[MultiDB]: repalce old APIs with New APIs incuding testing (#537)
[syncd] Move port map and port map parser to proper class (#542)
[syncd] Update syncd to expect correct object query message (#548)
Support for snat available entry switch attribute in vslib (needed to run vs pytests) (#546)
Move apiInitialized flag to Globals namespace (#545)
Move command line options and parser to separate classes (#541)
Move ntf_queue to proper NotificationQueue class (#539)
Move api mutex to global class and add sairedis namespace (#544)
Clean sairedis.h header (#543)
Fix mlnx.pl script for perl include local directory (#540)
Layer 2 Forwarding Enhancements (#510)
Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com
00410e5 (HEAD, origin/master, origin/HEAD) [mgmt-framework] Update Swagger URL to repo1.maven.org (#37)
7562028 Merge pull request #36 from Azure/Arlo
cd22b4d (origin/Arlo) Added the certificate check to quiet
7fbcd46 Changed the swagger website to https
5d1041f Added sonic-mgmt-framework deb install to install the contents of sonic-mgmt-framework deb package (#30)
229fe69 Added sonic-mgmt-framework deb install to install the contents of sonic-mgmt-framework deb package
signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
DHCP relay MONitor (dhcpmon) keeps track of DORA messages. If DHCP Relay
is detected to be not forwarding DORA message, dhcpmon will log such event
to syslog. Under the hood dhcpmon keeps counts of clients DR messages,
forwarded DR messages, DHCP server OA messages, and forwarded OA messages.
dhcpmon will check every 12 sec (configurable) if counts are monotonically
increasing and record snapshot of those counters. dhcpmon will report
discrepancies when detected between current counters and snapshot counters.
pull-request: https://github.com/Azure/sonic-buildimage/pull/3886
signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
Packaging libnl 3.5.0 based off libnl 3.2.27 packaging. libnl contains various bug fixes that are nice to have.
pull-request: https://github.com/Azure/sonic-buildimage/pull/3967
signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
update multiDB changes in sonic-py-swsssdk, including:
- read portchannel name from LAG_NAME_MAP_TABLE in COUNTERS_DB (#51)
- Revert "read portchannel name from LAG_NAME_MAP_TABLE in COUNTERS_DB (#51)" (#57)
- [MultiDB] sonic-db-cli should support EVAL operation, app script use … (#58)
PR #3928 needs this swsssdk-py changes to work
Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com
* Added sonic-mgmt-framework as submodule / docker
* fix build issues
* update sonic-mgmt-framework submodule branch to master
* Merged changes 70007e6d2ba3a4c0b371cd693ccc63e0a8906e77..00d4fcfed6a759e40d7b92120ea0ee1f08300fc6
00d4fcfed6a759e40d7b92120ea0ee1f08300fc6 Modified environemnt variables
* Changes to build sonic-mgmt-framework docker
* bumped up sonic-mgmt-framework commit-id
* version bump for sonic-mgmt-framework commit-it
* bumped up sonic-mgmt-framework commit-id
* Add python packages to docker
* Build fix for docker with python packages
* added libyang as dependent package
* Allow building images on NFS-mounted clones
Prior to this change, `build_debian.sh` would generate a Debian
filesystem in `./fsroot`. This needs root permissions, and one of the
tests that is performed is whether the user can create a character
special file in the filesystem (using mknod).
On most NFS deployments, `root` is the least privileged user, and cannot
run mknod. Also, attempting to run commands like rm or mv as root would
fail due to permission errors, since the root user gets mapped to an
unprivileged user like `nobody`.
This commit changes the location of the Debian filesystem to `/fsroot`,
which is a tmpfs mount within the slave Docker. The default squashfs,
docker tarball and zip files are also created within /tmp, before being
copied back to /sonic as the regular user.
The side effect of this change is that the contents of `/fsroot` are no
longer available once the slave container exits, however they are
available within the squashfs image.
Signed-off-by: Nirenjan Krishnan <Nirenjan.Krishnan@dell.com>
* bumped up sonc-mgmt-framework commit to include PR #18
* REST Server startup script is enahnced to read the settings from
ConfigDB. Below table provides mapping of db field to command line
argument name.
============================================================
ConfigDB entry key Field name REST Server argument
============================================================
REST_SERVER|default port -port
REST_SERVER|default client_auth -client_auth
REST_SERVER|default log_level -v
DEVICE_METADATA|x509 server_crt -cert
DEVICE_METADATA|x509 server_key -key
DEVICE_METADATA|x509 ca_crt -cacert
============================================================
* Replace src/telemetry as submodule to sonic-telemetry
* Update telemetry commit HEAD
* Update sonic-telemetry commit HEAD
* libyang env path update
* Add libyang dependency to telemetry
* Add scripts to create JSON files for CLI backend
Scripts to create /var/platform/syseeprom and /var/platform/system, which are back-end
files for CLI, for system EEPROM and system information.
Signed-off-by: Howard Persh <Howard_Persh@dell.com>
* In startup script, create directory where CLI back-end files live
Signed-off-by: Howard Persh <Howard_Persh@dell.com>
* build dependency pkgs added to docker for build failure fix
* Changes to fix build issue for mgmt framework
* Fix exec path issue with telemetry
* s5232[device] PSU detecttion and default led state support
* Processing of first boot in rc.local should not have premature exit
Signed-off-by: Howard Persh <Howard_Persh@dell.com>
* docker mount options added for platform, system features
* bumped up sonic-mgmt-framework commit id to pick 23rd July 2019 changes
* Added mount options for telemetry docker to get access for system and platform info.
* Update commit for sonic-utilities
* [dell]: Corrected dport map and renamed config files for S5232F
* Fix telemetry submodule commit
* added support for sonic-cli console
* [Dell S5232F, Z9264F] Harden FPGA driver kernel module
For Dell S5232F and Z9264F platforms, be more strict when checking state
in ISR of FPGA driver, to harden against spurious interrupts.
Signed-off-by: Howard Persh <Howard_Persh@dell.com>
* update mgmt-framework submodule to 27th Aug commit.
* remove changes not related to mgmt-framework and sonic-telemetry
* Revert "Replace src/telemetry as submodule to sonic-telemetry"
This reverts commit 11c3192975.
* Revert "Replace src/telemetry as submodule to sonic-telemetry"
This reverts commit 11c3192975.
* make submodule changes and remove a change not related to PR
* more changes
* Update .gitmodules
* Update Dockerfile.j2
* Update .gitmodules
* Update .gitmodules
* Update .gitmodules
reverting experimental change
* Removed syspoll for release_1.0
Signed-off-by: Jeff Yin <29264773+jeff-yin@users.noreply.github.com>
* Update docker-sonic-mgmt-framework.mk
* Update sonic-mgmt-framework.mk
* Update sonic-mgmt-framework.mk
* Update docker-sonic-mgmt-framework.mk
* Update docker-sonic-mgmt-framework.mk
* Revert "Processing of first boot in rc.local should not have premature exit"
This reverts commit e99a91ffc2.
* Remove old telemetry directory
* Update docker-sonic-mgmt-framework.mk
* Resolving merge conflict with Azure
* Reverting the wrong merge
* Use CVL_SCHEMA_PATH instead of changing directory for telemetry startup
* Add missing export
* Add python mmh3 to slave dockerfile
* Remove sonic-mgmt-framework build dep for telemetry, fix dialout startup issues
* Provided flag to disable compiling mgmt-framework
* Update sonic-utilites point latest commit id
* Point sonic-utilities to Azure accepted SHA
* Updating mgmt framework to right sha
* Add sonic-telemetry submodule
* Update the mgmt-framework commit id
Co-authored-by: jghalam <joe.ghalam@gmail.com>
Co-authored-by: Partha Dutta <51353699+dutta-partha@users.noreply.github.com>
Co-authored-by: srideepDell <srideep_devireddy@dell.com>
Co-authored-by: nirenjan <nirenjan@users.noreply.github.com>
Co-authored-by: Sachin Holla <51310506+sachinholla@users.noreply.github.com>
Co-authored-by: Eric Seifert <seiferteric@gmail.com>
Co-authored-by: Howard Persh <hpersh@yahoo.com>
Co-authored-by: Jeff Yin <29264773+jeff-yin@users.noreply.github.com>
Co-authored-by: Arunsundar Kannan <31632515+arunsundark@users.noreply.github.com>
Co-authored-by: rvasanthm <51932293+rvasanthm@users.noreply.github.com>
Co-authored-by: Ashok Daparthi-Dell <Ashok_Daparthi@Dell.com>
Co-authored-by: anand-kumar-subramanian <51383315+anand-kumar-subramanian@users.noreply.github.com>
update multiDB changes in sonic-swss-common, including:
[Enhancement] debian/conffiles will give prompt when file existing, need a way to supress prompt (#323)
[MultiDB]:swsscommon replace old API with new APIs including tests (#324)
Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com
Updated the l2 preset config generator to specify 'admin_status': 'up' for every port by default.
The use of setdefault() ensures that if port already has some admin_status set, the original value will not be overwritten.
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
* lldpctl: put a lock around some commands to avoid race conditions
* Read all notifications in lldpctl_recv
* lib: fix memory leak
* lib: fix memory leak when handling I/O
* Update series
* [Mellanox]Update hw-mgmt to V7.0000.2308
sonic-linux-kernel should be updated accordingly with necessary patches uploaded.
* [sub-module]Advance submodule head for sonic-linux-kernel
Azure/sonic-platform-common#71 [Bug fix] fix a syntax error which was introduced by last commit
Azure/sonic-platform-common#70 Fix EEPROM vendor extension TLV number counting issue
Azure/sonic-platform-common#62 Platform Driver Development Framework (PDDF): 1) Changes to psu base class (1.0 APIs) to support PDDF CLI utils, 2) Adding fan_base class to support PDDF fan CLI utils (comments incorporated)
Azure/sonic-platform-common#68 DeviceBase.get_name should raise NotImplementedError like other member
update multiDB changes in sonic-swss to include multiDB API changes:
- [MultiDB]: using new APIs in orch agents and mocktest (#1138)
- [vstest]: gather logs when dvs fail to start (#1140)
Patch isc-dhcp-relay in order to allow the relay agent to discover configured interfaces even if they are down.
Without this patch, the relay agent will not discover configured interfaces if they are down when the relay agent starts up. If the interface(s) then get brought up after the relay started, the relay will discard packets received on these interfaces and log the message, Discarding packet received on <iface_name> interface that has no IPv4 address assigned. This led to race conditions when starting SONiC (or loading configuration). To resolve this, the relay agent would need to be restarted with all configured interfaces up.
With this patch, the relay agent will discover all configured interfaces, whether or not they are up at the time the relay agent starts. Thus, the state of the configured interfaces can be down when the relay agent starts and brought up during the lifetime of the relay agent process, and the relay agent will relay packets as expected; it will not discard them.
Put a flag for fast-reboot to the db using EXPIRE feature. Using this flag in other part of SONiC to start in Fast-reboot mode. If we reload a config, the state in the db will be removed.
update multiDB changes in sonic-py-swsssdk, including:
*[multi-DB] Part 4: add sonic-db-cli to replace redis-cli (#54)
*[multi-DB] Part 3: Python API changes (#52)
*remove SonicV2Connector which is not used any more (#53)
This needs #3825 to be merged first. Otherwise when reloading minigraph/config will hit error.
Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com
* 27a93ff 2019-11-25 | Don't learn fdb entries on LAG when rif based (#538) [Kamil Cudnik]
* 5ef1764 2019-11-22 | Changes in sonic-sairedis repo to support the NAT feature. (#519) [Kiran Kumar Kella]
Signed-off-by: Guohan Lu <gulv@microsoft.com>
update multiDB changes in sonic-utilities, including earlier commit by others as well:
- [multiDB]: all application should use API to get redis_client (#753)
- [VRF]: submit vrf CLI #392 (#558)
- [show] Add 'features' subcommand to display status for optional features (#712)
- [neighbor_advertiser] Adds initial support for HTTPS to neighbor advertiser (#750)
after this update , we are able to update sonic-py-swsssdk submodule without hitting error as before.
Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com
update multiDB changes in sonic-py-swsssdk, including:
*[multi-DB] Part 4: add sonic-db-cli to replace redis-cli (#54)
*[multi-DB] Part 3: Python API changes (#52)
*remove SonicV2Connector which is not used any more (#53)
* 5337490 2019-11-22 | Send port status notification when creating hostif interface (#535) [Kamil Cudnik]
Signed-off-by: Guohan Lu <gulv@microsoft.com>
- [syncd] Fix off-by-one error for attribute enum values query (#536)
- Add support for remove hostif when using tap device (#533)
Signed-off-by: Danny Allen <daall@microsoft.com>
sairedis:
* [SAI] Update SAI submodule to v1.5.1 (#532)
* Cleanup Makefile.am from BFN specific code (#530)
* [vs] Implement indices for debug counters in VS (#531)
* Enable FastReboot if we have key "FAST_REBOOT|system" in State db (#529)
* [flex_counter] Add sairedis support for drop counters (#520)
swss:
* [orchagent] Add swss support for drop counters (#1075)
* [orchagent] warning fixes for 32bit arch compilation (#1129)
* [utilities] Create utility classes for interacting with flex counters (#1093)
* [portsorch] add support to set mac-address learning attribute on bridge-port (#809)
* Fix traceroute issue (#1113)
utilities:
* Add CLI support for configurable drop counters (#688)
* Revert "SONiC Management Framework Release 1.0 (#659)" (#741)
* SONiC Management Framework Release 1.0 (#659)
Signed-off-by: Danny Allen <daall@microsoft.com>