Package: prefix-list-agent
Prefix-list Agent for Arista EOSPeriodically retrieve data from the IRR and build prefix-list objects on EOS.OverviewThePrefixListAgentis an EOS SDK based agent that runs underProcMrgon an
Arista EOS based device or VM.The agent maintains up-to-date prefix-list policy objects for use in EOS
routing policy configurations, based on data in the IRR.The agent will periodically check the running configuration of the device to
gather a list of prefix-lists that it is responsible for maintaining. It will
then retrieve the required data from the IRR via an RPTK web service, and
update the prefix-lists without calling the EOS config parser.InstallationFrom RPM (recommended)Install the agent as an EOS extension:ar#copy https://github.com/wolcomm/eos-prefix-list-agent/releases/download/0.1.0a8/prefix_list_agent-0.1.0a8-1.noarch.rpm extension:
ar#extension prefix_list_agent-0.1.0a8-1.noarch.rpm
ar#sh extensions
Name                                      Version/Release    Status    Extension
----------------------------------------- ------------------ --------- ---------
prefix_list_agent-0.1.0a8-1.noarch.rpm    0.1.0a8/1          A, I      1


A: available | NA: not available | I: installed | NI: not installed | F: forcedPersist the extension to be installed on boot:ar#copy installed-extensions boot-extensions
Copy completed successfully.
ar#sh boot-extensions
prefix_list_agent-0.1.0a8-1.noarch.rpmUsingpipThis method is not recommended unless you know what you are doing.
Without additional configuration, the installation will not persist across
reloads.Drop to the shell:ar#bashInstall from PyPI:$sudopipinstallprefix-list-agentAgent ConfigurationDaemonConfigure the agent as an EOS "daemon":ar#conf t
ar(config)#daemon PrefixListAgent
ar(config-daemon-PrefixListAgent)#exec /usr/bin/PrefixListAgentTracingEnable tracing using the EOS agent tracing infrastructure, e.g.:ar(config)#trace PrefixListAgent-PrefixListAgent setting PrefixList*/0-6Set Configuration OptionsSet configuration options using the command:ar(config-daemon-PrefixListAgent)#option <option-name> value <option-value>Available configuration options are:rptk_endpoint(default:None,required):The RPTK web service endpoint to connect to when retrieving prefix-list data.source_dir(default:/tmp/prefix-lists):The local directory to write prefix-list files to.refresh_interval(default:3600):The interval between prefix-list updates.Start the Agentar(config-daemon-PrefixListAgent)#no shutdownPrefix-List ConfigurationThe PrefixListAgent will check the running configuration for source-based
prefix-lists matching the form:ip[v6] prefix-list ${irr_object} source file:${source_dir}/${policy}/${file_name}Where:${irr_object}: The IRR object (aut-numoras-set) to build the
prefix-list from.${source_dir}: The configuredsource_dir, as above.${policy}: The resolution policy to use when resolving the IRR object to a
prefix-list. Must be a valid policy available on the RPTK web service. You can
check the available policies with:$curl-q${rptk_endpoint}/policies|jq${file_name}: The file to write the resulting prefix-list data to. This
name should be unique per resolution policy.After the next update, you should be able to see the entries with:ar#show ip[v6] prefix-list ${irr_object} detail