Skip to content
Chimera readability score 0.6523 out of 100, reading level.

As modern cloud infrastructure becomes increasingly complex and multi-tenant, observability and security monitoring have become foundational requirements for OpenStack operators. One key network diagnostic technique used in traditional and virtualized environments is port mirroring, which allows administrators to capture and analyze traffic flowing through a particular interface. You can redirect mirrored traffic to third-party analytics tools and solutions hosted on a different or same host as the mirror port. Typically, the mirrored traffic is carried over overlay tunnels established between the source and destination of the mirror.

This functionality, when integrated and offered as an easily consumable, scalable service within Red Hat OpenStack Services on OpenShift, is known as TAP-as-a-Service (TAPaaS). TAP refers to a test access point, a logical or physical traffic mirroring point exposed as a service, allowing tenants or operators to capture and analyze network traffic. This article will detail how to operationalize TAPaaS within an OpenStack Services on OpenShift deployment.

Port mirroring

Port mirroring is available at OVS and OVN levels through a CLI interface, however, in highly dynamic, software-defined environments like OpenStack Services on OpenShift, traditional port mirroring doesn’t scale well and does not offer the tenant-level abstraction and isolation.

TAPaaS provides a OpenStack Services on OpenShift integrated framework for scalable port mirroring in a multi-tenant shared environment maintaining the tenant isolation boundaries in deployments.

Port mirroring enables the following:

  • Security monitoring: Capture mirrored traffic for inspection by IDS/IPS tools.
  • Performance analysis: Monitor bottlenecks, latency, and packet loss in real-time.
  • Troubleshooting: Debug issues without logging into tenant VMs or affecting production traffic.
  • Compliance auditing: Log and analyze data flows for regulatory purposes.
  • Lawful intercept: In jurisdictions that require service providers to support legal requests for targeted surveillance, TAPaaS offers a programmable, isolated way to mirror traffic for specific endpoints without impacting other tenants or violating privacy constraints.

TAPaaS is a Neutron extension that enables on-demand traffic mirroring for tenant or administrator purposes. It allows users to create TAP services that mirror traffic from one or more Neutron ports and redirect it to a TAP destination—often a virtual network packet broker (NPB), intrusion detection system (IDS), or traffic analyzer instance.

Components and workflow for ML2-OVN

The OVN Northbound Database (NB DB) contains logical representations of the network, including:

  • Logical switches
  • Logical ports
  • Mirror configurations with mirror type (remote-GRE, remote-ERSPAN)

When making a TAPaaS request, the ML2-OVN plug-in adds mirror configurations to the NB DB with appropriate tunnel parameters for remote mirroring.

OVN southbound database (SB DB)

The SB DB translates the logical configurations in the NB DB into physical implementations. For port mirroring, it will:

  • Map logical mirrors to physical implementation details
  • Specify which physical chassis should implement the mirroring
  • Determine the encapsulation method (GRE, ERSPAN) for mirrored traffic
  • Contain tunnel configuration for remote mirroring

OVN controller

The OVN controller monitors the SB DB for changes. It implements mirror configurations on the compute nodes and uses OpenFlow rules to duplicate traffic, directing mirrored packets to the specified destination. Furthermore, the controller sets up tunneling using GRE or ERSPAN for remote mirroring.

Enable TAPaaS in OpenStack Services on OpenShift

To enable TAPaaS in Neutron, set the service_plug-ins

and create service_prvider

section in the Neutron customServiceConfig

.

Determine the current service_plug-ins

and then add taas,tapmirror

. Here is a simple script to accomplish that.

#!/bin/bash

set -e

Find one of neutron pods name

neutron_pod=$(oc get pods -l service=neutron -o name | head -n 1)

if [[ -z $neutron_pod ]]; then

echo neutron_pod variable is empty

exit 1

fi

Read current service_plugins

service_plugins=$(oc exec $neutron_pod -c neutron-api -- crudini --get /etc/neutron/neutron.conf.d/01-neutron.conf DEFAULT service_plugins)

Append new service plugins

service_plugins+=",taas,tapmirror"

echo service_plugins=$service_plugins

Edit openstackcontrolplane

CR, neutron section. Add service_plugins

under the DEFAULT

section and add the new service_providers

as shown in the following output.

$ oc edit openstackcontrolplanes.core.openstack.org controlplane

Then in your editor change the .spec.neutron.template.customServiceConfig section as shown below:

spec:

neutron:

...

template:

...

customServiceConfig: |

[DEFAULT]

vlan_transparent = true

agent_down_time = 600

router_distributed = true

router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.ChanceScheduler

allow_automatic_l3agent_failover = true

debug = true

default_availability_zones = zone-1,zone-2

service_plugins = qos,ovn-router,trunk,segments,port_forwarding,log,taas,tapmirror

[service_providers]

service_provider = TAAS:TAAS:neutron_taas.services.taas.service_drivers.ovn.taas_ovn.TaasOvnDriver:default

...

Port mirror installation workflow

The diagram in Figure 1 shows the workflow for creating a remote port mirror using TAPaaS in an OpenStack Services on OpenShift deployment.

The process involves several steps for operationalizing TAP-as-a-Service (TAPaaS) in an OpenStack Services on OpenShift deployment. First, the ML2-OVN component translates the TAPaaS objects into OVN mirror entries, adding tunneling if necessary. This mirror configuration is then added to the OVN Northbound (NB) DB via an update. The OVN Southbound (SB) DB processes this information, translating it into physical implementation details. Finally, the OVN controller implementation applies the mirroring rules on the compute nodes and creates tunnel interfaces for remote mirroring.

Configure remote port mirroring using TAPaaS

Assuming an existing VM port is called vm_port

. This command selects vm_port

as the port to mirror. The mirrored traffic will be in the IN (ingress) direction, encapsulated in a erspanv1

which will be tagged with the tag 101. Lastly, the mirrored traffic will be sent to 10.100.0.20 IP.

$ openstack tap mirror create --port vm_port --name mirror1 --directions IN=101 --remote-ip 10.100.0.20 --mirror-type erspanv1

To get other options, use the following command:

openstack tap mirror create –help

Tunneling protocols for remote mirroring

Generic routing encapsulation (GRE) is a tunneling protocol that can encapsulate a wide variety of network layer protocols inside virtual point-to-point links. In the context of TAPaaS:

  • Encapsulation: Mirrored packets are encapsulated in GRE headers
  • Protocol ID: Uses protocol ID 0x6558 for mirrored traffic
  • Header format:
  • 4 bytes of GRE header with optional fields
  • Preserve the original packet as payload

ERSPAN tunneling

Encapsulated remote switched port analyzer (ERSPAN) is a Cisco proprietary tunneling protocol specifically designed for port mirroring over routed networks. It adds more metadata about the mirrored traffic:

  • Encapsulation: Mirrored packets are encapsulated in ERSPAN headers + GRE
  • Protocol ID: Uses GRE protocol ID 0x88BE

Header format:

  • 8-byte ERSPAN header containing:
  • Session ID (to identify the mirror session)
  • Direction (ingress/egress)
  • VLAN information
  • Timestamp
  • Original packet is preserved as payload

Future work and considerations

Security and performance considerations must be well understood before deploying TAP-as-a-Service. Performance in the form of resource footprint required for deploying a port mirror and the impact on performance of the user workloads. Although port mirroring enables applications such as lawful intercept, additional features may need to be implemented to fully enable lawful intercept using TAPaaS.

The current feature enables TAPaaS for ML2-OVN, but additional feature capabilities such as support for port mirroring in both ingress and egress directions, precautionary quota limits, VM migration need to be investigated. To learn more about TAPaaS, visit the GitHub page.

Facts Only

TAP-as-a-Service (TAPaaS) is a Neutron extension for OpenStack Services on OpenShift, enabling scalable port mirroring in multi-tenant environments.
Port mirroring allows administrators to capture and analyze traffic from specific interfaces, redirecting it to analytics tools via overlay tunnels.
TAPaaS supports security monitoring, performance analysis, troubleshooting, compliance auditing, and lawful intercept.
The system uses OVN components: Northbound Database (NB DB) for logical configurations, Southbound Database (SB DB) for physical implementations, and OVN controllers to apply mirroring rules.
Mirrored traffic can be encapsulated using GRE or ERSPAN tunneling protocols.
Enabling TAPaaS requires configuring Neutron service plugins (taas, tapmirror) and service providers in the OpenStack control plane.
A CLI command (`openstack tap mirror create`) configures remote port mirroring, specifying parameters like direction, encapsulation type, and destination IP.
GRE uses protocol ID 0x6558, while ERSPAN uses 0x88BE and includes additional metadata like session ID and timestamps.
Current limitations include unidirectional mirroring (ingress only) and the need for future enhancements like quota limits and VM migration support.
The solution is designed for ML2-OVN deployments in OpenStack Services on OpenShift.

Executive Summary

TAP-as-a-Service (TAPaaS) is a scalable port mirroring solution integrated into Red Hat OpenStack Services on OpenShift, designed to address the challenges of observability and security monitoring in complex, multi-tenant cloud environments. Traditional port mirroring, while effective in static environments, struggles to scale in dynamic, software-defined networks like OpenStack. TAPaaS overcomes these limitations by providing tenant-level abstraction and isolation, enabling on-demand traffic mirroring for security monitoring, performance analysis, troubleshooting, compliance auditing, and lawful intercept. The system leverages OVN (Open Virtual Network) components, including the Northbound and Southbound databases, to translate logical mirror configurations into physical implementations on compute nodes. Mirrored traffic is encapsulated using protocols like GRE or ERSPAN and sent to designated destinations, such as intrusion detection systems or traffic analyzers. The deployment process involves configuring Neutron service plugins and custom service providers, followed by creating TAP services via CLI commands. While TAPaaS enhances operational capabilities, considerations around security, performance impact, and future feature expansion—such as bidirectional mirroring and VM migration support—remain areas for further development.

Full Take

**Constructive Mode**
TAPaaS represents a significant step forward in making network observability and security monitoring more accessible and scalable in OpenStack environments. By abstracting port mirroring into a tenant-isolated service, it addresses the operational friction of traditional methods while maintaining the flexibility needed for compliance and debugging. The integration with OVN’s logical and physical networking layers is particularly noteworthy, as it leverages existing infrastructure without requiring wholesale changes. However, the focus on ingress-only mirroring and the lack of built-in safeguards (e.g., quotas) suggest that this is an evolving capability rather than a complete solution. The emphasis on lawful intercept also raises important questions about how such features are governed—who controls access, and what audit trails exist to prevent misuse?
**Generative Questions:**
How might TAPaaS be extended to support bidirectional mirroring without compromising performance?
What mechanisms could ensure that lawful intercept capabilities are used transparently and accountably?
How does the resource overhead of TAPaaS compare to alternative monitoring solutions in production environments?
**Patterns detected:** None
**Counterstrike Scan:**
If this were part of a coordinated influence campaign, the playbook might emphasize the "lawful intercept" angle to frame TAPaaS as a surveillance tool, potentially alienating privacy-conscious users. However, the article’s focus on technical implementation and operational benefits—rather than political or ethical debates—suggests a clean, educational intent. The content aligns with Red Hat’s documented efforts to improve OpenStack observability, not with manipulative narratives.

Sentinel — Human

Confidence

This text functions as a highly technical, instructional guide detailing the implementation of a specific cloud networking feature (TAPaaS) within a complex orchestration environment, demonstrating deep domain expertise.

Signals Detected
low severity: High lexical density and technical precision mixed with clear procedural flow.
low severity: Highly structured, logical flow typical of technical documentation, lacking typical editorial hedging or emotional framing.
low severity: Matches the template of a technical whitepaper or instructional guide (defining concept -> architecture -> workflow -> protocols).
low severity: All technical terms (OVN, GRE, ERSPAN, Neutron, OpenShift) are used correctly in context, suggesting deep domain knowledge.
Human Indicators
The use of specific, deep technical details (e.g., OVN databases, GRE/ERSPAN protocol IDs, specific CLI commands) suggests direct, expert experience rather than generalized LLM summarization.
The flow transitions logically from abstract concept (Port Mirroring) to architectural implementation (OVN components) to operational workflow (scripting and configuration).
The final section explicitly discusses 'Future work and considerations' and invites investigation into limitations, which is a characteristic of expert analysis rather than pure generative summary.
Deploy TAP-as-a-Service in OpenStack Services on OpenShift — Arc Codex