github.com/cilium/cilium@v1.16.2/pkg/datapath/prefilter/cell.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Cilium 3 4 package prefilter 5 6 import ( 7 "github.com/cilium/hive/cell" 8 9 "github.com/cilium/cilium/api/v1/server/restapi/prefilter" 10 datapath "github.com/cilium/cilium/pkg/datapath/types" 11 ) 12 13 // Cell provides prefilter, a means of configuring XDP pre-filters for DDoS-mitigation. 14 var Cell = cell.Module( 15 "prefilter", 16 "Provides a means of configuring XDP pre-filters for DDoS-mitigation", 17 18 cell.Provide(newPreFilter), 19 cell.Provide(newPrefilterApiHandler), 20 ) 21 22 type prefilterApiHandlerOut struct { 23 cell.Out 24 25 GetPrefilterHandler prefilter.GetPrefilterHandler 26 PatchPrefilterHandler prefilter.PatchPrefilterHandler 27 DeletePrefilterHandler prefilter.DeletePrefilterHandler 28 } 29 30 func newPrefilterApiHandler(prefilter datapath.PreFilter) prefilterApiHandlerOut { 31 return prefilterApiHandlerOut{ 32 GetPrefilterHandler: &getPrefilterHandler{preFilter: prefilter}, 33 PatchPrefilterHandler: &patchPrefilterHandler{preFilter: prefilter}, 34 DeletePrefilterHandler: &deletePrefilterHandler{preFilter: prefilter}, 35 } 36 }