Addition of common model.

Change-Id: If5fd6bae01a59ebf9d27f8369ac3403c83f70fad
diff --git a/models/common/src/main/yang/ietf-snmp-tsm@2014-12-10.yang b/models/common/src/main/yang/ietf-snmp-tsm@2014-12-10.yang
new file mode 100644
index 0000000..3bf9699
--- /dev/null
+++ b/models/common/src/main/yang/ietf-snmp-tsm@2014-12-10.yang
@@ -0,0 +1,116 @@
+submodule ietf-snmp-tsm {
+
+  belongs-to ietf-snmp {
+    prefix snmp;
+  }
+
+  include ietf-snmp-common;
+  include ietf-snmp-target;
+  include ietf-snmp-proxy;
+
+  organization
+    "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
+
+  contact
+    "WG Web:   <http://tools.ietf.org/wg/netmod/>
+     WG List:  <mailto:netmod@ietf.org>
+
+     WG Chair: Thomas Nadeau
+               <mailto:tnadeau@lucidvision.com>
+
+     WG Chair: Juergen Schoenwaelder
+               <mailto:j.schoenwaelder@jacobs-university.de>
+
+     Editor:   Martin Bjorklund
+               <mailto:mbj@tail-f.com>
+
+     Editor:   Juergen Schoenwaelder
+               <mailto:j.schoenwaelder@jacobs-university.de>";
+
+  description
+    "This submodule contains a collection of YANG definitions for
+     configuring the Transport Security Model (TSM) of SNMP.
+
+     Copyright (c) 2014 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 7407; see
+     the RFC itself for full legal notices.";
+
+  reference
+    "RFC 5591: Transport Security Model for the
+       Simple Network Management Protocol (SNMP)";
+
+  revision 2014-12-10 {
+    description
+      "Initial revision.";
+    reference
+      "RFC 7407: A YANG Data Model for SNMP Configuration";
+  }
+
+  feature tsm {
+    description
+      "A server implements this feature if it supports the
+      Transport Security Model for SNMP.";
+    reference
+      "RFC 5591: Transport Security Model for the
+         Simple Network Management Protocol (SNMP)";
+  }
+  augment /snmp:snmp {
+    if-feature tsm;
+    container tsm {
+      description
+        "Configuration of the Transport Security Model.";
+
+      leaf use-prefix {
+        type boolean;
+        default false;
+        reference
+          "RFC 5591: Transport Security Model for the Simple
+             Network Management Protocol (SNMP).
+             SNMP-TSM-MIB.snmpTsmConfigurationUsePrefix";
+      }
+    }
+  }
+
+  grouping tsm-target-params {
+    container tsm {
+      description
+        "Transport-based security SNMPv3 parameters type.
+
+         Represents snmpTargetParamsMPModel '3' and
+         snmpTargetParamsSecurityModel '4'.";
+      leaf security-name {
+        type snmp:security-name;
+        mandatory true;
+        reference
+          "RFC 3413: Simple Network Management Protocol (SNMP).
+             Applications.
+             SNMP-TARGET-MIB.snmpTargetParamsSecurityName";
+      }
+      leaf security-level {
+        type snmp:security-level;
+        mandatory true;
+        reference
+          "RFC 3413: Simple Network Management Protocol (SNMP).
+             Applications.
+             SNMP-TARGET-MIB.snmpTargetParamsSecurityLevel";
+      }
+    }
+  }
+
+  augment /snmp:snmp/snmp:target-params/snmp:params {
+    if-feature tsm;
+    case tsm {
+      uses tsm-target-params;
+    }
+  }
+
+}