All notable changes to the sdntrace_cp NApp will be documented in this file.
- Updated python environment installation from 3.9 to 3.11
- Upgraded UI framework to Vue3
- Support "instructions" to perform a match.
- Support instruction type goto_table.
- Added UI to sdntrace_cp.
- Support
"untagged"
and"any"
on EVCs. PUT /trace and /traces
endpoints validate payload with@validate_openapi
.
- Update
tracepath
to support the trace type:loop
. Other three types arestarting
for the first trace_step,intermediary
for subsequent trace_steps (previouslytrace
), andlast
for a terminating last switch where a flow lookup matched. - Add new case of
loop
when the outgoing interface is the same as the input interface. - Remove
last_id
andtraces
parameters - Remove
GET /api/amlight/sdntrace_cp/trace/{trace_id}
inopenapi.yml
v1
prefix was added on the API routes to stabilize this NApp.
- Check the
actions
field in flows when running a trace to avoidKeyError
. - In
PUT /trace
andPUT /traces
, fieldswitch`
is defined as required, as well as its parametersdpid`
andin_port
. - Check that an interface has been found with
find_endpoint
givenswitch
andport
at eachtrace_step
.
- Removed
TRIGGER_SCHEDULE_TRACES
,TRIGGER_IMPORTANT_CIRCUITS
andFIND_CIRCUITS_IN_FLOWS
from settings. - Removed
automate
inmain
. - Removed
update_circuits
functionality inmain
. - Removed the dependency on
apscheduler
.
@rest
endpoints are now run bystarlette/uvicorn
instead offlask/werkzeug
.
PUT /traces
will return the results in order, without aggregating them by dpid. Also, failed traces are not omitted.
- Added
apscheduler
library to handle job scheduling - Added
PUT /traces
endpoint for bulk requests - Added output port information to the trace result (last step) to help validating intra-switch EVCs
- The functionality
match_and_aply
has been added to match flows and apply actions. This matches a given packet against the stored flows.
- Removed dependency from
amlight/scheduler
- Removed support for OpenFlow 1.0
- Unsubscribe to the amlight/flow_stats.flows_updated event
- Dependency on
flow_stats
has been removed, from where the functionalitymatch_and_aply
was previously used.
- Made a shallow copy when iterating on shared data structure to avoid RuntimeError size changed
- [Issue 25] Fix tracepath results to display correct vlan id when using Q-in-Q
- Increased unit test coverage to at least 85%
- Added
FIND_CIRCUITS_IN_FLOWS
settings option to enable or disable the feature to trigger thefind_circuits
routine - Enhanced and standardized setup.py install_requires to install pinned dependencies
- [Issue 5] Add setup.py and requirements
- [Issue 6] Fix comparison of endpoints when an endpoint does not provide all necessary fields
- [Issue 8] Change log level of run_traces results to debug