-
Notifications
You must be signed in to change notification settings - Fork 234
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 support for mpls tunnel termination settings #4888
base: devel
Are you sure you want to change the base?
Conversation
Review docs on Read the Docs To test this pull request: # Create virtual environment for this testing below the current directory
python -m venv test-avd-pr-4888
# Activate the virtual environment
source test-avd-pr-4888/bin/activate
# Install all requirements including PyAVD
pip install "pyavd[ansible] @ git+https://github.com/ccsnw/ansible-avd.git@add_mpls_tunnel_termination#subdirectory=python-avd" --force
# Point Ansible collections path to the Python virtual environment
export ANSIBLE_COLLECTIONS_PATH=$VIRTUAL_ENV/ansible_collections
# Install Ansible collection
ansible-galaxy collection install git+https://github.com/ccsnw/ansible-avd.git#/ansible_collections/arista/avd/,add_mpls_tunnel_termination --force
# Optional: Install AVD examples
cd test-avd-pr-4888
ansible-playbook arista.avd.install_examples |
361877d
to
2a534aa
Compare
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/mpls.yml
Outdated
Show resolved
Hide resolved
363a696
to
ad6a3c4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like a more elaborate data model instead of all these valid values in a multi-word string. I do not know the CLI here in detail, so @ccsnw if you could provide a suggestion, we can take a look. Otherwise we can investigate more and get back.
Not an expert on that CLI either. Colleagues are needing it on some WAN routers. But I noticed that the modes (php vs no php) are not mutually exclusive, so we can have sth like:
in the same config. Hence I'd suggest a model like this:
We can leave it up to the user to decide with model config makes sense (and actually is supported). What do you think? |
Or something explicit like this: tunnel:
description: Configure MPLS tunnel.
type: dict
keys:
termination:
description: Controls selection of the TTL/DSCP values by LER when decapsulating MPLS packets.
type: dict
keys:
model:
type: dict
keys:
ttl:
type: str
required: true
valid_values:
- pipe
- uniform
dscp:
type: str
required: true
valid_values:
- pipe
php_model:
description: Used on PHP router in the absence of any VPN routes and explicit null VRF labels.
type: dict
keys:
ttl:
type: str
required: true
valid_values:
- pipe
- uniform
dscp:
type: str
required: true
valid_values:
- pipe
- uniform I was not able to identify any specific platforms which support Update: I got a confirmation that |
Hi Alexey, The explicit version also looks fine to me. Regarding compatibility. Check this:
On 4.26.3 the "dscp uniform" was suggested by eos, but couldn't be configured (not supported) When i check on a newer EOS:
not suggesting dscp > uniform anymore. |
Hi @alexeygorbunov and @ccsnw
|
Sure! Is this final? Then I can redo the rest accordingly. Thanks!! |
903a8ed
to
9b4a043
Compare
@alexeygorbunov & @MaheshGSLAB updated as discussed :-) let me know if this looks ok or if more changes are needed! |
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
Since the DSCP |
2a48792
to
6d78c23
Compare
|
Change Summary
Add knobs to configure tunnel termination settings for MPLS
Related Issue(s)
Fixes #<N/A>
Component(s) name
arista.avd.eos_cli_config_gen
Proposed changes
How to test
added molecule test
cli command order was tested on EOS 4.30.5 - Please let me know if newer version sort differently
Checklist
User Checklist
Repository Checklist