1 // 2 // Copyright 2021 gRPC authors. 3 // 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 // 16 17 #include <grpc/grpc.h> 18 #include <grpc/support/port_platform.h> 19 20 #include "src/core/config/core_configuration.h" 21 22 namespace grpc_core { 23 #ifndef GRPC_NO_XDS 24 extern void RbacFilterRegister(CoreConfiguration::Builder* builder); 25 extern void StatefulSessionFilterRegister(CoreConfiguration::Builder* builder); 26 extern void GcpAuthenticationFilterRegister( 27 CoreConfiguration::Builder* builder); 28 extern void RegisterXdsChannelStackModifier( 29 CoreConfiguration::Builder* builder); 30 extern void RegisterChannelDefaultCreds(CoreConfiguration::Builder* builder); 31 extern void RegisterXdsResolver(CoreConfiguration::Builder* builder); 32 extern void RegisterCloud2ProdResolver(CoreConfiguration::Builder* builder); 33 extern void RegisterXdsClusterManagerLbPolicy( 34 CoreConfiguration::Builder* builder); 35 extern void RegisterXdsClusterImplLbPolicy(CoreConfiguration::Builder* builder); 36 extern void RegisterCdsLbPolicy(CoreConfiguration::Builder* builder); 37 extern void RegisterXdsOverrideHostLbPolicy( 38 CoreConfiguration::Builder* builder); 39 extern void RegisterXdsWrrLocalityLbPolicy(CoreConfiguration::Builder* builder); 40 extern void RegisterRingHashLbPolicy(CoreConfiguration::Builder* builder); 41 extern void RegisterFileWatcherCertificateProvider( 42 CoreConfiguration::Builder* builder); 43 extern void RegisterXdsHttpProxyMapper(CoreConfiguration::Builder* builder); 44 #endif RegisterExtraFilters(CoreConfiguration::Builder * builder)45void RegisterExtraFilters(CoreConfiguration::Builder* builder) { 46 // Use builder to avoid unused-parameter warning. 47 (void)builder; 48 #ifndef GRPC_NO_XDS 49 // rbac_filter is being guarded with GRPC_NO_XDS to avoid a dependency on the 50 // re2 library by default 51 RbacFilterRegister(builder); 52 StatefulSessionFilterRegister(builder); 53 GcpAuthenticationFilterRegister(builder); 54 RegisterXdsChannelStackModifier(builder); 55 RegisterChannelDefaultCreds(builder); 56 RegisterXdsResolver(builder); 57 RegisterCloud2ProdResolver(builder); 58 RegisterXdsClusterManagerLbPolicy(builder); 59 RegisterXdsClusterImplLbPolicy(builder); 60 RegisterCdsLbPolicy(builder); 61 RegisterXdsOverrideHostLbPolicy(builder); 62 RegisterXdsWrrLocalityLbPolicy(builder); 63 RegisterRingHashLbPolicy(builder); 64 RegisterFileWatcherCertificateProvider(builder); 65 RegisterXdsHttpProxyMapper(builder); 66 #endif 67 } 68 } // namespace grpc_core 69