Commit Graph

52 Commits

Author SHA1 Message Date
Prince Sunny
231d309b69
Generate interface table to have an entry designated to default VRF. (#2848)
* Generate default VRF table for router interfaces

* Updated jinja2 template to have prefix filter
2019-06-10 14:02:55 -07:00
xiongjihai
6aad2da475 [sonic-cfggen]: Add a unit-test in sonic-cfggen to test argument "--var-json" (#2906) 2019-05-18 22:10:54 -07:00
Shuotian Cheng
0b745ed946 [minigraph]: Add mirror type v6 condition (#2836)
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2019-05-01 12:04:33 -07:00
Shuotian Cheng
ad2c1b26dd [minigraph]: Fix bug in copying list in Python (#2831)
'=' cannot be used for copying the list

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2019-04-26 15:25:09 -07:00
Shuotian Cheng
4791701752 [minigraph]: Mark both ERSPAN and ERSPANv6 as mirror ACL tables (#2732)
- Support ERSPAN and ERSPANv6 two types of ACL tables.
- Update the unit test to cover this case.

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2019-04-02 16:59:00 -07:00
Mykola F
b86dc061c1 [config engine] update test_cfggen test_port_description test (#2593)
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2019-02-21 17:00:45 +02:00
Mykola F
85c16b3702 [minigraph] asymmetric pfc is disabled by default (#2481)
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>

Conflicts:
	src/sonic-config-engine/tests/sample_output/ports.json
	src/sonic-config-engine/tests/test_cfggen.py
2019-02-20 08:38:09 +02:00
Guohan Lu
2543b711ea setup port description if minigraph has neighbor information
Signed-off-by: Guohan Lu <gulv@microsoft.com>
2019-02-12 09:41:15 +00:00
Mykola F
19846be7c2 [minigraph.py] generate port description for every port (#2395)
* [minigraph.py] generate mandatory default port description

Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>

* use port name as default description

* [config-engine] update test exaple output

Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>

* [minigraph.py] use alias/port name as default description instead of neighbor data

Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
2019-02-04 15:08:00 +02:00
Taoyu Li
aedfd6e708 [sonic-cfggen] Multi-key should be in form of (a,b) instead of 'a|b' (#2337) 2018-12-04 10:07:44 -08:00
Shuotian Cheng
e5a031b5d5
[minigraph.py]: Set default admin_status up to LAG/VLAN members (#2209)
By default, port channel members and VLAN members are set to admin
status UP. This configuration could be updated via the command:
config interface <interface_name> startup/shutdown

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2018-10-30 16:42:38 -07:00
Taoyu Li
034f472f46 [minigraph parser] add basic support for MGMT_PORT (#2103)
* [minigraph parser] add basic support for MGMT_PORT

* Change method to determine local interface name
2018-09-28 22:56:40 -07:00
Shuotian Cheng
f7024424bb
[minigraph]: Add min_links attribute to PORTCHANNEL configuration table (#2053)
The default min_links value is the ceiling value of 75% of total number
of members.

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2018-09-17 20:23:36 -07:00
Shuotian Cheng
5c6948a90e [minigraph]: Add PORTCHANNEL_MEMBER configurations (#2034)
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2018-09-11 18:07:46 -07:00
Shuotian Cheng
9413fa9a7b
[interfaces]: Move IP/MTU information from interfaces file into database (#1908)
- Move front panel ports and port channels MTU and IP configurations out of
the current /etc/network/interfaces file and store them in the configuration
database.

- The default MTU value for both front panel ports and the port channels is
9100. They are set via the minigraph or 9100 by default.

- Introduce portmgrd which will pick up the MTU configurations from the
configuration database.

- The updated intfmgrd will pick up IP address changes from the configuration
database.

- Update sonic-swss submodule

Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
2018-08-20 11:19:16 -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
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
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
Qi Luo
f12ab9473e [minigraph] Fix parser on PNG DeviceInterfaceLink Bandwidth (#1592)
* [minigraph] Fix parser on PNG DeviceInterfaceLink Bandwidth

Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2018-04-12 15:44:57 -07:00
lguohan
2d54d43a0f
[minigraph]: ignore minigraph ports which are not in port_config.ini (#1593)
Signed-off-by: Guohan Lu <gulv@microsoft.com>
2018-04-12 04:04:32 -07:00
Joe LeVeque
c626dc921f
Allow one Service ACL to bind to multiple services (#1576)
* [caclmgrd] Also ignore IP protocol if found in rule; we will only use our predefined protocols
2018-04-10 18:14:12 -07:00
lguohan
af0013e939
[cfggen]: ignore acl when its type is not defined (#1568)
Signed-off-by: Guohan Lu <gulv@microsoft.com>
2018-04-09 16:41:51 -07:00
Taoyu Li
a04401f68f [minigraph.py] Add support to parse tacacs server information (#1549)
* [minigraph.py] Add support to parse tacacs server information
2018-04-02 09:17:47 -07:00
Prince Sunny
a145f2c08a
Set FEC to reed-solomon if the port speed is 100G (#1383)
* Set FEC to reed-solomon if the port speed is 100G
2018-02-08 21:26:19 -08:00
Taoyu Li
4925d48b1a Fix VLAN_INTERFACE attach issue upon vlan id-name mismatch (#1367) 2018-02-07 22:06:41 +08:00
Joe LeVeque
8cf03b0b28
[sonic-cfggen] Enhance ACL unit test to also test control plane (service) ACLs (#1349) 2018-01-30 11:19:03 -08:00
Joe LeVeque
da10ff5aa9 [minigraph.py] Only add 'service' field to control plane ACLs, not dataplane ACLs (#1341)
* [minigraph.py] Only add 'service' field to control plane ACLs, not dataplane ACLs

* Modify unit test accordingly
2018-01-26 20:29:20 -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
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
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
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
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
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
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
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
sihuihan88
1176508858 [bgpd]: support multiple peer range in single peer group (#807) 2017-07-13 15:03:10 -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
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
Taoyu Li
3bd3549818 [cfggen] Fix a bug when portchannel has >2 members (#493) 2017-04-10 22:08:54 -07:00
Taoyu Li
ebed2d0182 [config/acl] Support everflow config translation (#468) 2017-04-07 01:10:05 -07:00
Shuotian Cheng
84a8b0d1f7 [minigraph]: Fix a bug of minigraph_neighbors (#485)
Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-04-06 14:59:30 -07:00
Shuotian Cheng
bd6976a6fa [interfaces]: Support ifup/ifdown on VLAN/LAG members (#462)
- This change is added so that when doing ifdown/ifup to flap the
  interface, it will success even when the interface is already
  enslaved as a member of VLAN.
- LAG members do not have IP addresses. Thus ifconfig command is
  needed.
- Do not display comments when not necessary.

Signed-off-by: Shuotian Cheng <shuche@microsoft.com>
2017-04-04 01:41:42 -07:00
Taoyu Li
fed908fc6b [config-engine] minigraph.py refactoring (#448)
* Refactor minigraph.py
See description in https://github.com/Azure/sonic-buildimage/pull/448 for detail
2017-03-30 15:25:31 -07:00