Skip to content

Commit

Permalink
Feat(eos_cli_config_gen): add hardware flow tracking standard record …
Browse files Browse the repository at this point in the history
…format support (aristanetworks#3681)

Co-authored-by: Guillaume Mulocher <[email protected]>
Co-authored-by: Carl Buchmann <[email protected]>
  • Loading branch information
3 people authored Apr 8, 2024
1 parent 60c9356 commit 9ad8172
Show file tree
Hide file tree
Showing 9 changed files with 53 additions and 7 deletions.
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

0 comments on commit 9ad8172

Please sign in to comment.