diff --git a/ui/src/views/infra/zone/PhysicalNetworksTab.vue b/ui/src/views/infra/zone/PhysicalNetworksTab.vue
index 8312b6954cf..85470c42da4 100644
--- a/ui/src/views/infra/zone/PhysicalNetworksTab.vue
+++ b/ui/src/views/infra/zone/PhysicalNetworksTab.vue
@@ -47,6 +47,14 @@
{{ network.vlan }}
+
+
+ {{ $t('label.traffictype') }}
+
+
+ {{ network.traffictype }}
+
+
{{ $t('label.broadcastdomainrange') }}
@@ -101,9 +109,25 @@ export default {
this.fetchLoading = true
api('listPhysicalNetworks', { zoneid: this.resource.id }).then(json => {
this.networks = json.listphysicalnetworksresponse.physicalnetwork || []
+ this.fetchTrafficLabels()
}).catch(error => {
this.$notifyError(error)
- }).finally(() => {
+ })
+ },
+ fetchTrafficLabels () {
+ const promises = []
+ for (const network of this.networks) {
+ promises.push(new Promise((resolve, reject) => {
+ api('listTrafficTypes', { physicalnetworkid: network.id }).then(json => {
+ network.traffictype = json.listtraffictypesresponse.traffictype.filter(e => { return e.traffictype }).map(e => { return e.traffictype }).join(', ')
+ resolve()
+ }).catch(error => {
+ this.$notifyError(error)
+ reject(error)
+ })
+ }))
+ }
+ Promise.all(promises).finally(() => {
this.fetchLoading = false
})
}