基于 Open vSwitch 的 OpenFlow 实践(2)

设置网络接口设备的类型为“internal”。对于 internal 类型的的网络接口,OVS 会同时在 Linux 系统中创建一个可以用来收发数据的模拟网络设备。我们可以为这个网络设备配置 IP 地址、进行数据监听等等。

1

2

3

4

5

6

7

8

9

10

 

$ ovs-vsctl set Interface p0 type=internal

$ ethtool -i p0

driver: openvswitch

version:

firmware-version:

bus-info:

supports-statistics: no

supports-test: no

supports-eeprom-access: no

supports-register-dump: no

 

为了避免网络接口上的地址和本机已有网络地址冲突,我们可以创建一个虚拟网络空间 ns0,把 p0 接口移入网络空间 ns0,并配置 IP 地址为 192.168.1.100

1

2

3

4

 

$ ip netns add ns0

$ ip link set p0 netns ns0

$ ip netns exec ns0 ip addr add 192.168.1.100/24 dev p0

$ ip netns exec ns0 ifconfig p0 promisc up

 

使用同样的方法创建端口 p1、p2

表 2. 创建的端口信息

端口说明
p0   IP 地址: 192.168.1.100/24
网络名称空间: ns0
网络接口 MAC 地址: 66:4e:cc:ae:4d:20
OpenFlow Port Number: 100
 
p1   IP 地址: 192.168.1.101/24
网络名称空间: ns1
网络接口 MAC 地址: 46:54:8a:95:dd:f8
OpenFlow Port Number: 101
 
p2   IP 地址: 192.168.1.102/24,
网络名称空间: ns2
网络接口 MAC 地址: 86:3b:c8:d0:44:10
OpenFlow Port Number: 102
 

创建所有的端口之后, 查看 OVS 交换机的信息

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

 

$ ovs-vsctl show

30282710-d401-4187-8e13-52388f693df7

    Bridge ovs-switch

        Port "p0"

            Interface "p0"

                type: internal

        Port "p2"

            Interface "p2"

                type: internal

        Port "p1"

            Interface "p1"

                type: internal

        Port ovs-switch

            Interface ovs-switch

                type: internal

 

使用 ovs-ofctl 创建并测试 OpenFlow 命令

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13742.html