Add a new field VLAN Filter to tap-flow data model
Vlan Filter input parameter is part of tap-flow-create API, which is comma separated list of VLAN Ids which needs to be mirrored. Ref Spec: openstack/neutron-specs/specs/rocky/port-mirroring-sriov-vfs.rst Commit: https://review.openstack.org/#/c/574477/ Change-Id: I627d0fdcf0799e0626e0bb5c8bc7889db90cabcd
This commit is contained in:
parent
b085767b5a
commit
9633eea96d
@ -117,14 +117,16 @@ def show_tap_flow(request, tap_flow_id):
|
|||||||
return TapFlow(tap_flow.get('tap_flow'))
|
return TapFlow(tap_flow.get('tap_flow'))
|
||||||
|
|
||||||
|
|
||||||
def create_tap_flow(request, direction, tap_service_id, port_id, **params):
|
def create_tap_flow(request, direction, tap_service_id, port_id,
|
||||||
|
vlan_filter, **params):
|
||||||
req_data = {}
|
req_data = {}
|
||||||
req_data['tap_flow'] = {
|
req_data['tap_flow'] = {
|
||||||
'name': params['name'],
|
'name': params['name'],
|
||||||
'description': params['description'],
|
'description': params['description'],
|
||||||
'source_port': port_id,
|
'source_port': port_id,
|
||||||
'direction': direction,
|
'direction': direction,
|
||||||
'tap_service_id': tap_service_id
|
'tap_service_id': tap_service_id,
|
||||||
|
'vlan_filter': vlan_filter
|
||||||
}
|
}
|
||||||
|
|
||||||
res = neutronclient(request).post("/taas/tap_flows", req_data)
|
res = neutronclient(request).post("/taas/tap_flows", req_data)
|
||||||
|
@ -41,6 +41,11 @@ class CreateTapFlowInfoAction(workflows.Action):
|
|||||||
help_text=_("Whether to mirror the traffic"
|
help_text=_("Whether to mirror the traffic"
|
||||||
" leaving or ariving"
|
" leaving or ariving"
|
||||||
" at the source port."))
|
" at the source port."))
|
||||||
|
vlan_filter = forms.CharField(max_length=255,
|
||||||
|
label=_("VLAN Filter"),
|
||||||
|
required=False,
|
||||||
|
help_text=_("Comma separated list of"
|
||||||
|
"VLAN Ids to be mirrored."))
|
||||||
|
|
||||||
class Meta(object):
|
class Meta(object):
|
||||||
name = _("Information")
|
name = _("Information")
|
||||||
@ -50,7 +55,7 @@ class CreateTapFlowInfoAction(workflows.Action):
|
|||||||
|
|
||||||
class CreateTapFlowInfo(workflows.Step):
|
class CreateTapFlowInfo(workflows.Step):
|
||||||
action_class = CreateTapFlowInfoAction
|
action_class = CreateTapFlowInfoAction
|
||||||
contributes = ("tap_flow_name", "description", "direction")
|
contributes = ("tap_flow_name", "description", "direction", "vlan_filter")
|
||||||
depends_on = ("tap_service_id",)
|
depends_on = ("tap_service_id",)
|
||||||
|
|
||||||
|
|
||||||
@ -115,10 +120,12 @@ class CreateTapFlow(ts_workflows.CreateTapService):
|
|||||||
direction = data['direction']
|
direction = data['direction']
|
||||||
tap_service_id = self.context.get('tap_service_id')
|
tap_service_id = self.context.get('tap_service_id')
|
||||||
port_id = data['port']
|
port_id = data['port']
|
||||||
|
vlan_filter = data['vlan_filter']
|
||||||
tap_flow = api.taas.create_tap_flow(request,
|
tap_flow = api.taas.create_tap_flow(request,
|
||||||
direction,
|
direction,
|
||||||
tap_service_id,
|
tap_service_id,
|
||||||
port_id,
|
port_id,
|
||||||
|
vlan_filter,
|
||||||
**params)
|
**params)
|
||||||
self.context['tap_flow_id'] = tap_flow.id
|
self.context['tap_flow_id'] = tap_flow.id
|
||||||
return True
|
return True
|
||||||
|
@ -12,6 +12,8 @@
|
|||||||
<dd>{{ tap_flow.tap_service_id|default:_("-") }}</dd>
|
<dd>{{ tap_flow.tap_service_id|default:_("-") }}</dd>
|
||||||
<dt>{% trans "Port ID" %}</dt>
|
<dt>{% trans "Port ID" %}</dt>
|
||||||
<dd>{{ tap_flow.source_port|default:_("-") }}</dd>
|
<dd>{{ tap_flow.source_port|default:_("-") }}</dd>
|
||||||
|
<dt>{% trans "VLAN Filter" %}</dt>
|
||||||
|
<dd>{{ tap_flow.vlan_filter|default:_("None") }}</dd>
|
||||||
<dt>{% trans "Project ID" %}</dt>
|
<dt>{% trans "Project ID" %}</dt>
|
||||||
<dd>{{ tap_flow.tenant_id|default:_("-") }}</dd>
|
<dd>{{ tap_flow.tenant_id|default:_("-") }}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
Loading…
Reference in New Issue
Block a user