Catalyst 6500 Series Switch Content Switching Module (CSM) Installation and Configuration Note Software Release 3.1
CSM XML DTD

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
**************
-->