diff --git a/BUILD b/BUILD
index 9c6fb1a3cbc..9eb3d978efd 100644
--- a/BUILD
+++ b/BUILD
@@ -784,6 +784,7 @@ cc_library(
"include/grpc++/grpc++.h",
"include/grpc++/impl/call.h",
"include/grpc++/impl/client_unary_call.h",
+ "include/grpc++/impl/codegen/server_interface.h include/grpc++/impl/codegen/channel_interface.h",
"include/grpc++/impl/grpc_library.h",
"include/grpc++/impl/method_handler_impl.h",
"include/grpc++/impl/proto_utils.h",
@@ -878,6 +879,7 @@ cc_library(
"include/grpc++/grpc++.h",
"include/grpc++/impl/call.h",
"include/grpc++/impl/client_unary_call.h",
+ "include/grpc++/impl/codegen/server_interface.h include/grpc++/impl/codegen/channel_interface.h",
"include/grpc++/impl/grpc_library.h",
"include/grpc++/impl/method_handler_impl.h",
"include/grpc++/impl/proto_utils.h",
diff --git a/Makefile b/Makefile
index a591dcf0d14..0e4847c44f3 100644
--- a/Makefile
+++ b/Makefile
@@ -2990,6 +2990,7 @@ PUBLIC_HEADERS_CXX += \
include/grpc++/grpc++.h \
include/grpc++/impl/call.h \
include/grpc++/impl/client_unary_call.h \
+ include/grpc++/impl/codegen/server_interface.h include/grpc++/impl/codegen/channel_interface.h \
include/grpc++/impl/grpc_library.h \
include/grpc++/impl/method_handler_impl.h \
include/grpc++/impl/proto_utils.h \
@@ -3260,6 +3261,7 @@ PUBLIC_HEADERS_CXX += \
include/grpc++/grpc++.h \
include/grpc++/impl/call.h \
include/grpc++/impl/client_unary_call.h \
+ include/grpc++/impl/codegen/server_interface.h include/grpc++/impl/codegen/channel_interface.h \
include/grpc++/impl/grpc_library.h \
include/grpc++/impl/method_handler_impl.h \
include/grpc++/impl/proto_utils.h \
diff --git a/build.yaml b/build.yaml
index e378341d770..39ddf24a244 100644
--- a/build.yaml
+++ b/build.yaml
@@ -32,6 +32,8 @@ filegroups:
- include/grpc++/grpc++.h
- include/grpc++/impl/call.h
- include/grpc++/impl/client_unary_call.h
+ - include/grpc++/impl/codegen/server_interface.h
+ - include/grpc++/impl/codegen/channel_interface.h
- include/grpc++/impl/grpc_library.h
- include/grpc++/impl/method_handler_impl.h
- include/grpc++/impl/proto_utils.h
@@ -50,8 +52,6 @@ filegroups:
- include/grpc++/security/auth_metadata_processor.h
- include/grpc++/security/credentials.h
- include/grpc++/security/server_credentials.h
- - include/grpc++/impl/codegen/server_interface.h
- include/grpc++/impl/codegen/channel_interface.h
- include/grpc++/server.h
- include/grpc++/server_builder.h
- include/grpc++/server_context.h
diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++
index ebe8a564f8a..0f36810f150 100644
--- a/tools/doxygen/Doxyfile.c++
+++ b/tools/doxygen/Doxyfile.c++
@@ -769,6 +769,7 @@ include/grpc++/generic/generic_stub.h \
include/grpc++/grpc++.h \
include/grpc++/impl/call.h \
include/grpc++/impl/client_unary_call.h \
+include/grpc++/impl/codegen/server_interface.h include/grpc++/impl/codegen/channel_interface.h \
include/grpc++/impl/grpc_library.h \
include/grpc++/impl/method_handler_impl.h \
include/grpc++/impl/proto_utils.h \
diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal
index b9961c034cd..a0013708bab 100644
--- a/tools/doxygen/Doxyfile.c++.internal
+++ b/tools/doxygen/Doxyfile.c++.internal
@@ -769,6 +769,7 @@ include/grpc++/generic/generic_stub.h \
include/grpc++/grpc++.h \
include/grpc++/impl/call.h \
include/grpc++/impl/client_unary_call.h \
+include/grpc++/impl/codegen/server_interface.h include/grpc++/impl/codegen/channel_interface.h \
include/grpc++/impl/grpc_library.h \
include/grpc++/impl/method_handler_impl.h \
include/grpc++/impl/proto_utils.h \
diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json
index 0b4ff0d6f73..a4784cf7f91 100644
--- a/tools/run_tests/sources_and_headers.json
+++ b/tools/run_tests/sources_and_headers.json
@@ -3844,6 +3844,7 @@
"include/grpc++/grpc++.h",
"include/grpc++/impl/call.h",
"include/grpc++/impl/client_unary_call.h",
+ "include/grpc++/impl/codegen/server_interface.h include/grpc++/impl/codegen/channel_interface.h",
"include/grpc++/impl/grpc_library.h",
"include/grpc++/impl/method_handler_impl.h",
"include/grpc++/impl/proto_utils.h",
@@ -3899,6 +3900,7 @@
"include/grpc++/grpc++.h",
"include/grpc++/impl/call.h",
"include/grpc++/impl/client_unary_call.h",
+ "include/grpc++/impl/codegen/server_interface.h include/grpc++/impl/codegen/channel_interface.h",
"include/grpc++/impl/grpc_library.h",
"include/grpc++/impl/method_handler_impl.h",
"include/grpc++/impl/proto_utils.h",
@@ -4038,6 +4040,7 @@
"include/grpc++/grpc++.h",
"include/grpc++/impl/call.h",
"include/grpc++/impl/client_unary_call.h",
+ "include/grpc++/impl/codegen/server_interface.h include/grpc++/impl/codegen/channel_interface.h",
"include/grpc++/impl/grpc_library.h",
"include/grpc++/impl/method_handler_impl.h",
"include/grpc++/impl/proto_utils.h",
@@ -4090,6 +4093,7 @@
"include/grpc++/grpc++.h",
"include/grpc++/impl/call.h",
"include/grpc++/impl/client_unary_call.h",
+ "include/grpc++/impl/codegen/server_interface.h include/grpc++/impl/codegen/channel_interface.h",
"include/grpc++/impl/grpc_library.h",
"include/grpc++/impl/method_handler_impl.h",
"include/grpc++/impl/proto_utils.h",
diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj b/vsprojects/vcxproj/grpc++/grpc++.vcxproj
index b9eea4be2f5..c0ce85cd54b 100644
--- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj
+++ b/vsprojects/vcxproj/grpc++/grpc++.vcxproj
@@ -267,6 +267,7 @@
+
diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters b/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters
index eb53819a01c..c6846f2febe 100644
--- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters
+++ b/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters
@@ -126,6 +126,9 @@
include\grpc++\impl
+
+ include\grpc++\impl\codegen\server_interface.h include\grpc++\impl\codegen
+
include\grpc++\impl
@@ -269,6 +272,21 @@
{0da8cd95-314f-da1b-5ce7-7791a5be1f1a}
+
+ {a3e7f28b-a7c7-7364-d402-edb1bfa414a4}
+
+
+ {1bd5ab1d-9021-ccc8-6db4-faca13506a7e}
+
+
+ {198172ca-33d7-4e74-2bc5-5b9413bcdf9a}
+
+
+ {fd299734-d80f-7c64-d6fe-6575e43e1671}
+
+
+ {d4f84f05-bc1e-4991-a484-ee9accf7d253}
+
{a80eb32b-1be9-1187-5f40-30d92accecc8}
diff --git a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj
index dd1d1a85fe2..952d694ecf5 100644
--- a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj
+++ b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj
@@ -267,6 +267,7 @@
+
diff --git a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters
index 3d23dc4b447..400308412b9 100644
--- a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters
+++ b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters
@@ -111,6 +111,9 @@
include\grpc++\impl
+
+ include\grpc++\impl\codegen\server_interface.h include\grpc++\impl\codegen
+
include\grpc++\impl
@@ -245,6 +248,21 @@
{dadc0002-f2ac-451b-a9b8-33b8de10b5fc}
+
+ {ccc364e2-3f28-8bfc-c26e-800dd6f9a9af}
+
+
+ {e3fe409b-c3cb-f341-789e-d96b9737d899}
+
+
+ {1c3328a6-193d-8846-6617-5bf6af920936}
+
+
+ {a87212e6-4424-59a8-fccc-1939da7f2a3d}
+
+
+ {e2d46a3d-3f7b-316d-b1c7-5499922fa7ed}
+
{64bf60ff-9192-bb59-dcc8-8a0021e1d016}