Catalyst 6500 Series Switch Content Switching Module (CSM) Installation and Configuration Note Software Release 3.1
CSM XML DTD
Downloads: This chapterpdf (PDF - 262.0KB) | Feedback

CSM XML Document Type Definition

Table Of Contents

CSM XML Document Type Definition


CSM XML Document Type Definition


The CSM XML Document Type Definition (DTD) is as follows:

<!--
/*
 *  cisco_csm.dtd - XML DTD for CSM 3.1
 *
 *  January 2002  Paul Mathison
 *
 *  Copyright (c) 2002 by cisco Systems, Inc.
 *  All rights reserved
 */
-->

<!--
  Notes:
  Each element refers to a particular IOS CLI command.
  Each attribute refers to a command parameter.
  Except where noted, all "name" attributes are strings of length
    1 to 15, with no whitespace.
  IP address and mask attributes use standard "x.x.x.x" format.
-->

<!--
*************************************************************
  Elements and attributes required by various other elements
*************************************************************
-->

<!ELEMENT inservice EMPTY>
<!ATTLIST inservice
  sense (yes | no) #IMPLIED
>

<!ELEMENT serverfarm_ref EMPTY>
<!ATTLIST serverfarm_ref
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>


<!--
*************************************************************
  Elements and attributes required for vlan
*************************************************************
-->

<!ELEMENT vlan_address EMPTY>
<!ATTLIST vlan_address
  sense     (yes | no) #IMPLIED
  ipaddress NMTOKEN    #REQUIRED
  ipmask    NMTOKEN    #REQUIRED
>

<!ELEMENT gateway EMPTY>
<!ATTLIST gateway
  sense     (yes | no) #IMPLIED
  ipaddress NMTOKEN    #REQUIRED
>

<!--
  gateway uses standard x.x.x.x format
-->
<!ELEMENT route EMPTY>
<!ATTLIST route
  sense     (yes | no) #IMPLIED
  ipaddress NMTOKEN    #REQUIRED
  ipmask    NMTOKEN    #REQUIRED
  gateway   NMTOKEN    #REQUIRED
>

<!ELEMENT alias EMPTY>
<!ATTLIST alias
  sense     (yes | no) #IMPLIED
  ipaddress NMTOKEN    #REQUIRED
  ipmask    NMTOKEN    #REQUIRED
>

<!--
  id is between 2 and 4095
  Maximum of 7 gateways per vlan
  Maximum of 4095 routes per vlan
  Maximum of 255 aliases per vlan
  Global maximum of 255 unique vlan_addresses
  Global maximum of 255 vlan gateways (including routed gateways)
-->
<!ELEMENT vlan (vlan_address?, gateway*, route*, alias*)>
<!ATTLIST vlan
  sense (yes | no)        #IMPLIED
  id    NMTOKEN           #REQUIRED
  type  (client | server) #REQUIRED
>


<!--
*************************************************************
  Elements and attributes required for probe
*************************************************************
-->

<!--
  value is between 2 and 65535 (default is 300)
-->
<!ELEMENT probe_failed EMPTY>
<!ATTLIST probe_failed
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  value is between 2 and 65535 (default is 120)
-->
<!ELEMENT probe_interval EMPTY>
<!ATTLIST probe_interval
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  value is between 0 and 65535 (default is 3)
-->
<!ELEMENT probe_retries EMPTY>
<!ATTLIST probe_retries
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  value is between 1 and 65535 (default 10)
-->
<!ELEMENT probe_open EMPTY>
<!ATTLIST probe_open
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  value is between 1 and 65535 (default 10)
-->
<!ELEMENT probe_receive EMPTY>
<!ATTLIST probe_receive
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  string is of length 1 to 64
-->
<!ELEMENT probe_domain EMPTY>
<!ATTLIST probe_domain
  sense  (yes | no) #IMPLIED
  string CDATA      #REQUIRED
>

<!ELEMENT probe_address EMPTY>
<!ATTLIST probe_address
  sense     (yes | no) #IMPLIED
  ipaddress NMTOKEN    #REQUIRED
>

<!ELEMENT probe_expect_address EMPTY>
<!ATTLIST probe_expect_address
  sense     (yes | no) #IMPLIED
  ipaddress NMTOKEN    #REQUIRED
>

<!--
  expression is a string of length 1 to 200
-->
<!ELEMENT probe_header EMPTY>
<!ATTLIST probe_header
  sense      (yes | no) #IMPLIED
  name       CDATA      #REQUIRED
  expression CDATA      #REQUIRED
>

<!--
  user is a string of length 1 to 15
  password is a string of length 1 to 15
-->
<!ELEMENT probe_credentials EMPTY>
<!ATTLIST probe_credentials
  sense    (yes | no) #IMPLIED
  user     CDATA      #REQUIRED
  password CDATA      ""
>

<!--
  url is a string of length 1 to 200
-->
<!ELEMENT probe_request EMPTY>
<!ATTLIST probe_request
  sense  (yes | no)   #IMPLIED
  method (get | head) #REQUIRED
  url    CDATA        "/"
>

<!--
  min_code is between 0 and 999
  max_code default is match min_code
-->
<!ELEMENT probe_expect_status EMPTY>
<!ATTLIST probe_expect_status
  sense    (yes | no) #IMPLIED
  min_code NMTOKEN    #REQUIRED
  max_code NMTOKEN    #IMPLIED
>

<!--
  Maximum of 255 probe_headers per http_probe
-->
<!ELEMENT http_probe (probe_failed?, probe_interval?, probe_retries?,
                      probe_open?, probe_receive?, probe_request?,
                      probe_credentials?, probe_header*, probe_expect_status*)
>

<!--
  Maximum of 255 probe_expect_addresses per dns_probe
-->
<!ELEMENT dns_probe (probe_failed?, probe_interval?, probe_retries?,
                     probe_receive?, probe_domain?, probe_expect_address*)
>

<!ELEMENT icmp_probe (probe_failed?, probe_interval?, probe_retries?,
                      probe_receive?, probe_address?)
>

<!ELEMENT tcp_probe (probe_failed?, probe_interval?, probe_retries?,
                     probe_open?)
>

<!ELEMENT smtp_probe (probe_failed?, probe_interval?, probe_retries?,
                      probe_open?, probe_receive?, probe_expect_status*)
>

<!ELEMENT telnet_probe (probe_failed?, probe_interval?, probe_retries?,
                        probe_open?, probe_receive?, probe_expect_status*)
>

<!ELEMENT ftp_probe (probe_failed?, probe_interval?, probe_retries?,
                     probe_open?, probe_receive?, probe_expect_status*)
>

<!ELEMENT probe (http_probe | dns_probe | icmp_probe | tcp_probe |
                 smtp_probe | telnet_probe | ftp_probe)
>
<!ATTLIST probe
  sense (yes | no)                #IMPLIED
  name  CDATA                     #REQUIRED
  type  (http | dns | icmp | tcp
         | smtp | telnet | ftp)   #REQUIRED
>


<!--
*************************************************************
  Elements and attributes required for natpool
*************************************************************
-->

<!--
  Global maximum of 255 natpool addresses
-->
<!ELEMENT natpool EMPTY>
<!ATTLIST natpool
  sense    (yes | no) #IMPLIED
  name     CDATA      #REQUIRED
  first_ip NMTOKEN    #REQUIRED
  last_ip  NMTOKEN    #REQUIRED
  ipmask   NMTOKEN    #REQUIRED
>


<!--
*************************************************************
  Elements and attributes required by maps
*************************************************************
-->

<!--
  url is a string of length 1 to 200
-->
<!ELEMENT url_rule EMPTY>
<!ATTLIST url_rule
  sense (yes | no) #IMPLIED
  url   CDATA      #REQUIRED
>

<!--
  name is a string of length 1 to 63
  expression is a string of length 1 to 127
-->
<!ELEMENT cookie_rule EMPTY>
<!ATTLIST cookie_rule
  sense      (yes | no) #IMPLIED
  name       CDATA      #REQUIRED
  expression CDATA      #REQUIRED
>

<!--
  name is a string of length 1 to 63
  expression is a string of length 1 to 127
-->
<!ELEMENT header_rule EMPTY>
<!ATTLIST header_rule
  sense      (yes | no) #IMPLIED
  name       CDATA      #REQUIRED
  expression CDATA      #REQUIRED
>

<!--
  min_code and max_code are between 100 and 599
  threshold is between 1 and 4294967295, no effect for count action
  reset is between 0 and 4294967295 (0 means no reset)
-->
<!ELEMENT retcode_rule EMPTY>
<!ATTLIST retcode_rule
  sense     (yes | no)             #IMPLIED
  min_code  NMTOKEN                #REQUIRED
  max_code  NMTOKEN                #REQUIRED
  action    (count | log | remove) #REQUIRED
  threshold NMTOKEN                #REQUIRED
  reset     NMTOKEN                "0"
>

<!--
  Maximum of 1023 url_rules per map
-->
<!ELEMENT url_map (url_rule*)>
<!ATTLIST url_map
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>

<!--
  Maximum of 5 cookie_rules per map
-->
<!ELEMENT cookie_map (cookie_rule*)>
<!ATTLIST cookie_map
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>

<!--
  Maximum of 5 header_rules per map
-->
<!ELEMENT header_map (header_rule*)>
<!ATTLIST header_map
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>

<!--
  Maximum of 100 retcodes (not ranges) per map
-->
<!ELEMENT retcode_map (retcode_rule*)>
<!ATTLIST retcode_map
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>


<!--
*************************************************************
  Elements and attributes required for redirect_server
*************************************************************
-->

<!--
  value is between 1 and 65535
-->
<!ELEMENT ssl_port EMPTY>
<!ATTLIST ssl_port
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  string is of length 1 to 127
-->
<!ELEMENT redirect_relocate EMPTY>
<!ATTLIST redirect_relocate
  sense  (yes | no)  #IMPLIED
  string CDATA       #REQUIRED
  code   (301 | 302) "302"
>

<!--
  string is of length 1 to 127
-->
<!ELEMENT redirect_backup EMPTY>
<!ATTLIST redirect_backup
  sense  (yes | no)  #IMPLIED
  string CDATA       #REQUIRED
  code   (301 | 302) "302"
>

<!ELEMENT redirect_server (ssl_port?, redirect_relocate?, redirect_backup?,
                           inservice?)
>
<!ATTLIST redirect_server
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>


<!--
*************************************************************
  Elements and attributes required for real_server
*************************************************************
-->

<!--
  value is between 1 and 100
-->
<!ELEMENT weight EMPTY>
<!ATTLIST weight
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  value is between 1 and 4294967295
-->
<!ELEMENT minconns EMPTY>
<!ATTLIST minconns
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  value is between 1 and 4294967295
-->
<!ELEMENT maxconns EMPTY>
<!ATTLIST maxconns
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  port is between 0 and 65535 (0 means no port translation)
  Global maximum of 4095 real_servers
-->
<!ELEMENT real_server (weight?, minconns?, maxconns?, inservice?)>
<!ATTLIST real_server
  sense     (yes | no) #IMPLIED
  ipaddress NMTOKEN    #REQUIRED
  port      NMTOKEN    "0"
>


<!--
*************************************************************
  Elements and attributes required for serverfarm
*************************************************************
-->

<!ELEMENT retcode_map_ref EMPTY>
<!ATTLIST retcode_map_ref
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>

<!--
  retries is between 0 and 65534
  failed is between 0 and 65535
-->
<!ELEMENT health EMPTY>
<!ATTLIST health
  sense     (yes | no) #IMPLIED
  retries   NMTOKEN    #REQUIRED
  failed    NMTOKEN    #REQUIRED
>

<!ELEMENT failaction EMPTY>
<!ATTLIST failaction
  sense (yes | no)     #IMPLIED
  value (purge)        #REQUIRED
>

<!ELEMENT probe_ref EMPTY>
<!ATTLIST probe_ref
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>

<!ELEMENT natpool_ref EMPTY>
<!ATTLIST natpool_ref
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>

<!ELEMENT server_nat EMPTY>
<!ATTLIST server_nat
  sense (yes | no) #IMPLIED
>

<!--
  value is between 0 and 65533
-->
<!ELEMENT bind_id EMPTY>
<!ATTLIST bind_id
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  hash_ip_type and ipmask valid only when value = hash_ip
-->
<!ELEMENT predictor EMPTY>
<!ATTLIST predictor
  sense        (yes | no)                     #IMPLIED
  value        (roundrobin | leastconns |
                hash_ip | hash_url | forward) #REQUIRED
  hash_ip_type (source | destination | both)  "both"
  ipmask       NMTOKEN                        "255.255.255.255"
>

<!ELEMENT serverfarm (predictor?, natpool_ref?, server_nat?, health?,
                      bind_id?, retcode_map_ref?, failaction?,
                      redirect_server*, real_server*, probe_ref*)
>
<!ATTLIST serverfarm
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>


<!--
*************************************************************
  Elements and attributes required for sticky_group
*************************************************************
-->

<!--
  id is between 1 and 255
  timeout is between 1 and 65535
  ipmask required for type=ip
  cookie is a string of length 1 to 63, required for type=cookie
-->
<!ELEMENT sticky_group EMPTY>
<!ATTLIST sticky_group
  sense   (yes | no)          #IMPLIED
  id      NMTOKEN             #REQUIRED
  timeout NMTOKEN             "1440"
  type    (ip | cookie | ssl) #REQUIRED
  ipmask  NMTOKEN             #IMPLIED
  cookie  CDATA               #IMPLIED
>


<!--
*************************************************************
  Elements and attributes required for policy
*************************************************************
-->

<!ELEMENT url_map_ref EMPTY>
<!ATTLIST url_map_ref
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>

<!ELEMENT cookie_map_ref EMPTY>
<!ATTLIST cookie_map_ref
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>

<!ELEMENT header_map_ref EMPTY>
<!ATTLIST header_map_ref
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>

<!--
  Reference to an IOS standard IP access list
  Specify either the id (range 1 to 99) or name
  name is a string of length 1 to 200
-->
<!ELEMENT client_group_ref EMPTY>
<!ATTLIST client_group_ref
  sense (yes | no) #IMPLIED
  name CDATA   #IMPLIED
  id   NMTOKEN #IMPLIED
>

<!--
  id is between 1 and 255
-->
<!ELEMENT sticky_group_ref EMPTY>
<!ATTLIST sticky_group_ref
  sense (yes | no) #IMPLIED
  id    NMTOKEN    #REQUIRED
>

<!--
  value is between 0 and 63
-->
<!ELEMENT dscp EMPTY>
<!ATTLIST dscp
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!ELEMENT policy (serverfarm_ref?, client_group_ref?, sticky_group_ref?,
                  dscp?, url_map_ref?, cookie_map_ref?, header_map_ref?)
>
<!ATTLIST policy
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>


<!--
*************************************************************
  Elements and attributes required for vserver
*************************************************************
-->

<!--
  protocol is between 0 and 255 (0 means any)
  port is between 0 and 65535 (0 means any)
-->
<!ELEMENT virtual EMPTY>
<!ATTLIST virtual
  sense     (yes | no)          #IMPLIED
  ipaddress NMTOKEN             #REQUIRED
  ipmask    NMTOKEN             "255.255.255.255"
  protocol  NMTOKEN             #REQUIRED
  port      NMTOKEN             #REQUIRED
  service   (none | ftp | rtsp) "none"
>

<!ELEMENT client EMPTY>
<!ATTLIST client
  sense     (yes | no) #IMPLIED
  ipaddress NMTOKEN    #REQUIRED
  ipmask    NMTOKEN    "255.255.255.255"
  exclude   (yes | no) "no"
>

<!--
  timeout is between 1 and 65535
  group is between 0 and 255 (if nonzero, refers to an ip sticky_group)
-->
<!ELEMENT sticky EMPTY>
<!ATTLIST sticky
  sense   (yes | no) #IMPLIED
  timeout NMTOKEN    #REQUIRED
  group   NMTOKEN    "0"
  ipmask  NMTOKEN    "255.255.255.255"
>

<!ELEMENT policy_ref EMPTY>
<!ATTLIST policy_ref
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>

<!--
  begin and end are strings, 0-length ok
  total length of begin and end should not exceed 200
-->
<!ELEMENT url_hash EMPTY>
<!ATTLIST url_hash
  sense (yes | no) #IMPLIED
  begin CDATA      #REQUIRED
  end   CDATA      #REQUIRED
>

<!--
  value is between 2 and 4095
-->
<!ELEMENT vlan_id EMPTY>
<!ATTLIST vlan_id
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  value is between 2 and 65535
-->
<!ELEMENT idle EMPTY>
<!ATTLIST idle
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  value is between 1 and 65535
-->
<!ELEMENT pending EMPTY>
<!ATTLIST pending
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!ELEMENT replicate_csrp EMPTY>
<!ATTLIST replicate_csrp
  sense (yes | no)            #IMPLIED
  value (sticky | connection) #REQUIRED
>

<!ELEMENT advertise EMPTY>
<!ATTLIST advertise
  sense (yes | no)        #IMPLIED
  value (always | active) #REQUIRED
>

<!ELEMENT persistent EMPTY>
<!ATTLIST persistent
  sense (yes | no) #IMPLIED
>

<!--
  value is between 1 and 4000
-->
<!ELEMENT parse_length EMPTY>
<!ATTLIST parse_length
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  string is of length 1 to 127
-->
<!ELEMENT domain EMPTY>
<!ATTLIST domain
  sense  (yes | no) #IMPLIED
  string CDATA      #REQUIRED
>

<!--
  Maximum of 1023 domains per vserver
  Default idle is 3600
  Default pending is 30
-->
<!ELEMENT vserver (virtual?, vlan_id?, idle?, pending?, replicate_csrp?,
                   advertise?, persistent?, parse_length?, inservice?,
                   url_hash?, policy_ref*, domain*,
                   serverfarm_ref?, sticky?, client*)
>
<!ATTLIST vserver
  sense (yes | no) #IMPLIED
  name  CDATA      #REQUIRED
>


<!--
*************************************************************
  Elements and attributes required for dfp
*************************************************************
-->

<!--
  port is between 1 and 65535
-->
<!ELEMENT dfp_manager EMPTY>
<!ATTLIST dfp_manager
  sense (yes | no) #IMPLIED
  port  NMTOKEN    #REQUIRED
>

<!--
  port is between 1 and 65535
  timeout is between 0 and 65535
  retry is between 0 and 65535 (must specify timeout)
  interval is between 1 and 65535 (must specify retry)
-->
<!ELEMENT dfp_agent EMPTY>
<!ATTLIST dfp_agent
  sense     (yes | no) #IMPLIED
  ipaddress NMTOKEN    #REQUIRED
  port      NMTOKEN    #REQUIRED
  timeout   NMTOKEN    "0"
  retry     NMTOKEN    "0"
  interval  NMTOKEN    "180"
>

<!--
  password is a string of length 1 to 64
  timeout is between 0 and 65535
-->
<!ELEMENT dfp (dfp_manager?, dfp_agent*)>
<!ATTLIST dfp
  sense    (yes | no) #IMPLIED
  password CDATA      #IMPLIED
  timeout  NMTOKEN    "180"
>


<!--
*************************************************************
  Elements and attributes required for udp_capp
*************************************************************
-->

<!--
  secret is a string of length 1 to 32
-->
<!ELEMENT capp_options EMPTY>
<!ATTLIST capp_options
  sense      (yes | no) #IMPLIED
  ipaddress  NMTOKEN    #REQUIRED
  encryption (md5)      "md5"
  secret     CDATA      #REQUIRED
>

<!--
  value is between 1 and 65535
-->
<!ELEMENT capp_port EMPTY>
<!ATTLIST capp_port
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!ELEMENT capp_secure EMPTY>
<!ATTLIST capp_secure
  sense (yes | no) #IMPLIED
>

<!--
  Maximum of 16 capp_options
  Default capp_port is 5002
-->
<!ELEMENT udp_capp (capp_port?, capp_secure?, capp_options*)>
<!ATTLIST udp_capp
  sense (yes | no) #IMPLIED
>


<!--
*************************************************************
  Elements and attributes required for ft
*************************************************************
-->

<!ELEMENT ft_preempt EMPTY>
<!ATTLIST ft_preempt
  sense (yes | no) #IMPLIED
>

<!--
  value is between 1 and 254
-->
<!ELEMENT ft_priority EMPTY>
<!ATTLIST ft_priority
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  value is between 1 and 65535
-->
<!ELEMENT ft_failover EMPTY>
<!ATTLIST ft_failover
  sense (yes | no) #IMPLIED
  value NMTOKEN #REQUIRED
>

<!--
  value is between 1 and 65535
-->
<!ELEMENT ft_heartbeat EMPTY>
<!ATTLIST ft_heartbeat
  sense (yes | no) #IMPLIED
  value NMTOKEN    #REQUIRED
>

<!--
  group is between 1 and 254
  vlan_id is between 2 and 4095, and must *not* match id of
    existing client or server vlan configured for csm_module
  Default ft_preempt is off
  Default ft_priority is 10
  Default ft_failover is 3
  Default ft_heartbeat is 1
-->
<!ELEMENT ft (ft_preempt?, ft_priority?, ft_failover?, ft_heartbeat?)>
<!ATTLIST ft
  sense   (yes | no) #IMPLIED
  group   NMTOKEN    #REQUIRED
  vlan_id NMTOKEN    #REQUIRED
>


<!--
*************************************************************
  Elements and attributes required for static_nat
*************************************************************
-->

<!ELEMENT static_real EMPTY>
<!ATTLIST static_real
  sense     (yes | no) #IMPLIED
  ipaddress NMTOKEN    #REQUIRED
  ipmask    NMTOKEN    "255.255.255.255"
>

<!--
  ipaddress is required for type=ip
  Global maximum of 16383 static_reals
-->
<!ELEMENT static_nat (static_real*)>
<!ATTLIST static_nat
  sense     (yes | no)            #IMPLIED
  type      (drop | ip | virtual) #REQUIRED
  ipaddress NMTOKEN               #IMPLIED
>


<!--
*************************************************************
  root definition for csm_module
*************************************************************
-->

<!--
  slot is between 1 and MAXSLOT (depends on chassis)
  Maximum of 4095 probes
  Maximum of 1023 url_maps
  Maximum of 1023 cookie_maps
  Maximum of 1023 header_maps
  Maximum of 1023 retcode_maps
  Maximum of 4095 serverfarms
  Maximum of 255 sticky_groups (including those id=0 groups created
                                implicitly for vservers)
  Maximum of 4000 vservers
-->
<!ELEMENT csm_module (vlan*, probe*, natpool*, url_map*, cookie_map*,
                      header_map*, retcode_map*, serverfarm*, sticky_group*,
                      policy*, vserver*, dfp?, udp_capp?, ft?, static_nat*)
>
<!ATTLIST csm_module
  sense (yes | no) #IMPLIED
  slot  NMTOKEN    #REQUIRED
>


<!--
*************************************************************
  actions
*************************************************************
-->

<!--
  error_tolerance is a 32-bit value, specified
    in hex or decimal, which acts as a bitmask
    for specifying which error types should be
    ignored.  TBD: define error types
-->
<!ELEMENT config (csm_module)>
<!ATTLIST config
  error_tolerance NMTOKEN #IMPLIED
>


<!--
**************
TBD: error response, error strictness attribute
**************
-->