Commit Graph

90 Commits

Author SHA1 Message Date
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
0fffa6c63b
Add caclmgrd and related files to translate and install control plane ACL rules (#1240) 2018-01-09 17:55:10 -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
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
b9a0ef883c
[utilities]: Update sonic-utilities and sonic-py-swsssdk submodule (#1220)
[py-swsssdk]: Adapt to py-swsssdk refactor of mod_entry and mod_config (#165)
[intfutil]: Fix python indentation (#166)

Change set_config to mod_config

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2017-12-08 17:28:01 -08:00
Shuotian Cheng
e5898940a5 [config-engine]: Change minigraph.py permission from 0755 to 0644 (#1219) 2017-12-08 09:06:48 -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
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
Wataru Ishida
3d70b715d5 [sonic-cfggen] add option for redis connection (#1213)
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2017-12-06 21:45:03 -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
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
Prince Sunny
803c263331 [baseimage]: Subnet route added for management interface (eth0) - "fixes #1023" (#1142)
* Added management subnet route to route table-default in kernel.

* Added sample output to interface file
2017-11-14 08:19:24 -08:00
Joe LeVeque
a6edef2fa5
[docker-teamd]: Manage teamd and teamsyncd processes with supervisor (#1137) 2017-11-13 14:16:19 -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
Taoyu Li
8b8b8a130f [cfg engine] Separate portconfig.py as individual module for port_config.ini parsing (#1072)
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
2017-10-24 10:56:09 -07:00
Taoyu Li
8bc6b55331 [bgpd.conf] Fix template issue with multiple lo addresses (#1060) 2017-10-20 07:15:11 -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
Joe LeVeque
37dc7bd478 [interfaces]: Set hwaddr of VLAN interfaces to system MAC upon creation (#1042) 2017-10-16 17:36:21 -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
Taoyu Li
7fa502a45e [cfggen] Fix a bug in --var-json option with multi-keys (#1015) 2017-10-05 21:45:34 -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
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
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
Volodymyr Samotiy
763205ff7d [config]: Fix management interface configuration (#966)
* [config]: Fix management interface configuration

* [config]: Fix management interface configuration

* Fix comments
2017-09-20 23:55:50 -07:00
Prince Sunny
72f5d6bcb7 [interfaces]: Change MTU value to 9100 (#967)
* Updated MTU to the widely used value with other devices
2017-09-19 19:29:00 -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
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
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
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
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
Shuotian Cheng
4d5420b865 [minigraph]: Ignore eth0 IPv6 addresses (#841)
- IPv6 is not supported on management interface
- Add unit test
2017-07-25 07:09:23 -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
Andriy Moroz
1248cc80e7 Fix ACL json translation (#794)
* Fix ACL json translation

* Fix json translation tests
2017-07-07 11:40:35 -07: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
Taoyu Li
90f21d403c [cfg engine] Add support to read device description xml (#775)
[cfg engine] Add support to read device description xml
2017-07-06 15:28:23 -07:00
Taoyu Li
00c494f023 [sonic-cfggen]: Add default IP deny rule in translate_acl (#734)
- Add IPv4 implicit rule: deny ip any any
  This implicit rule has lowest priority and ensures that
  the device denies all unmatched IP traffic.
2017-06-23 01:08:25 -07:00
Shuotian Cheng
5c852704fe [sonic-cfggen]: Fix minigraph.py when port_alias_map absent (#738) 2017-06-22 14:34:15 -07:00
Taoyu Li
a8e3d9745f [sonic-cfggen]: Support multiple input yaml files with -y option (#729) 2017-06-21 23:49:15 -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
pavel-shirshov
b616a33ff3 [sonic-cfg]: Use vlanid to generate sonic vlan name (#695)
* Use Vlan{{vlanid}} schema name of sonic vlans
2017-06-13 11:37:43 -07:00
Shuotian Cheng
023a5b9714 [sonic-cfggen]: translate_acl tool adds TCP mask (#697)
In orchagent, the TCP_FLAGS expects both value and mask as the input.
Right now, translate_acl tool only support one TCP flag and generate
the ACL with both value and mask equal to the flag. This rule will
match packets that have this specific flag set regardless of the other
flags.
2017-06-12 21:22:46 -07:00
Marian Pritsak
820e7aafd0 [docker-teamd]: Explicitly set LAG hwaddr (#664)
* [docker-teamd]: Explicitly set LAG hwaddr

Team device is initially created without any members and has a random HW
address, which is later changed to port's address. This configuration
sets team device's address explicitly to base MAC to avoid reassignment.

Signed-off-by: marian-pritsak <marianp@mellanox.com>

* Update teamd config tests with hwaddr

Signed-off-by: marian-pritsak <marianp@mellanox.com>

* Align HW addr byte for Centec and Mellanox

Signed-off-by: marian-pritsak <marianp@mellanox.com>

* Change HW addr to unicast in config tests

Signed-off-by: marian-pritsak <marianp@mellanox.com>
2017-06-06 16:13:38 -07:00