Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat(eos_cli_config_gen): add hardware flow tracking standard record format support #3681

Merged
merged 10 commits into from
Apr 8, 2024
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ interface Management1

#### Flow Tracking Hardware

Software export of IPFIX data records enabled.

##### Trackers Summary

| Tracker Name | Record Export On Inactive Timeout | Record Export On Interval | Number of Exporters | Applied On |
Expand Down Expand Up @@ -136,6 +138,7 @@ flow tracking hardware
template interval 424242
exporter T3-E4
collector dead:beef::cafe
record format ipfix standard timestamps counters
no shutdown
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ flow tracking hardware
template interval 424242
exporter T3-E4
collector dead:beef::cafe
record format ipfix standard timestamps counters
no shutdown
!
transceiver qsfp default-mode 4x10G
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,8 @@ flow_tracking:
collector:
host: dead:beef::cafe
shutdown: false

record:
format_ipfix_standard_timestamps_counters: true
ethernet_interfaces:
- name: Ethernet40
flow_tracker:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;trackers</samp>](## "flow_tracking.sampled.trackers") | List, items: Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;table_size</samp>](## "flow_tracking.sampled.trackers.[].table_size") | Integer | | | Min: 1<br>Max: 614400 | Maximum number of entries in flow table.<br> |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;record_export</samp>](## "flow_tracking.sampled.trackers.[].record_export") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mpls</samp>](## "flow_tracking.sampled.trackers.[].record_export.mpls") | Boolean | | | | Export MPLS forwarding information |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mpls</samp>](## "flow_tracking.sampled.trackers.[].record_export.mpls") | Boolean | | | | Export MPLS forwarding information. |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on_inactive_timeout</samp>](## "flow_tracking.sampled.trackers.[].record_export.on_inactive_timeout") | Integer | | | Min: 3000<br>Max: 900000 | Flow record inactive export timeout in milliseconds |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on_interval</samp>](## "flow_tracking.sampled.trackers.[].record_export.on_interval") | Integer | | | Min: 1000<br>Max: 36000000 | Flow record export interval in milliseconds |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name</samp>](## "flow_tracking.sampled.trackers.[].name") | String | Required, Unique | | | Tracker Name |
Expand All @@ -35,6 +35,8 @@
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template_interval</samp>](## "flow_tracking.sampled.trackers.[].exporters.[].template_interval") | Integer | | | Min: 5000<br>Max: 3600000 | Template interval in milliseconds |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;shutdown</samp>](## "flow_tracking.sampled.shutdown") | Boolean | | `False` | | |
| [<samp>&nbsp;&nbsp;hardware</samp>](## "flow_tracking.hardware") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;record</samp>](## "flow_tracking.hardware.record") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;format_ipfix_standard_timestamps_counters</samp>](## "flow_tracking.hardware.record.format_ipfix_standard_timestamps_counters") | Boolean | | | | Enable software export of IPFIX data records. |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;trackers</samp>](## "flow_tracking.hardware.trackers") | List, items: Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;name</samp>](## "flow_tracking.hardware.trackers.[].name") | String | Required, Unique | | | Tracker Name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;record_export</samp>](## "flow_tracking.hardware.trackers.[].record_export") | Dictionary | | | | |
Expand Down Expand Up @@ -96,7 +98,7 @@
- table_size: <int; 1-614400>
record_export:

# Export MPLS forwarding information
# Export MPLS forwarding information.
mpls: <bool>

# Flow record inactive export timeout in milliseconds
Expand Down Expand Up @@ -128,6 +130,10 @@
template_interval: <int; 5000-3600000>
shutdown: <bool; default=False>
hardware:
record:

# Enable software export of IPFIX data records.
format_ipfix_standard_timestamps_counters: <bool>
trackers:

# Tracker Name
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,14 @@ keys:
keys:
mpls:
type: bool
description: Export MPLS forwarding information
description: Export MPLS forwarding information.
hardware:
type: dict
$ref: "eos_cli_config_gen#/$defs/flow_tracking"
keys:
record:
type: dict
keys:
format_ipfix_standard_timestamps_counters:
type: bool
description: Enable software export of IPFIX data records.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
{% if flow_tracking is arista.avd.defined or flow_trackings is arista.avd.defined %}

### Flow Tracking
{# flow_trackings only support sampled flow #}
{% if flow_tracking.sampled is arista.avd.defined or flow_trackings is arista.avd.defined %}

#### Flow Tracking Sampled
Expand Down Expand Up @@ -120,8 +119,12 @@
{% if flow_tracking.hardware is arista.avd.defined %}

#### Flow Tracking Hardware
{% if flow_tracking.hardware.record.format_ipfix_standard_timestamps_counters is arista.avd.defined(true) %}

Software export of IPFIX data records enabled.
{% endif %}
{% if flow_tracking.hardware.trackers is arista.avd.defined %}

##### Trackers Summary

| Tracker Name | Record Export On Inactive Timeout | Record Export On Interval | Number of Exporters | Applied On |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,9 @@ flow tracking hardware
flow table size {{ tracker.table_size }} entries
{% endif %}
{% endfor %}
{% if flow_tracking.hardware.record.format_ipfix_standard_timestamps_counters is arista.avd.defined(true) %}
record format ipfix standard timestamps counters
{% endif %}
{% if flow_tracking.hardware.shutdown is arista.avd.defined(false) %}
no shutdown
{% endif %}
Expand Down
Loading