summaryrefslogtreecommitdiff
path: root/tutorial/ovn/env3
diff options
context:
space:
mode:
Diffstat (limited to 'tutorial/ovn/env3')
-rwxr-xr-xtutorial/ovn/env3/packet1.sh19
-rwxr-xr-xtutorial/ovn/env3/packet2.sh31
-rwxr-xr-xtutorial/ovn/env3/setup.sh44
3 files changed, 94 insertions, 0 deletions
diff --git a/tutorial/ovn/env3/packet1.sh b/tutorial/ovn/env3/packet1.sh
new file mode 100755
index 000000000..6d26e587d
--- /dev/null
+++ b/tutorial/ovn/env3/packet1.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+set -o xtrace
+
+# Trace a packet from sw0-port1 to sw0-port3.
+ovs-appctl ofproto/trace br-int in_port=1,dl_src=00:00:00:00:00:01,dl_dst=00:00:00:00:00:03 -generate
diff --git a/tutorial/ovn/env3/packet2.sh b/tutorial/ovn/env3/packet2.sh
new file mode 100755
index 000000000..0de461f52
--- /dev/null
+++ b/tutorial/ovn/env3/packet2.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+set -o xtrace
+
+#
+# This trace simulates a packet arriving over a Geneve tunnel from a remote OVN
+# chassis. The fields are as follows:
+#
+# tun_id -
+# The logical datapath (or logical switch) ID. In this case, we only
+# have a single logical switch and its ID is 1.
+#
+# tun_metadata0 -
+# This field holds 2 pieces of metadata. The low 16 bits hold the logical
+# destination port (1 in this case). The upper 16 bits hold the logical
+# source port (3 in this case.
+#
+ovs-appctl ofproto/trace br-int in_port=3,dl_src=00:00:00:00:00:03,dl_dst=00:00:00:00:00:01,tun_id=1,tun_metadata0=$[1 + $[3 << 16]] -generate
diff --git a/tutorial/ovn/env3/setup.sh b/tutorial/ovn/env3/setup.sh
new file mode 100755
index 000000000..b554d257a
--- /dev/null
+++ b/tutorial/ovn/env3/setup.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+set -o xtrace
+
+ovn-nbctl lswitch-add sw0
+
+ovn-nbctl lport-add sw0 sw0-port1
+ovn-nbctl lport-add sw0 sw0-port2
+ovn-nbctl lport-add sw0 sw0-port3
+ovn-nbctl lport-add sw0 sw0-port4
+
+ovn-nbctl lport-set-macs sw0-port1 00:00:00:00:00:01
+ovn-nbctl lport-set-macs sw0-port2 00:00:00:00:00:02
+ovn-nbctl lport-set-macs sw0-port3 00:00:00:00:00:03
+ovn-nbctl lport-set-macs sw0-port4 00:00:00:00:00:04
+
+ovn-nbctl lport-set-port-security sw0-port1 00:00:00:00:00:01
+ovn-nbctl lport-set-port-security sw0-port2 00:00:00:00:00:02
+ovn-nbctl lport-set-port-security sw0-port3 00:00:00:00:00:03
+ovn-nbctl lport-set-port-security sw0-port4 00:00:00:00:00:04
+
+# Bind sw0-port1 and sw0-port2 to the local chassis
+ovs-vsctl add-port br-int lport1 -- set Interface lport1 external_ids:iface-id=sw0-port1
+ovs-vsctl add-port br-int lport2 -- set Interface lport2 external_ids:iface-id=sw0-port2
+
+# Create a fake remote chassis.
+ovn-sbctl chassis-add fakechassis geneve 127.0.0.1
+
+# Bind sw0-port3 and sw0-port4 to the fake remote chassis.
+ovn-sbctl lport-bind sw0-port3 fakechassis
+ovn-sbctl lport-bind sw0-port4 fakechassis