AETHER-2447 Application Traffic-Class;
Device-Group QoS;
Add Site to UPF

Change-Id: I5f82981d573d984c31d464a1e11481a4332e1aa8
diff --git a/config-models/aether-4.x/files/yang/onf-upf.yang b/config-models/aether-4.x/files/yang/onf-upf.yang
index 3d1c764..a8a7c4c 100755
--- a/config-models/aether-4.x/files/yang/onf-upf.yang
+++ b/config-models/aether-4.x/files/yang/onf-upf.yang
@@ -7,9 +7,10 @@
   prefix upf;
 
   import ietf-inet-types { prefix inet; }
-  import ietf-yang-types{ prefix yg; }  
+  import ietf-yang-types{ prefix yg; }
   import onf-aether-types { prefix at; }
   import onf-enterprise{ prefix ent; }
+  import onf-site{ prefix st; }
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
@@ -71,8 +72,7 @@
       }
 
       // UPFs are always owned by an Enterprise, since they typically exist on the
-      // Enterprise's edge. TODO: Consider whether they should be owned by a Site
-      // instead of Enterprise.
+      // Enterprise's edge.
       leaf enterprise {
         type leafref {
           path "/ent:enterprise/ent:enterprise/ent:id";
@@ -80,7 +80,18 @@
         mandatory true;
         description
           "Link to enterprise that owns this Access Point List";
-      }      
+      }
+
+      // UPFs always reside at a site, as the exist on physical infrastructure. GUI
+      // will ensure that the tuple (DG, VCS, UPF) all exist on the same site.
+      leaf site {
+        type leafref {
+          path "/st:site/st:site/st:id";
+        }
+        mandatory true;
+        description
+          "Link to site";
+      }
     }
-  } 
+  }
 }