[Libvirt-cim] [PATCH 00/15] vlan extension

Sharad Mishra snmishra at us.ibm.com
Thu Dec 8 22:55:20 UTC 2011


libvirt-cim-bounces at redhat.com wrote on 12/07/2011 01:18:58 AM:

> Wayne Xia <xiawenc at linux.vnet.ibm.com>
> Sent by: libvirt-cim-bounces at redhat.com
>
> 12/07/2011 01:18 AM
>
> Please respond to
> List for discussion and development of libvirt CIM
<libvirt-cim at redhat.com>
>
> To
>
> libvirt-cim at redhat.com
>
> cc
>
> luowenj at cn.ibm.com, shuming at cn.ibm.com
>
> Subject
>
> [Libvirt-cim] [PATCH 00/15] vlan extension
>
>   These patches would do following things: building up the network system
CIM
> model, building up basic framework and functions below to implement the
> configuration, add the bridge and vlan802.1.q configuration capabilities
in
> CIM model and library below.
>   Now this patch implement the functionalities with commandline style,
which
> means it depends on command ip, ifconfig, brctl and /proc/net/vlan/. In
this
> way it is very sensitive to these command's output format. Maybe another
> implemetion could avoid that in the future.
>   Since libvirt-cim is not a daemon program that would always be brought
up
> when the emulator was up, so there lacks a mechnism to save the
configuration
> and set them when system reboot, so these patch uses system directory
> /etc/sysconfig/network-script/
> to store the settings.
>   The things above means that a linux kernel later than 2.6 and RedHat
> distribution is needed. Other distriution may work but not tested. If

We need to test on SLES

-Sharad


> the implemention goes to libvirt the restrict would be removed.
>   Related profiles: the most important are DSP1050, DSP1097, DSP 2025
(draft),
> Other are: DSP1041, DSP1014.
>   Typical usage: assuming you have pNIC eth0. Use following xml files
passed
> to wbemexec could create bridge testbr with eth0.10 attached, which means
all
> VMs connecting to testbr would have access to IEEE802.1.q vlan 10.
>
> XML 1
>
> <?xml version="1.0" encoding="utf-8" ?>
> <CIM CIMVERSION="2.0" DTDVERSION="2.0">
> <MESSAGE ID="4711" PROTOCOLVERSION="1.0">
> <SIMPLEREQ>
> <METHODCALL NAME="DefineSystem">
> <LOCALINSTANCEPATH>
>  <LOCALNAMESPACEPATH>
>   <NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="virt"></NAMESPACE>
>  </LOCALNAMESPACEPATH>
>  <INSTANCENAME
CLASSNAME="Net_VirtualEthernetSwitchSystemManagementService">
>   <KEYBINDING NAME="CreationClassName"><KEYVALUE
> VALUETYPE="string">Net_VirtualEthernetSwitchSystemManagementService</
> KEYVALUE></KEYBINDING>
>   <KEYBINDING NAME="Name"><KEYVALUE VALUETYPE="string">Management
> Service</KEYVALUE></KEYBINDING>
>   <KEYBINDING NAME="SystemCreationClassName"><KEYVALUE
> VALUETYPE="string">KVM_HostSystem</KEYVALUE></KEYBINDING>
>   <KEYBINDING NAME="SystemName"><KEYVALUE
> VALUETYPE="string">unknown</KEYVALUE></KEYBINDING>
>  </INSTANCENAME>
> </LOCALINSTANCEPATH>
>
> <PARAMVALUE NAME="SystemSettings" PARAMTYPE="string">
>  <VALUE>
> instance of Net_VirtualEthernetSwitchSystemSettingData {
>  VirtualSystemIdentifier ="VS_testbr1";
>  STP = 1;
> };
>  </VALUE>
> </PARAMVALUE>
>
> </METHODCALL>
> </SIMPLEREQ>
> </MESSAGE>
> </CIM>
>
> XML 2
>
> <?xml version="1.0" encoding="utf-8" ?>
> <CIM CIMVERSION="2.0" DTDVERSION="2.0">
> <MESSAGE ID="4711" PROTOCOLVERSION="1.0">
> <SIMPLEREQ>
> <METHODCALL NAME="AddResourceSettings">
> <LOCALINSTANCEPATH>
>  <LOCALNAMESPACEPATH>
>   <NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="virt"></NAMESPACE>
>  </LOCALNAMESPACEPATH>
>  <INSTANCENAME
CLASSNAME="Net_VirtualEthernetSwitchSystemManagementService">
>   <KEYBINDING NAME="CreationClassName"><KEYVALUE
> VALUETYPE="string">Net_VirtualEthernetSwitchSystemManagementService</
> KEYVALUE></KEYBINDING>
>   <KEYBINDING NAME="Name"><KEYVALUE VALUETYPE="string">Management
> Service</KEYVALUE></KEYBINDING>
>   <KEYBINDING NAME="SystemCreationClassName"><KEYVALUE
> VALUETYPE="string">KVM_HostSystem</KEYVALUE></KEYBINDING>
>   <KEYBINDING NAME="SystemName"><KEYVALUE
> VALUETYPE="string">unknown</KEYVALUE></KEYBINDING>
>  </INSTANCENAME>
> </LOCALINSTANCEPATH>
>
> <PARAMVALUE NAME="AffectedConfiguration">
>  <VALUE.REFERENCE>
>   <INSTANCENAME CLASSNAME="Net_VirtualEthernetSwitchSettingData">
>    <KEYBINDING NAME="InstanceID"><KEYVALUE
> VALUETYPE="string">Virt:VS_eth0</KEYVALUE></KEYBINDING>
>   </INSTANCENAME>
>  </VALUE.REFERENCE>
> </PARAMVALUE>
>
> <PARAMVALUE NAME="ResourceSettings" PARAMTYPE="string">
>  <VALUE.ARRAY>
>   <VALUE>
> instance of Net_EthernetPortAllocationSettingData {
>  InstanceID = "VS_eth0/EA_eth0.10";
>  ElementName = "EA_eth0.10";
>  VLANType = 1;
>  Connection = {"VLAN10"};
>  ReorderHdr = 0;
>  };
>   </VALUE>
>   <VALUE>
> instance of Net_EthernetPortAllocationSettingData {
>  InstanceID = "VS_eth0/EC_eth0.10";
>  HostResource = {"VS_testbr1"};
>  Parent = "EA_eth0.10";
>  };
>   </VALUE>
>  </VALUE.ARRAY>
> </PARAMVALUE>
>
> </METHODCALL>
> </SIMPLEREQ>
> </MESSAGE>
> </CIM>
>
> Wayne Xia (15):
>   vlan extension - makefile change
>   vlan extension - CIM model - add class VESS
>   vlan extension - CIM model - add class VESSSD
>   vlan extension - CIM model - add class EthernetPort
>   vlan extension - CIM model - add class
>     EthernetPortAllocationSettingData
>   vlan extension - CIM model - add association Net_SettingsDeineState
>   vlan extension - CIM model - add association Net_SystemDevice
>   vlan extension - CIM model - add association Net_VESSSDComponent
>   vlan extension - CIM model - add association Net_ElementSettingData
>   vlan extension - CIM model - add core class VESSMS
>   vlan extension - CIM model - add help functions
>   vlan extension - function lib - add the API
>   vlan extension - function lib - add the core structure
>   vlan extension - function lib - add the helper functions
>   vlan extension - function lib - add the implemention of commandline
>
>  Makefile.am                                        |   16 +-
>  libxkutil/Makefile.am                              |   11 +-
>  libxkutil/host_network_API.c                       |  150 ++
>  libxkutil/host_network_API.h                       |   32 +
>  libxkutil/host_network_basic.c                     |  639 +++++++
>  libxkutil/host_network_basic.h                     |  166 ++
>  libxkutil/host_network_error.h                     |   28 +
>  libxkutil/host_network_helper.c                    |  659 +++++++
>  libxkutil/host_network_helper.h                    |  192 ++
>  libxkutil/host_network_implement_cmdline.c         | 2002 +++++++++
> +++++++++++
>  libxkutil/host_network_implement_cmdline.h         |   55 +
>  libxkutil/network_model.c                          |  466 +++++
>  libxkutil/network_model.h                          |  105 +
>  schema/ElementSettingData.mof                      |   16 +-
>  schema/ElementSettingData.registration             |    4 +-
>  schema/EthernetPort.mof                            |    4 +
>  schema/EthernetPort.registration                   |    3 +
>  schema/EthernetPortAllocationSettingData.mof       |   21 +
>  .../EthernetPortAllocationSettingData.registration |    3 +
>  schema/SettingsDefineState.mof                     |    9 +-
>  schema/SettingsDefineState.registration            |    3 +-
>  schema/SystemDevice.mof                            |   18 +-
>  schema/SystemDevice.registration                   |    3 +-
>  schema/VESSSDComponent.mof                         |    8 +
>  schema/VESSSDComponent.registration                |    3 +
>  schema/VirtualEthernetSwitchSystem.mof             |   10 +
>  schema/VirtualEthernetSwitchSystem.registration    |    3 +
>  ...irtualEthernetSwitchSystemManagementService.mof |   14 +
>  ...ernetSwitchSystemManagementService.registration |    3 +
>  schema/VirtualEthernetSwitchSystemSettingData.mof  |   27 +
>  ...ualEthernetSwitchSystemSettingData.registration |    3 +
>  src/Makefile.am                                    |   49 +-
>  src/Virt_EASD.c                                    |  733 +++++++
>  src/Virt_EASD.h                                    |   61 +
>  src/Virt_ElementSettingData.c                      |  229 +++-
>  src/Virt_EthernetPort.c                            |  565 ++++++
>  src/Virt_EthernetPort.h                            |   58 +
>  src/Virt_HostSystem.c                              |    2 +-
>  src/Virt_HostSystem.h                              |    2 +
>  src/Virt_SettingsDefineState.c                     |  256 +++
>  src/Virt_SystemDevice.c                            |  126 ++
>  src/Virt_VESSSD.c                                  |  372 ++++
>  src/Virt_VESSSD.h                                  |   39 +
>  src/Virt_VESSSDComponent.c                         |  181 ++
>  src/Virt_VirtualEthernetSwitchSystem.c             |  483 +++++
>  src/Virt_VirtualEthernetSwitchSystem.h             |   52 +
>  ..._VirtualEthernetSwitchSystemManagementService.c | 1342 +++++++++++++
>  ..._VirtualEthernetSwitchSystemManagementService.h |   31 +
>  src/Virt_VirtualSystemManagementService.c          |   17 +-
>  src/Virt_VirtualSystemManagementService.h          |   10 +
>  50 files changed, 9255 insertions(+), 29 deletions(-)
>  create mode 100644 libxkutil/host_network_API.c
>  create mode 100644 libxkutil/host_network_API.h
>  create mode 100644 libxkutil/host_network_basic.c
>  create mode 100644 libxkutil/host_network_basic.h
>  create mode 100644 libxkutil/host_network_error.h
>  create mode 100644 libxkutil/host_network_helper.c
>  create mode 100644 libxkutil/host_network_helper.h
>  create mode 100644 libxkutil/host_network_implement_cmdline.c
>  create mode 100644 libxkutil/host_network_implement_cmdline.h
>  create mode 100644 libxkutil/network_model.c
>  create mode 100644 libxkutil/network_model.h
>  create mode 100644 schema/EthernetPort.mof
>  create mode 100644 schema/EthernetPort.registration
>  create mode 100644 schema/EthernetPortAllocationSettingData.mof
>  create mode 100644 schema/EthernetPortAllocationSettingData.registration
>  create mode 100644 schema/VESSSDComponent.mof
>  create mode 100644 schema/VESSSDComponent.registration
>  create mode 100644 schema/VirtualEthernetSwitchSystem.mof
>  create mode 100644 schema/VirtualEthernetSwitchSystem.registration
>  create mode 100644
schema/VirtualEthernetSwitchSystemManagementService.mof
>  create mode 100644 schema/
> VirtualEthernetSwitchSystemManagementService.registration
>  create mode 100644 schema/VirtualEthernetSwitchSystemSettingData.mof
>  create mode 100644
schema/VirtualEthernetSwitchSystemSettingData.registration
>  create mode 100644 src/Virt_EASD.c
>  create mode 100644 src/Virt_EASD.h
>  create mode 100644 src/Virt_EthernetPort.c
>  create mode 100644 src/Virt_EthernetPort.h
>  create mode 100644 src/Virt_VESSSD.c
>  create mode 100644 src/Virt_VESSSD.h
>  create mode 100644 src/Virt_VESSSDComponent.c
>  create mode 100644 src/Virt_VirtualEthernetSwitchSystem.c
>  create mode 100644 src/Virt_VirtualEthernetSwitchSystem.h
>  create mode 100644
src/Virt_VirtualEthernetSwitchSystemManagementService.c
>  create mode 100644
src/Virt_VirtualEthernetSwitchSystemManagementService.h
>
> --
> 1.7.6
>
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim
>




More information about the Libvirt-cim mailing list