|
25 | 25 | * [Console](#console)
|
26 | 26 | * [CRM](#crm)
|
27 | 27 | * [CRM DASH](#crm-dash)
|
28 |
| - * [Data Plane L3 Interfaces](#data-plane-l3-interfaces) |
29 | 28 | * [DEFAULT_LOSSLESS_BUFFER_PARAMETER](#DEFAULT_LOSSLESS_BUFFER_PARAMETER)
|
30 | 29 | * [Device Metadata](#device-metadata)
|
31 | 30 | * [Device neighbor metada](#device-neighbor-metada)
|
|
41 | 40 | * [FLEX_COUNTER_TABLE](#flex_counter_table)
|
42 | 41 | * [GRPCCLIENT](#grpcclient)
|
43 | 42 | * [Hash](#hash)
|
44 |
| - * [IPv6 Link-local] (#ipv6-link-local) |
45 | 43 | * [KDUMP](#kdump)
|
46 | 44 | * [Kubernetes Master](#kubernetes-master)
|
47 | 45 | * [L2 Neighbors](#l2-neighbors)
|
| 46 | + * [L3 Interfaces](#l3-interfaces) |
48 | 47 | * [Loopback Interface](#loopback-interface)
|
49 | 48 | * [LOSSLESS_TRAFFIC_PATTERN](#LOSSLESS_TRAFFIC_PATTERN)
|
50 | 49 | * [Memory Statistics](#memory-statistics)
|
@@ -928,47 +927,6 @@ It currently allows user to administratively bring down a line-card or fabric-ca
|
928 | 927 | }
|
929 | 928 | ```
|
930 | 929 |
|
931 |
| -### Data Plane L3 Interfaces |
932 |
| - |
933 |
| -IP configuration for data plane are defined in **INTERFACE**, **VLAN_SUB_INTERFACE**, |
934 |
| -**PORTCHANNEL_INTERFACE** and **VLAN_INTERFACE** table. The objects |
935 |
| -in all four tables have the interface (could be physical port, port |
936 |
| -channel, vlan or vlan sub interface) that IP address is attached to as first-level key, and |
937 |
| -IP prefix as second-level key. IP interface address objects don't have any attributes. |
938 |
| -IP interface attributes, resides in those tables as well, key is the interface name |
939 |
| -and value is a list of field-values representing the interface attributes, e.g. loopback action. |
940 |
| - |
941 |
| -``` |
942 |
| -{ |
943 |
| -"INTERFACE": { |
944 |
| - "Ethernet0|10.0.0.0/31": {}, |
945 |
| - "Ethernet4|10.0.0.2/31": {}, |
946 |
| - "Ethernet8|10.0.0.4/31": {} |
947 |
| - "Ethernet8": { |
948 |
| - "loopback_action": "drop" |
949 |
| - } |
950 |
| - }, |
951 |
| - |
952 |
| -"PORTCHANNEL_INTERFACE": { |
953 |
| - "PortChannel01|10.0.0.56/31": {}, |
954 |
| - "PortChannel01|FC00::71/126": {}, |
955 |
| - "PortChannel02|10.0.0.58/31": {}, |
956 |
| - "PortChannel02|FC00::75/126": {} |
957 |
| - }, |
958 |
| - |
959 |
| -"VLAN_INTERFACE": { |
960 |
| - "Vlan1000|192.168.0.1/27": {} |
961 |
| - }, |
962 |
| - |
963 |
| -"VLAN_SUB_INTERFACE": { |
964 |
| - "Ethernet4.1|10.0.0.2/31": {}, |
965 |
| - "Ethernet4.1": { |
966 |
| - "loopback_action": "drop" |
967 |
| - } |
968 |
| - } |
969 |
| -} |
970 |
| -``` |
971 |
| - |
972 | 930 |
|
973 | 931 | ### DEFAULT_LOSSLESS_BUFFER_PARAMETER
|
974 | 932 |
|
@@ -1339,30 +1297,6 @@ The configuration is applied globally for each ECMP and LAG on a switch.
|
1339 | 1297 | }
|
1340 | 1298 | ```
|
1341 | 1299 |
|
1342 |
| -### IPv6 Link-local |
1343 |
| -``` |
1344 |
| -{ |
1345 |
| - "INTERFACE": { |
1346 |
| - "Ethernet8": { |
1347 |
| - "ipv6_use_link_local_only": "disable" |
1348 |
| - } |
1349 |
| - }, |
1350 |
| - |
1351 |
| - "PORTCHANNEL_INTERFACE": { |
1352 |
| - "PortChannel01": { |
1353 |
| - "ipv6_use_link_local_only": "enable" |
1354 |
| - } |
1355 |
| - }, |
1356 |
| - |
1357 |
| - "VLAN_INTERFACE": { |
1358 |
| - "Vlan1000": { |
1359 |
| - "ipv6_use_link_local_only": "enable" |
1360 |
| - } |
1361 |
| - } |
1362 |
| -} |
1363 |
| - |
1364 |
| -``` |
1365 |
| - |
1366 | 1300 | ### KDUMP
|
1367 | 1301 |
|
1368 | 1302 | ```
|
@@ -1450,6 +1384,96 @@ loopback address can also be defined.
|
1450 | 1384 | }
|
1451 | 1385 | ```
|
1452 | 1386 |
|
| 1387 | +### L3 Interfaces |
| 1388 | + |
| 1389 | +Configuration for L3 data plane interfaces are defined in the `INTERFACE`, |
| 1390 | +`VLAN_INTERFACE`, `VLAN_SUB_INTERFACE` and `PORTCHANNEL_INTERFACE` tables, |
| 1391 | +respectively. |
| 1392 | + |
| 1393 | +The objects in all four tables have the interface as the key with the following |
| 1394 | +required patterns: |
| 1395 | +- `INTERFACE`: Any valid port name from the `PORT` table. Typically `Ethernet{0-999}`. |
| 1396 | +- `VLAN_INTERFACE`: `Vlan{1-4095}` |
| 1397 | +- `PORTCHANNEL_INTERFACE`: `PortChannel{0-9999}` |
| 1398 | +- `VLAN_SUB_INTERFACE`: Any valid `INTERFACE` or `PORTCHANNEL_INTERFACE` name followed by a `.` and a number between 1 and 4094. E.g. `Ethernet1.4` |
| 1399 | + |
| 1400 | + |
| 1401 | +These tables have a number of shared attributes as described below: |
| 1402 | + * `vrf_name`: Valid VRF name from the `VRF` table. Default: `default` |
| 1403 | + * `nat_zone`: NAT Zone for this interface. `0..3` |
| 1404 | + * `mpls`: Enable/disable MPLS routing for the interface. `enable` or `disable`. Default `disable`. |
| 1405 | + * `ipv6_use_link_local_only`: Enable/Disable IPv6 link local address on interface. `enable` or `disable`. Default `disable`. |
| 1406 | + * `mac_addr`: Assign administrator-provided MAC address to Interface. If not specified will use the system MAC (same for all interfaces). Not applicable to `VLAN_SUB_INTERFACE` as it will use the parent interface's mac address. |
| 1407 | + * `loopback_action`: Packet action when a packet ingress and gets routed on the same IP interface. `drop` or `forward`. |
| 1408 | + |
| 1409 | + |
| 1410 | +```json |
| 1411 | + |
| 1412 | +{ |
| 1413 | + "INTERFACE": { |
| 1414 | + "Ethernet0": { |
| 1415 | + "ipv6_use_link_local_only": "enable", |
| 1416 | + "mac_addr": "12:34:56:78:90:ab" |
| 1417 | + }, |
| 1418 | + "Ethernet1": { |
| 1419 | + "loopback_action": "drop" |
| 1420 | + } |
| 1421 | + }, |
| 1422 | + "VLAN_INTERFACE": { |
| 1423 | + "Vlan201": { |
| 1424 | + "vrf_name": "red", |
| 1425 | + "mac_addr": "AB:CD:EF:12:34:56" |
| 1426 | + } |
| 1427 | + }, |
| 1428 | + "PORTCHANNEL_INTERFACE": { |
| 1429 | + "PortChannel101": { |
| 1430 | + "mac_addr": "1c:23:a8:56:de:2f" |
| 1431 | + } |
| 1432 | + }, |
| 1433 | + "VLAN_SUB_INTERFACE": { |
| 1434 | + "Ethernet0.555": { |
| 1435 | + "vrf_name": "Blue", |
| 1436 | + "vlan": "555" |
| 1437 | + } |
| 1438 | + } |
| 1439 | +} |
| 1440 | +``` |
| 1441 | + |
| 1442 | +#### Assigning IP addresses to L3 Interfaces |
| 1443 | + |
| 1444 | +The interface name and IP prefix act as multi-level key for the interface |
| 1445 | +objects. The IP prefixes are stored in the same tables as the interface |
| 1446 | +attributes: `INTERFACE`, `VLAN_INTERFACE`, `VLAN_SUB_INTERFACE` and `PORTCHANNEL_INTERFACE`. |
| 1447 | + |
| 1448 | +In the example below we will show one interface with attributes for clarity, |
| 1449 | +but otherwise this is simply an example of how IP addresses may be configured. |
| 1450 | + |
| 1451 | +```json |
| 1452 | +{ |
| 1453 | + "INTERFACE": { |
| 1454 | + "Ethernet0": { |
| 1455 | + "ipv6_use_link_local_only": "enable", |
| 1456 | + "mac_addr": "12:34:56:78:90:ab" |
| 1457 | + }, |
| 1458 | + "Ethernet0|10.0.0.0/31": {}, |
| 1459 | + "Ethernet4|10.0.0.2/31": {}, |
| 1460 | + "Ethernet8|10.0.0.4/31": {}, |
| 1461 | + }, |
| 1462 | + "PORTCHANNEL_INTERFACE": { |
| 1463 | + "PortChannel01|10.0.0.56/31": {}, |
| 1464 | + "PortChannel01|FC00::71/126": {}, |
| 1465 | + "PortChannel02|10.0.0.58/31": {}, |
| 1466 | + "PortChannel02|FC00::75/126": {} |
| 1467 | + }, |
| 1468 | + "VLAN_INTERFACE": { |
| 1469 | + "Vlan1000|192.168.0.1/27": {} |
| 1470 | + }, |
| 1471 | + "VLAN_SUB_INTERFACE": { |
| 1472 | + "Ethernet4.1|10.0.0.2/31": {} |
| 1473 | + } |
| 1474 | +} |
| 1475 | +``` |
| 1476 | + |
1453 | 1477 | ### Loopback Interface
|
1454 | 1478 |
|
1455 | 1479 | Loopback interface configuration lies in **LOOPBACK_INTERFACE** table
|
|
0 commit comments