netconfcentral logo

iana-dots-signal-channel@2020-05-28



  module iana-dots-signal-channel {

    yang-version 1.1;

    namespace
      "urn:ietf:params:xml:ns:yang:iana-dots-signal-channel";

    prefix iana-signal;

    organization "IANA";

    contact
      "Internet Assigned Numbers Authority

Postal: ICANN
     12025 Waterfront Drive, Suite 300
     Los Angeles, CA  90094-2536
     United States of America
Tel:    +1 310 301 5800
<mailto:iana@iana.org>";

    description
      "This module contains a collection of YANG data types defined
by IANA and used for DOTS signal channel protocol.

Copyright (c) 2020 IETF Trust and the persons identified as
authors of the code.  All rights reserved.

Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).

This version of this YANG module is part of RFC 8782; see
the RFC itself for full legal notices.";

    revision "2020-05-28" {
      description "Initial revision.";
      reference
        "RFC 8782: Distributed Denial-of-Service Open Threat
        	  Signaling (DOTS) Signal Channel Specification";

    }


    typedef status {
      type enumeration {
        enum "attack-mitigation-in-progress" {
          value 1;
          description
            "Attack mitigation setup is in progress (e.g., changing
the network path to reroute the inbound traffic
to DOTS mitigator).";
        }
        enum "attack-successfully-mitigated" {
          value 2;
          description
            "Attack is being successfully mitigated (e.g., traffic
is redirected to a DDoS mitigator and attack
traffic is dropped or blackholed).";
        }
        enum "attack-stopped" {
          value 3;
          description
            "Attack has stopped and the DOTS client can
withdraw the mitigation request.";
        }
        enum "attack-exceeded-capability" {
          value 4;
          description
            "Attack has exceeded the mitigation provider
capability.";
        }
        enum
          "dots-client-withdrawn-mitigation" {
          value 5;
          description
            "DOTS client has withdrawn the mitigation
request and the mitigation is active but
terminating.";
        }
        enum "attack-mitigation-terminated" {
          value 6;
          description
            "Attack mitigation is now terminated.";
        }
        enum "attack-mitigation-withdrawn" {
          value 7;
          description
            "Attack mitigation is withdrawn.";
        }
        enum "attack-mitigation-signal-loss" {
          value 8;
          description
            "Attack mitigation will be triggered
for the mitigation request only when
the DOTS signal channel session is lost.";
        }
      }
      description
        "Enumeration for status reported by the DOTS server.";
    }

    typedef conflict-status {
      type enumeration {
        enum "request-inactive-other-active" {
          value 1;
          description
            "DOTS Server has detected conflicting mitigation
requests from different DOTS clients.
This mitigation request is currently inactive
until the conflicts are resolved. Another
mitigation request is active.";
        }
        enum "request-active" {
          value 2;
          description
            "DOTS Server has detected conflicting mitigation
requests from different DOTS clients.
This mitigation request is currently active.";
        }
        enum "all-requests-inactive" {
          value 3;
          description
            "DOTS Server has detected conflicting mitigation
requests from different DOTS clients.  All
conflicting mitigation requests are inactive.";
        }
      }
      description
        "Enumeration for conflict status.";
    }

    typedef conflict-cause {
      type enumeration {
        enum "overlapping-targets" {
          value 1;
          description
            "Overlapping targets. conflict-scope provides
more details about the exact conflict.";
        }
        enum "conflict-with-acceptlist" {
          value 2;
          description
            "Conflicts with an existing accept-list.

This code is returned when the DDoS mitigation
detects that some of the source addresses/prefixes
listed in the accept-list ACLs are actually
attacking the target.";
        }
        enum "cuid-collision" {
          value 3;
          description
            "Conflicts with the cuid used by another
DOTS client.";
        }
      }
      description
        "Enumeration for conflict causes.";
    }

    typedef attack-status {
      type enumeration {
        enum "under-attack" {
          value 1;
          description
            "The DOTS client determines that it is still under
attack.";
        }
        enum "attack-successfully-mitigated" {
          value 2;
          description
            "The DOTS client determines that the attack is
successfully mitigated.";
        }
      }
      description
        "Enumeration for attack status codes.";
    }
  }  // module iana-dots-signal-channel