+ network_pod_to_node_map:
+ - pod: vnf1
+ node: vswitch
+ - pod: vnf2
+ node: vswitch
+
+ network_nodes:
+ - metadata:
+ name: vswitch
+ spec:
+ node_type: host
+ interfaces:
+ - name: $$VSWITCH_IF1$$
+ if_type: ethernet
+ - name: $$VSWITCH_IF2$$
+ if_type: ethernet
+
+ network_services:
+ - metadata:
+ name: my-network-service
+ spec:
+ network_pods:
+
+ - metadata:
+ name: vnf1
+ spec:
+ pod_type: vppcontainer
+ interfaces:
+ - name: port1
+ if_type: memif
+ - name: port2
+ if_type: memif
+ - metadata:
+ name: vnf2
+ spec:
+ pod_type: vppcontainer
+ interfaces:
+ - name: port1
+ if_type: memif
+ - name: port2
+ if_type: memif
+
+ connections:
+
+ - conn_type: l2mp # bridge eth1 to vnf1 port 1
+ pod_interfaces:
+ - vnf1/port1
+ node_interfaces:
+ - vswitch/$$VSWITCH_IF1$$
+ l2bd:
+ name: eth1-vnf-port1
+ bd_parms:
+ flood: true
+ unknown_unicast_flood: true
+ forward: true
+ learn: true
+
+ - conn_type: l2pp
+ pod_interfaces: # l2x the ports on vnf1
+ - vnf1/port1
+ - vnf1/port2
+
+ - conn_type: l2pp
+ conn_method: direct
+ pod_interfaces: # direct memif between vnf1 to vnf2
+ - vnf1/port2
+ - vnf2/port1
+
+ - conn_type: l2pp
+ pod_interfaces: # l2x the ports on vnf2
+ - vnf2/port1
+ - vnf2/port2
+
+ - conn_type: l2mp # bridge eth2 to vnf2 port 2
+ pod_interfaces:
+ - vnf2/port2
+ node_interfaces:
+ - vswitch/$$VSWITCH_IF2$$
+ l2bd:
+ name: eth2-vnf-port2
+ bd_parms:
+ flood: true
+ unknown_unicast_flood: true
+ forward: true
+ learn: true