diff --git a/src/lp/fields.hpp b/src/lp/fields.hpp
index c8cd0d9..ce3a834 100644
--- a/src/lp/fields.hpp
+++ b/src/lp/fields.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2017 Regents of the University of California.
+ * Copyright (c) 2013-2018 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -27,6 +27,7 @@
 #include "sequence.hpp"
 #include "cache-policy.hpp"
 #include "nack-header.hpp"
+#include "prefix-announcement.hpp"
 
 #include <boost/mpl/set.hpp>
 
@@ -89,6 +90,10 @@
                   tlv::NonDiscovery> NonDiscoveryField;
 BOOST_CONCEPT_ASSERT((Field<NonDiscoveryField>));
 
+typedef FieldDecl<field_location_tags::Header,
+                  PrefixAnnouncement,
+                  tlv::PrefixAnnouncement> PrefixAnnouncementField;
+BOOST_CONCEPT_ASSERT((Field<PrefixAnnouncementField>));
 /**
  * The value of the wire encoded field is the data between the provided iterators. During
  * encoding, the data is copied from the Buffer into the wire buffer.
@@ -113,7 +118,8 @@
   CongestionMarkField,
   AckField,
   TxSequenceField,
-  NonDiscoveryField
+  NonDiscoveryField,
+  PrefixAnnouncementField
   > FieldSet;
 
 } // namespace lp
diff --git a/src/lp/prefix-announcement.hpp b/src/lp/prefix-announcement.hpp
new file mode 100644
index 0000000..208b0a6
--- /dev/null
+++ b/src/lp/prefix-announcement.hpp
@@ -0,0 +1,40 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2013-2018 Regents of the University of California.
+ *
+ * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
+ *
+ * ndn-cxx library is free software: you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ *
+ * You should have received copies of the GNU General Public License and GNU Lesser
+ * General Public License along with ndn-cxx, e.g., in COPYING.md file.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
+ *
+ * @author Teng Liang <philoliang@email.arizona.edu>
+ */
+
+#ifndef NDN_CXX_LP_PREFIX_ANNOUNCEMENT_HPP
+#define NDN_CXX_LP_PREFIX_ANNOUNCEMENT_HPP
+
+#include "../data.hpp"
+
+namespace ndn {
+namespace lp {
+
+/**
+ * \brief represents a Prefix Announcement field
+ */
+using PrefixAnnouncement = Data;
+
+} // namespace lp
+} // namespace ndn
+
+#endif // NDN_CXX_LP_PREFIX_ANNOUNCEMENT_HPP
diff --git a/src/lp/tags.hpp b/src/lp/tags.hpp
index b4f430b..91400e2 100644
--- a/src/lp/tags.hpp
+++ b/src/lp/tags.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2017 Regents of the University of California.
+ * Copyright (c) 2013-2018 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -24,6 +24,7 @@
 
 #include "cache-policy.hpp"
 #include "empty-value.hpp"
+#include "prefix-announcement.hpp"
 #include "../tag.hpp"
 
 namespace ndn {
@@ -64,6 +65,13 @@
  */
 typedef SimpleTag<EmptyValue, 14> NonDiscoveryTag;
 
+/** \class PrefixAnnouncementTag
+ *  \brief a packet tag for PrefixAnnouncement field
+ *
+ *  This tag can be attached to Data.
+ */
+typedef SimpleTag<PrefixAnnouncement, 15> PrefixAnnouncementTag;
+
 } // namespace lp
 } // namespace ndn
 
diff --git a/src/lp/tlv.hpp b/src/lp/tlv.hpp
index fb24ab3..1b409ca 100644
--- a/src/lp/tlv.hpp
+++ b/src/lp/tlv.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2017 Regents of the University of California.
+ * Copyright (c) 2013-2018 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -45,6 +45,7 @@
   Ack = 836,
   TxSequence = 840,
   NonDiscovery = 844,
+  PrefixAnnouncement = 848,
 };
 
 enum {
