From 63659fe4a60dfb18bbc8cc835d6d1c4fe7317a60 Mon Sep 17 00:00:00 2001 From: xinwu Date: Sun, 31 Jan 2016 18:35:28 -0800 Subject: Enable os_net_config to configure IVS This change generates /etc/sysconf/network-scripts/ifcfg-* for ivs. It also generates /etc/sysconf/ivs configuration file for ivs. It supports only RedHat at this point. Indigo Virtual Switch (IVS, https://github.com/floodlight/ivs) is a virtual switch for Linux. It is compatible with the KVM hypervisor and leveraging the Open vSwitch kernel module for packet forwarding. There are three major differences between IVS and OVS: 1. Each node can have at most one ivs, name is not required. 2. Bond is not allowed to attach to an ivs. It is the SDN controller's job to dynamically form bonds on ivs. 3. IP address can only be statically assigned. Change-Id: I276d736794d123405de793c2a4eb2c1ee55a0fad --- etc/os-net-config/samples/ivs.json | 37 +++++++++++++++++++++++++++++++++++++ etc/os-net-config/samples/ivs.yaml | 24 ++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 etc/os-net-config/samples/ivs.json create mode 100644 etc/os-net-config/samples/ivs.yaml (limited to 'etc') diff --git a/etc/os-net-config/samples/ivs.json b/etc/os-net-config/samples/ivs.json new file mode 100644 index 0000000..746e1c0 --- /dev/null +++ b/etc/os-net-config/samples/ivs.json @@ -0,0 +1,37 @@ +{ + "network_config": [ + { + "type": "ivs_bridge", + "members": [ + { + "type": "interface", + "name": "nic2", + }, + { + "type": "interface", + "name": "nic3" + }, + { + "type": "ivs_interface", + "name": "api", + "addresses": [ + { + "ip_netmask": "172.16.2.7/24" + } + ], + "vlan_id": 201 + }, + { + "type": "ivs_interface", + "name": "storage", + "addresses": [ + { + "ip_netmask": "172.16.1.6/24" + } + ], + "vlan_id": 202 + } + ] + } + ] +} diff --git a/etc/os-net-config/samples/ivs.yaml b/etc/os-net-config/samples/ivs.yaml new file mode 100644 index 0000000..9813316 --- /dev/null +++ b/etc/os-net-config/samples/ivs.yaml @@ -0,0 +1,24 @@ +network_config: + - + type: ivs_bridge + members: + - + type: interface + name: nic2 + - + type: interface + name: nic3 + - + type: ivs_interface + name: api + vlan_id: 201 + addresses: + - + ip_netmask: 172.16.2.7/24 + - + type: ivs_interface + name: storage + vlan_id: 202 + addresses: + - + ip_netmask: 172.16.1.6/24 -- cgit 1.2.3-korg