You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficcontrol.apache.org by GitBox <gi...@apache.org> on 2019/05/09 17:13:16 UTC

[GitHub] [trafficcontrol] ocket8888 commented on a change in pull request #3545: Delivery Service Overview Documentation

ocket8888 commented on a change in pull request #3545: Delivery Service Overview Documentation
URL: https://github.com/apache/trafficcontrol/pull/3545#discussion_r282581224
 
 

 ##########
 File path: docs/source/overview/delivery_services.rst
 ##########
 @@ -0,0 +1,755 @@
+..
+..
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+..
+..     http://www.apache.org/licenses/LICENSE-2.0
+..
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+..
+
+.. _delivery-services:
+
+*****************
+Delivery Services
+*****************
+"Delivery Services" are a very important construct in :abbr:`ATC (Apache Traffic Control)`. At their most basic, they are a source of content and a set of :term:`cache server`\ s and configuration options used to distribute that content.
+
+Delivery Services are modeled several times over, in the Traffic Ops database, in Traffic Portal forms and tables, in the legacy Perl Traffic Ops codebase, and several times for various :ref:`to-api` versions in the new Go Traffic Ops codebase. Go-specific data structures can be found in `the project's GoDoc documentation <https://godoc.org/github.com/apache/trafficcontrol/lib/go-tc#DeliveryServiceNullableV11>`_. Rather than application-specific definitions, what follows is an attempt at consolidating all of the different properties and names of properties of Delivery Service objects throughout the :abbr:`ATC (Apache Traffic Control)` suite. The names of these fields are typically chosen as the most human-readable and/or most commonly-used names for the fields, and when reading please note that in many cases these names will appear camelCased or snake_cased to be machine-readable. Any aliases of these fields that are not merely case transformations of the indicated, canonical names will be noted in a table of aliases.
+
+.. seealso:: The API reference for Delivery Service-related endpoints such as :ref:`to-api-deliveryservices` contains definitions of the Delivery Service object(s) returned and/or accepted by those endpoints.
+
+Active
+------
+Whether or not this Delivery Service is active on the CDN and can be served. When a Delivery Service is not "active", Traffic Router will not be made aware of its existence - i.e. it will not appear in CDN :term:`Snapshot`\ s. Setting a Delivery Service to be "active" (or "inactive") will require that a new :term:`Snapshot` be taken.
+
+Anonymous Blocking
+------------------
+Enables/Disables blocking of anonymized IP address - proxies, :abbr:`TOR (The Onion Ring)` exit nodes, etc - for this Delivery Service. Set to true to enable blocking of anonymous IPs for this Delivery Service.
+
+.. table:: Aliases
+
+	+--------------------------+-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
+	| Name                     | Use(s)                                                                      | Type(s)                                                                                 |
+	+==========================+=============================================================================+=========================================================================================+
+	| anonymousBlockingEnabled | Traffic Ops client and server Go code, :ref:`to-api` requests and responses | usually unchanged (boolean), but sometimes as a string containing a boolean e.g. in the |
+	|                          |                                                                             | response of a ``GET`` request to :ref:`to-api-cdns-name-snapshot`                       |
+	+--------------------------+-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
+
+.. note:: Anonymous Blocking requires an anonymous IP address database from the Delivery Service's Geolocation Provider. E.g. `MaxMind's Anonymous IP Database <https://www.maxmind.com/en/solutions/geoip2-enterprise-product-suite/anonymous-ip-database>`_ when MaxMind is used as the Geolocation Provider.
+
+.. seealso:: The :ref:`anonymous_blocking-qht` "Quick-How-To" guide.
+
+Cache URL Expression
+--------------------
+.. deprecated:: 3.0
+	This feature is no longer supported by :abbr:`ATS (Apache Traffic Server)` and consequently it will be removed from Traffic Control in the future.
+
+Manipulates the cache key of the incoming requests. Normally, the cache key is the :term:`origin` domain. This can be changed so that multiple services can share a cache key, can also be used to preserve cached content if service origin is changed.
+
+.. warning:: This field provides access to a feature that was only present in :abbr:`ATS (Apache Traffic Server)` 6.X and earlier. As :term:`cache server`\ s must now use :abbr:`ATS (Apache Traffic Server)` 7.1.X, this field **must** be blank unless all :term:`cache servers` can be guaranteed to use that older :abbr:`ATS (Apache Traffic Server)` version (**NOT** recommended).
+
+CDN
+---
+A CDN to which this Delivery Service belongs. Only servers and :term:`Cache Group`\ s within this CDN are available to route content for this Delivery Service. Additionally, only Traffic Routers assigned to this CDN will perform said routing. Most often ``cdn``/``CDN`` refers to the *name* of the CDN to which the Delivery Service belongs, but occasionally (most notably in the payloads and/or query parameters of certain :ref:`to-api` endpoints) it actually refers to the *integral, unique identifier* of said CDN.
+
+Check Path
+----------
+A request path on the :term:`origin server` which is used to by certain :ref:`Traffic Ops Extensions <admin-to-ext-script>` to indicate the "health" of the :term:`origin`.
+
+.. _ds-deep-caching:
+
+Deep Caching
+------------
+Controls the :ref:`deep-cache` feature of Traffic Router when serving content for this Delivery Service. This should always be represented by one of two values:
+
+ALWAYS
+	This Delivery Service will always use :ref:`deep-cache`
+NEVER
+	This Delivery Service will never use :ref:`deep-cache`
+
+.. impl-detail:: Traffic Ops and Traffic Ops client Go code use an empty string as the name of the enumeration member that represents "NEVER".
+
+Display Name
+------------
+The "name" of the Delivery Service. Since nearly any use of a string-based identification method for Delivery Services (e.g. in Traffic Portal tables) uses xml_id_, this is of limited use. For that reason and for consistency's sake it is suggested that this be the same as the xml_id_. However, unlike the xml_id_, this can contain any UTF-8 characters without restriction.
+
+DNS Bypass CNAME
+----------------
+When the limits placed on this Delivery Service by the `Global Max Mbps`_ and/or `Global Max Tps`_ are exceeded, a DNS-:ref:`Routed <ds-types>` Delivery Service will direct excess traffic to the host referred to by this :abbr:`CNAME (Canonical Name)` record.
+
+.. note:: IPv6 traffic will be redirected if and only if `IPv6 Routing Enabled`_ is "true" for this Delivery Service.
+
+DNS Bypass IP
+-------------
+When the limits placed on this Delivery Service by the `Global Max Mbps`_ and/or `Global Max Tps`_ are exceeded, a DNS-:ref:`Routed <ds-types>` Delivery Service will direct excess IPv4 traffic to this IPv4 address.
+
+DNS Bypass IPv6
+---------------
+When the limits placed on this Delivery Service by the `Global Max Mbps`_ and/or `Global Max Tps`_ are exceeded, a DNS-:ref:`Routed <ds-types>` Delivery Service will direct excess IPv6 traffic to this IPv6 address.
+
+.. note:: This requires an accompanying configuration of `IPv6 Routing Enabled`_ such that IPv6 traffic is allowed at all.
+
+DNS Bypass TTL
+--------------
+When the limits placed on this Delivery Service by the `Global Max Mbps`_ and/or `Global Max Tps`_ are exceeded, a DNS-:ref:`Routed <ds-types>` Delivery Service will direct excess traffic to their `DNS Bypass IP`_, `DNS Bypass IPv6`_, or `DNS Bypass CNAME`_.
+
+DNS TTL
+-------
+The :abbr:`TTL (Time To Live)` on the DNS record for the Traffic Router A and AAAA records. DNS-:ref:`Routed <ds-types>` Delivery Services will send this :abbr:`TTL (Time To Live)` along with their record responses to clients requesting access to this Delivery Service. Setting too high or too low will result in poor caching performance.
+
+.. table:: Aliases
+
+	+-------------+--------------------------------------------------------------------------------------+---------------------------------------------+
+	| Name        | Use(s)                                                                               | Type(s)                                     |
+	+=============+======================================================================================+=============================================+
+	| CCR DNS TTL | In Delivery Service objects returned by the :ref:`to-api`                            | unchanged (``int``, ``integer`` etc.)       |
+	+-------------+--------------------------------------------------------------------------------------+---------------------------------------------+
+	| CCR TTL     | Legacy Traffic Ops UI, documentation for older Traffic Control versions              | unchanged (``int``, ``integer`` etc.)       |
+	+-------------+--------------------------------------------------------------------------------------+---------------------------------------------+
+	| ttl         | In CDN :term:`Snapshot` structures, where it is displayed on a per-record-type-basis | map of record type names to integral values |
+	+-------------+--------------------------------------------------------------------------------------+---------------------------------------------+
+
+.. _ds-dscp:
+
+DSCP
+----
+The :abbr:`DSCP (Differentiated Services Code Point)` which will be used to mark IP packets as they are sent out of the CDN to the client.
+
+.. seealso:: `The Differentiated Services Wikipedia article <https://en.wikipedia.org/wiki/Differentiated_services>`_.
+
+.. warning:: The :abbr:`DSCP (Differentiated Services Code Point)` setting in Traffic Portal is *only* for setting traffic towards the client, and gets applied *after* the initial TCP handshake is complete and the HTTP request has been received. Before that the cache can't determine what Delivery Service is being requested, and consequently can't know what :abbr:`DSCP (Differentiated Services Code Point)` to apply. Therefore, the :abbr:`DSCP (Differentiated Services Code Point)` feature can not be used for security settings; the IP packets that form the TCP handshake are not going to be :abbr:`DSCP (Differentiated Services Code Point)`-marked.
+
+.. impl-detail:: DSCP settings only apply on :term:`cache servers` that run :abbr:`Apache Traffic Server`. The implementation uses the `ATS Header Rewrite Plugin <https://docs.trafficserver.apache.org/en/7.1.x/admin-guide/plugins/header_rewrite.en.html>`_ to create a rule that will mark traffic bound outward from the CDN to the client.
+
+Edge Header Rewrite Rules
+-------------------------
+This field in general contains the contents of the a configuration file used by the `ATS Header Rewrite Plugin <https://docs.trafficserver.apache.org/en/7.1.x/admin-guide/plugins/header_rewrite.en.html>`_ when serving content for this Delivery Service - on :term:`Edge-tier cache server`\ s.
+
+.. tip:: Because this ultimately is the contents of an :abbr:`ATS (Apache Traffic Server)` configuration file, it can make use of the :ref:`ort-special-strings`.
+
+Fair-Queuing Pacing Rate Bps
+----------------------------
+The maximum bytes per second a :term:`cache server` will deliver on any single TCP connection. This uses the Linux kernel’s Fair-Queuing :manpage:`setsockopt(2)` (``SO_MAX_PACING_RATE``) to limit the rate of delivery. Traffic exceeding this speed will only be rate-limited and not diverted. This option requires extra configuration on all :term:`cache servers` assigned to this Delivery Service - specifically, the line ``net.core.default_qdisc = fq`` must exist in :file:`/etc/sysctl.conf`.
+
+.. seealso:: :manpage:`tc-fq_codel(8)`
+
+.. table:: Aliases
+
+	+--------------+---------------------------------------------------------------------------------+---------------------------------------+
+	| Name         | Use(s)                                                                          | Type(s)                               |
+	+==============+=================================================================================+=======================================+
+	| FQPacingRate | Traffic Ops source code, Delivery Service objects returned by the :ref:`to-api` | unchanged (``int``, ``integer`` etc.) |
+	+--------------+---------------------------------------------------------------------------------+---------------------------------------+
+
+Geo Limit
+---------
+Limits access to a Delivery Service by geographic location. The only practical difference between this and `Regional Geoblocking`_ is the configuration method; as opposed to `Regional Geoblocking`_, GeoLimit configuration is handled by country-wide codes and the :term:`Coverage Zone File`. When a client is denied access to a requested resource on an HTTP-:ref:`Routed <ds-types>` Delivery Service, they will receive a ``503 Service Unavailable`` instead of the usual ``302 Found`` response - unless `Geo Limit Redirect URL`_ is defined, in which case a ``302 Found`` response pointing to that URL will be returned by Traffic Router. If the Delivery Service is a DNS-:ref:`Routed <ds-types>` Delivery Service, the IP address of the *resolver* for the client DNS request is what is checked. If the IP address of this resolver is found to be in a restricted location, the Traffic Router will respond with an ``NXDOMAIN`` response, causing the name resolution to fail. This is nearly always an integral, unique identifier for a behavior set to be followed by Traffic Router. The defined values are:
+
+0
+	Geographic access limiting is not enabled, and content served by this Delivery Service will be accessible regardless of the clients geographic location. (Aliased as "0 - None" in Traffic Portal forms)
+1
+	A client will be allowed to request content if and only if their IP address is found by Traffic Router within the :term:`Coverage Zone File`. Otherwise, access will be denied. (Aliased as "1 - CZF Only" in Traffic Portal forms)
+2
+	A client will be allowed to request content if their IP address is found by Traffic Router within the :term:`Coverage Zone File`, or if looking up the client's IP address in the Geographic IP mapping database provided by `Geolocation Provider`_ indicates the client resides in a country that is found in the `Geo Limit Countries`_ array. (Aliased as "2 - CZF + Country Code(s)" in Traffic Portal forms - formerly was known as "CZF + US" when only the US country code was supported)
+
+.. warning:: The definitions of each integral, unique identifier are hidden in implementations in each :abbr:`ATC (Apache Traffic Control)` component. Different components will handle invalid values differently, and there's no actual enforcement that the stored integral, unique identifier actually be within the representable range.
+
+.. table:: Aliases
+
+	+------------------+---------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+
+	| Name             | Use(s)                                                                    | Type(s)                                                                                        |
+	+==================+===========================================================================+================================================================================================+
+	| coverageZoneOnly | In CDN :term:`Snapshot` structures, especially in :ref:`to-api` responses | A boolean which, if ``true``, tells Traffic Router to only service requests when the client IP |
+	|                  |                                                                           | address is found in the :term:`Coverage Zone File`                                             |
+	+------------------+---------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+
+
+.. danger:: Geographic access limiting is **not** sufficient to guarantee access is properly restricted. The limiting is implemented by Traffic Router, which means that direct requests to :term:`Edge-tier cache server`\ s will bypass it entirely.
+
+Geo Limit Countries
+-------------------
+When `Geo Limit`_ is being used with this Delivery Service (and is set to exactly ``2``), this is optionally a list of country codes to which access to content provided by the Delivery Service will be restricted. Normally, this is a comma-delimited string of said country codes. When creating a Delivery Service with this field or modifying the Geo Limit Countries field on an existing Delivery Service, any amount of whitespace between country codes is permissible, as it will be removed on submission, but responses from the :ref:`to-api` should never include such whitespace.
+
+.. table:: Aliases
+
+	+------------------+---------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+
+	| Name             | Use(s)                                                                    | Type(s)                                                                                        |
+	+==================+===========================================================================+================================================================================================+
+	| geoEnabled       | In CDN :term:`Snapshot` structures, especially in :ref:`to-api` responses | An array of objects each having the key "countryCode" that is a string containing an allowed   |
+	|                  |                                                                           | country code - one should exist for each allowed country code                                  |
+	+------------------+---------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+
+
+Geo Limit Redirect URL
+----------------------
+If `Geo Limit`_ is being used with this Delivery Service, this is optionally a URL to which clients will be redirected when Traffic Router determines that they are not in a geographic zone that permits their access to the Delivery Service content. This changes the response from Traffic Router from ``503 Service Unavailable`` to ``302 Found`` with a provided location that will be this URL. There is no restriction on the provided URL; it may even be the path to a resource served by this Delivery Service. In fact, this field need not even be a full URL, it can be a relative path. Both of these cases are handled specially by Traffic Router.
+
+- If the provided URL is a resource served by the Delivery Service (e.g. if the client requests ``http://cdn.dsXMLID.somedomain.example.com/index.html`` but are denied access by `Geo Limit`_ and the Geo Limit Redirect URL is something like ``http://cdn.dsXMLID.somedomain.example.com/help.php``), Traffic Router will find an appropriate :term:`Edge-tier cache server` and redirect the client, ignoring Geo Limit restrictions *for this request only*.
+- If the provided "URL" is actually a relative path, it will be considered *relative to the requested Delivery Service :abbr:`FQDN (Fully Qualified Domain Name)`*. This means that e.g. if the client requests ``http://cdn.dsXMLID.somedomain.example.com/index.html`` but are denied access by `Geo Limit`_ and the Geo Limit Redirect URL is something like ``/help.php``, Traffic Router will find an appropriate :term:`Edge-tier cache server` and redirect the client to it as though they had requested ``http://cdn.dsXMLID.somedomain.example.com/help.php``, ignoring `Geo Limit`_ restrictions *for this request only*.
+
+.. table:: Aliases
+
+	+---------------------------------+----------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
+	| Name                            | Use(s)                                                         | Type(s)                                                                                         |
+	+=================================+================================================================+=================================================================================================+
+	| :abbr:`NGB (National GeoBlock)` | Older documentation, in Traffic Router comments and error logs | unchanged (``string``, ``String`` etc.)                                                         |
+	+---------------------------------+----------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
+	| geoRedirectURLType              | Internally in Traffic Router                                   | A ``String`` that describes whether or not the actual Geo Limit Redirect URL is relative to the |
+	|                                 |                                                                | Delivery Service base :abbr:`FQDN (Fully Qualified Domain Name)`. Should be one of:             |
+	|                                 |                                                                |                                                                                                 |
+	|                                 |                                                                | INVALID_URL                                                                                     |
+	|                                 |                                                                |     The Geo Limit Redirect URL has not yet been parsed, or an error occurred during parsing     |
+	|                                 |                                                                | DS_URL                                                                                          |
+	|                                 |                                                                |     The Geo Limit Redirect URL is served by this Delivery Service                               |
+	|                                 |                                                                | NOT_DS_URL                                                                                      |
+	|                                 |                                                                |     The Geo Limit Redirect URL is external to this Delivery Service                             |
+	+---------------------------------+----------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
+
+.. note:: The use of a redirect URL relies on the ability of Traffic Router to redirect the client using HTTP ``302 Found`` responses. As such, this field has no effect on DNS-:ref:`Routed <ds-types>` Delivery Services.
+
+.. _ds-geo-provider:
+
+Geolocation Provider
+--------------------
+This is nearly always the integral, unique identifier of a provider for a database that maps IP addresses to geographic locations. Less frequently, this may be accompanied by the actual name of the provider. Only two values are possible at the time of this writing:
+
+0: MaxMind
+	IP address to geographic location mapping will be provided by a `MaxMind GeoIP2 database <https://www.maxmind.com/en/geoip2-databases>`_.
+1: Neustar
+	IP address to geographic location mapping will be provided by a `Neustar GeoPoint IP address database <https://www.security.neustar/digital-performance/ip-intelligence/ip-address-data>`_.
+
+	.. warning:: It's not clear whether Neustar databases are actually supported; this is an old option and compatibility may have been broken over time.
+
+.. table:: Aliases
+
+	+-------------+-------------------------------------------------------------------------------+-----------------------------------------+
+	| Name        | Use(s)                                                                        | Type(s)                                 |
+	+=============+===============================================================================+=========================================+
+	| geoProvider | Traffic Ops and Traffic Ops client code, :ref:`to-api` requests and responses | unchanged (integral, unique identifier) |
+	+-------------+-------------------------------------------------------------------------------+-----------------------------------------+
+
+Geo Miss Default Latitude
+-------------------------
+Default Latitude for this Delivery Service. When the geographic location of the client cannot be determined, they will be routed as if they were at this latitude.
+
+.. table:: Aliases
+
+	+---------+--------------------------------------------------------+---------------------+
+	| Name    | Use(s)                                                 | Type(s)             |
+	+=========+========================================================+=====================+
+	| missLat | In :ref:`to-api` responses and Traffic Ops source code | unchanged (numeric) |
+	+---------+--------------------------------------------------------+---------------------+
+
+Geo Miss Default Longitude
+--------------------------
+Default Longitude for this Delivery Service. When the geographic location of the client cannot be determined, they will be routed as if they were at this longitude.
+
+.. table:: Aliases
+
+	+----------+--------------------------------------------------------+---------------------+
+	| Name     | Use(s)                                                 | Type(s)             |
+	+==========+========================================================+=====================+
+	| missLong | In :ref:`to-api` responses and Traffic Ops source code | unchanged (numeric) |
+	+----------+--------------------------------------------------------+---------------------+
+
+Global Max Mbps
+---------------
+The maximum :abbr:`Mbps (Megabits per second)` this Delivery Service can serve across all :term:`Edge-tier cache server`\ s before traffic will be diverted to the bypass destination. For a DNS-:ref:`Routed <ds-types>` Delivery Service, the `DNS Bypass IP`_ or `DNS Bypass IPv6`_ will be used (depending on whether this was a A or AAAA request), and for HTTP-:ref:`Routed <ds-types>` Delivery Services the `HTTP Bypass FQDN`_ will be used.
+
+.. table:: Aliases
+
+	+--------------------+--------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
+	| Name               | Use(s)                                                                               | Type(s)                                                                                                          |
+	+====================+======================================================================================+==================================================================================================================+
+	| totalKbpsThreshold | In :ref:`to-api` responses - most notably :ref:`to-api-cdns-name-configs-monitoring` | unchanged (numeric), but converted from :abbr:`Mbps (Megabits per second)` to :abbr:`Kbps (kilobits per second)` |
+	+--------------------+--------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
+
+Global Max TPS
+--------------
+The maximum :abbr:`TPS (Transactions per Second)` this Delivery Service can serve across all :term:`Edge-tier cache server`\ s before traffic will be diverted to the bypass destination. For a DNS-:ref:`Routed <ds-types>` Delivery Service, the `DNS Bypass IP`_ or `DNS Bypass IPv6`_ will be used (depending on whether this was a A or AAAA request), and for HTTP-:ref:`Routed <ds-types>` Delivery Services the `HTTP Bypass FQDN`_ will be used.
+
+.. table:: Aliases
+
+	+-------------------+--------------------------------------------------------------------------------------+---------------------+
+	| Name              | Use(s)                                                                               | Type(s)             |
+	+===================+======================================================================================+=====================+
+	| totalTpsThreshold | In :ref:`to-api` responses - most notably :ref:`to-api-cdns-name-configs-monitoring` | unchanged (numeric) |
+	+-------------------+--------------------------------------------------------------------------------------+---------------------+
+
+HTTP Bypass FQDN
+----------------
+When the limits placed on this Delivery Service by the `Global Max Mbps`_ and/or `Global Max Tps`_ are exceeded, an HTTP-:ref:`Routed <ds-types>` Delivery Service will direct excess traffic to this :abbr:`Fully Qualified Domain Name`.
+
+IPv6 Routing Enabled
+--------------------
+A boolean value that controls whether or not clients using IPv6 can be routed to this Delivery Service by Traffic Router. When creating a Delivery Service in Traffic Portal, this will default to "true".
+
+Info URL
+--------
+This should be a URL (though neither the :ref:`to-api` nor the Traffic Ops Database in any way enforce the validity of said URL) to which administrators or others may refer for further information regarding a Delivery Service - e.g. a related JIRA ticket.
+
+Initial Dispersion
+------------------
+The number of :term:`cache servers` between which traffic requesting the same object will be randomly split - meaning that if 4 clients all request the same object (one after another), then if this is above 4 there is a possibility that all 4 are cache misses, necessitating a fresh pull of the content from the next-highest level in the CDN. For most use-cases, this should be ``1``.
+
+Logs Enabled
+------------
+A boolean switch that can be toggled to enable/disable logging for a Delivery Service.
+
+.. note:: This doesn't actually do anything. It was part of the functionality for a planned Traffic Control component named "Traffic Logs" - which was never created.
+
+Long Description
+----------------
+Free text field that has no strictly defined purpose, but it is suggested that it contain a short description of the Delivery Service and its purpose.
+
+.. table::
+
+	+----------+---------------------------------------------------------+-----------------------------------------+
+	| Name     | Use(s)                                                  | Type(s)                                 |
+	+==========+=========================================================+=========================================+
+	| longDesc | Traffic Control source code and :ref:`to-api` responses | unchanged (``string``, ``String`` etc.) |
+	+----------+---------------------------------------------------------+-----------------------------------------+
+
+Long Description 2
+------------------
+Free text field that has no strictly defined purpose.
+
+.. table::
+
+	+----------------------------+---------------------------------------------------------+-----------------------------------------+
+	| Name                       | Use(s)                                                  | Type(s)                                 |
+	+============================+=========================================================+=========================================+
+	| longDesc1\ [#cardinality]_ | Traffic Control source code and :ref:`to-api` responses | unchanged (``string``, ``String`` etc.) |
+	+----------------------------+---------------------------------------------------------+-----------------------------------------+
+
+Long Description 3
+------------------
+Free text field that has no strictly defined purpose.
+
+.. table::
+
+	+----------------------------+---------------------------------------------------------+-----------------------------------------+
+	| Name                       | Use(s)                                                  | Type(s)                                 |
+	+============================+=========================================================+=========================================+
+	| longDesc2\ [#cardinality]_ | Traffic Control source code and :ref:`to-api` responses | unchanged (``string``, ``String`` etc.) |
+	+----------------------------+---------------------------------------------------------+-----------------------------------------+
+
+Match List
+----------
+A Match List is a set of regular expressions used by Traffic Router to determine whether a given request from a client should be served by this Delivery Service. Under normal circumstances this field should only ever be read-only as its contents should be generated by Traffic Ops based on the Delivery Service's configuration. These regular expressions can each be one of the following types:
+
+HEADER_REGEXP
+	This Delivery Service will be used if an HTTP Header/Value pair can be found in the clients request matching this regular expression.\ [#httpOnlyRegex]_
+HOST_REGEXP
+	This Delivery Service will be used if the requested host matches this regular expression. The host can be found using the ``Host`` HTTP Header, or as the requested name in a DNS request, depending on the `Type`_ of the Delivery Service.
+PATH_REGEXP
+	This Delivery Service will be used if the request path matches this regular expression.\ [#httpOnlyRegex]_
+STEERING_REGEXP
+	This Delivery Service will be used if this regular expression matches the xml_id_ of one of this Delivery Service's "targets"
+
+		.. note:: This regular expression type can only exist in the Match List of STEERING-`Type`_ Delivery Services - and **not** CLIENT_STEERING.
+
+.. table:: Aliases
+
+	+-----------------------+----------------------+------------------------------------------------------+
+	| Name                  | Use(s)               | Type(s)                                              |
+	+=======================+======================+======================================================+
+	| deliveryservice_regex | Traffic Ops database | unique, integral identifier for a regular expression |
+	+-----------------------+----------------------+------------------------------------------------------+
+
+Max DNS Answers
+---------------
+The maximum number of :term:`Edge-tier cache server` IP addresses that the Traffic Router will include in responses to DNS requests for DNS-:ref:`Routed <ds-types>` Delivery Services. The :ref:`to-api` restricts this value to the range [1, 15], but no matching restraints are placed on the actual data as stored in the Traffic Ops Database. When provided, the :term:`cache server` IP addresses included are rotated in each response to spread traffic evenly. Ideally this number will reflect the amount of traffic - e.g. ``1`` for a trial Delivery Service with very little traffic, ``2`` for a small production Delivery Service. Add 1 for every 20 :abbr:`Gbps (Gigabits per second)` of traffic you expect at peak.
 
 Review comment:
   I agree - that's just a copy of what was under "Using".

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services