CIM naming
----------

As you can see, the nice names "configs", "devices", "routes",
etc. are gone. Welcome to CIM!

WORK-IN-PROGRESS: the REST aspect is not covered now, because the way
CIM composes the data using subclassed associations makes it hard to
figure out, and below are only guesses. A Confusingly Irritating Model :-)

note to XML:
- I use the usual ruby attributes like type=array/boolean.
- Additionally I use <Foo value='80'>HTTP</>  to combine CIM
  enumerations (Value+ValueMap)
- CIM is CamelCase. We may want to adapt_it_to_ruby

CIM_NetworkPort means "network interface", not a "(TCP/IP )protocol
port"

(hierarchy: EthernetPort: NetworkPort: LogicalPort: LogicalDevice:
EnabledLogicalElement: LogicalElement: ManagedSystemElement: ManagedElement)


/NetworkPort/eth0

  <EthernetPort>
    <!-- LogicalDevice -->
    <DeviceID>eth0</> <!-- key -->
    <!-- NetworkPort -->
    <NetworkAddresses>
      <item>112233445566</>
      <item>aabbccffeeff</>
    </>
    <LinkTechnology value='2'>Ethernet</>
    <!-- EthernetPort -->
    <Capabilities type='array'>
      <item value='3'>WakeOnLan</>
    </>
    <EnabledCapabilities type='array' /> <!-- empty -->
  </>

LogicalDevice has a m:n Realizes association with Core:PhysicalElement, not
sure how to model it in REST
  <PhysicalElement>
    <Manufacturer>Realtek Semiconductor Co., Ltd.</>
    <Model>RTL-8169 Gigabit Ethernet</>
    ...
  </>

IPProtocolEndpoint: Core:ProtocolEndpoint:

  <IPProtocolEndpoint>
    <IPv4Address>1.2.3.4</>
    <SubnetMask>255.255.255.0</>
    <AddressOrigin value="4">DHCP</>            <!-- "Static",
          "DHCP", "BOOTP", "IPv4 Link Local", "DHCPv6",
          "IPv6AutoConfig" -->
  </>

  <IPProtocolEndpoint>
    <IPv6Address>1:2:3::4</>
    <PrefixLength>64</>
    <AddressOrigin value="8">IPv6AutoConfig</>
  </>

interface configuration
-----------------------
 
(IPAssignmentSettingData : SettingData: ManagedElement)

/IPAssignmentSettingData/eth0
  <IPAssignmentSettingData>
    <AddressOrigin value='4'>DHCP</>
  </>
 
 
/IPAssignmentSettingData/eth0
  <StaticIPAssignmentSettingData>
    <AddressOrigin value='3'>Static</>
    <IPv4Address>10.20.30.40</>
    <SubnetMask>255.255.0.0</>
    <GatewayIPv4Address>10.20.7.254</> <!-- default route -->
  </>
 
(WiFi is too new (Jun 2009):
   http://www.dmtf.org/standards/published_documents/DSP1088_1.0.0.pdf
   )

the Association ElementSettingData connects ManagedElement and SettingData
(compare NetworkManager's ActiveConnection)

<ElementSettingData>
  <ManagedElement>/IPProtocolEndpoint/1</>
  <SettingData>/IPAssignmentSettingData/eth0</>
  <IsDefault value="1">Is Default</> <!--0:Unknown, 2:Is Not Default  -->
  <IsCurrent value="1">Is Current</>
</>

TODO! how is all this bound to /NetworkPort/eth0?

SAPSAPDependency?
ActiveConnection?


resolver (DNS client) configuration
-----------------------------------
 
(NETCONFIG_DNS_STATIC_SERVERS)
/DNSSettingData
  <DNSSettingData>
    <AddressOrigin value='3'>Static</>
    <DNSServerAddresses type='array'> <!-- CIM: string[] -->
      <item>10.20.0.2</>
      <item>10.20.0.8</>
    </>
  </>
 
(NETCONFIG_DNS_STATIC_SEARCHLIST)
/DNSGeneralSettingData
  <DNSGeneralSettingData>
    <AddressOrigin value='3'>Static</>
    <AppendParentSuffixes type="boolean">true</>
    <DNSSuffixesToAppend type="array">
      <item>suse.cz</>
      <item>suse.de</>
    </>
  </>

(BTW it seems that netconfig does not enable dissassociating AddressOrigin
for these two)
 
/DNSSettingData
  <DNSSettingData>
    <AddressOrigin value='4'>DHCP</>
  </>

/DNSGeneralSettingData
  <DNSGeneralSettingData>
    <AddressOrigin value='4'>DHCP</>
  </>
 

(TODO: Virtual Devices, in case you haven't had enough)

-- 
Martin Vidner, YaST developer
http://en.opensuse.org/User:Mvidner

Kuracke oddeleni v restauraci je jako fekalni oddeleni v bazenu
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to