diff --git a/database/mysql/init/flow_management.sql b/database/mysql/init/flow_management.sql index 11f4053f..3fe4a748 100644 --- a/database/mysql/init/flow_management.sql +++ b/database/mysql/init/flow_management.sql @@ -71,7 +71,5 @@ CREATE TABLE IF NOT EXISTS `auto_policy_config` ( `l3_aggregation_level` int DEFAULT NULL, `l4_aggregation_level` int DEFAULT NULL, `l7_aggregation_level` int DEFAULT NULL, - `http_url_threshold` int DEFAULT NULL, - PRIMARY KEY (`id`) ); diff --git a/scripts/startService.sh b/scripts/startService.sh index 2dd09163..1b0d49ec 100755 --- a/scripts/startService.sh +++ b/scripts/startService.sh @@ -33,8 +33,8 @@ export POLICY_DIR=$KNOX_AUTO_HOME/policies/ # all (egress+ingress): 3 # egress only: 1 # ingress only: 2 -export DISCOVERY_POLICY_TYPES=1 -export DISCOVERY_RULE_TYPES=1 +export DISCOVERY_POLICY_TYPES=3 +export DISCOVERY_RULE_TYPES=511 # skip namepsace info export IGNORING_NAMESPACES="kube-system|knox-auto-policy|cilium|hipster" diff --git a/src/core/configManager.go b/src/core/configManager.go index a1b3d294..026766cc 100644 --- a/src/core/configManager.go +++ b/src/core/configManager.go @@ -15,6 +15,9 @@ var Cfg types.Configuration // SkipNamespaces ... var SkipNamespaces []string +// HTTPUrlThreshold +var HTTPUrlThreshold int + func init() { // initially, default -> applied LoadDefaultConfig() @@ -104,8 +107,8 @@ func LoadDefaultConfig() { Cfg.PolicyDir = libs.GetEnv("POLICY_DIR", "./") // discovery types - Cfg.DiscoveryPolicyTypes = libs.GetEnvInt("DISCOVERY_POLICY_TYPES", 3) - Cfg.DiscoveryRuleTypes = libs.GetEnvInt("DISCOVERY_RULE_TYPES", 511) + Cfg.DiscoveryPolicyTypes = libs.GetEnvInt("DISCOVERY_POLICY_TYPES", 3) // 3: all types + Cfg.DiscoveryRuleTypes = libs.GetEnvInt("DISCOVERY_RULE_TYPES", 511) // 511: all rules // cidr bits Cfg.CIDRBits = 32 @@ -116,9 +119,14 @@ func LoadDefaultConfig() { // aggregation level Cfg.L3AggregationLevel = 3 - Cfg.L4AggregationLevel = 3 + Cfg.L4Compression = 3 Cfg.L7AggregationLevel = 3 - Cfg.HTTPUrlThreshold = 3 + + if Cfg.L7AggregationLevel == 3 { + HTTPUrlThreshold = 3 + } else if Cfg.L7AggregationLevel == 2 { + HTTPUrlThreshold = 5 + } } // AddConfiguration function diff --git a/src/core/httpAggregator.go b/src/core/httpAggregator.go index 93985156..1057ddda 100644 --- a/src/core/httpAggregator.go +++ b/src/core/httpAggregator.go @@ -181,7 +181,7 @@ func (n *Node) aggregateChildNodes() { } // step 1: #child nodes > threshold - if len(n.childNodes) > Cfg.HTTPUrlThreshold { + if len(n.childNodes) > HTTPUrlThreshold { childPaths := []string{} for _, childNode := range n.childNodes { childPaths = append(childPaths, childNode.path) @@ -433,7 +433,7 @@ func aggreateHTTPPathsNaive(paths []string) []string { for key, paths := range depthToPaths { // if threshold over, aggregate it - if len(paths) >= Cfg.HTTPUrlThreshold { + if len(paths) >= HTTPUrlThreshold { aggregatedPaths = append(aggregatedPaths, key+"/.*") } else { for _, path := range paths { @@ -480,6 +480,11 @@ func AggregatePaths(treeMap map[string]*Node, paths []string) []string { // AggregateHTTPRules function func AggregateHTTPRules(mergedSrcPerMergedDst map[string][]MergedPortDst) { + // if level 1, do not aggregate http path + if Cfg.L7AggregationLevel == 1 { + return + } + for mergedSrc, dsts := range mergedSrcPerMergedDst { for i, dst := range dsts { // check if dst is for HTTP rules diff --git a/src/core/networkPolicy.go b/src/core/networkPolicy.go index 665facd7..80c37ae3 100644 --- a/src/core/networkPolicy.go +++ b/src/core/networkPolicy.go @@ -180,7 +180,7 @@ func descendingLabelCountMap(labelCountMap map[string]int) []LabelCount { // updateDstLabels Function func updateDstLabels(dsts []MergedPortDst, pods []types.Pod) []MergedPortDst { for i, dst := range dsts { - matchLabels := getMergedLabels(dst.Namespace, dst.PodName, pods) + matchLabels := getMergedAndSortedLabels(dst.Namespace, dst.PodName, pods) if matchLabels != "" { dsts[i].MatchLabels = matchLabels } @@ -985,46 +985,121 @@ func groupingLogsPerDst(networkLogs []types.KnoxNetworkLog, endpoints []types.En // == Step 3: Grouping Src Based on Labels == // // ========================================== // +// checkIncludeAllSrcPods func +func checkIncludeAllSrcPods(superSetLabels string, srcs []SrcSimple, pods []types.Pod) bool { + srcNamespace := "" + labels := strings.Split(superSetLabels, ",") + + // temporary pod struct + type innerPod struct { + namespace string + podName string + } + + // 1. get pods from srcs + podNamesFromSrcs := []innerPod{} + for _, src := range srcs { + srcNamespace = src.Namespace + + include := true + for _, label := range labels { + if !strings.Contains(src.MatchLabels, label) { + include = false + break + } + } + + if include { + podNamesFromSrcs = append(podNamesFromSrcs, innerPod{ + namespace: src.Namespace, + podName: src.PodName, + }) + } + } + + // 2. get pods from k8s + podNamesFromK8s := []innerPod{} + for _, pod := range pods { + if pod.Namespace != srcNamespace { + continue + } + + include := true + for _, label := range labels { + if !libs.ContainsElement(pod.Labels, label) { + include = false + break + } + } + + if include { + podNamesFromK8s = append(podNamesFromK8s, innerPod{ + namespace: pod.Namespace, + podName: pod.PodName, + }) + } + } + + // 3. comapre two slices + srcIncludeAllK8sPods := true + for _, pod := range podNamesFromSrcs { + if libs.ContainsElement(podNamesFromK8s, pod) { + srcIncludeAllK8sPods = false + break + } + } + + return srcIncludeAllK8sPods +} + // mergingSrcByLabels Function -func mergingSrcByLabels(perDstSrcLabel map[Dst][]SrcSimple) map[Dst][]string { +func mergingSrcByLabels(perDstSrcLabel map[Dst][]SrcSimple, pods []types.Pod) map[Dst][]string { perDstGroupedSrc := map[Dst][]string{} for dst, srcs := range perDstSrcLabel { - // first, count each src label (a=b:1 a=b,c=d:2 e=f:1, ... ) - labelCountMap := map[string]int{} - for _, src := range srcs { - libs.CountLabelByCombinations(labelCountMap, src.MatchLabels) - } + // if level 2 or 3, aggregate labels + if Cfg.L3AggregationLevel >= 2 { + // first, count each src label (a=b:1 a=b,c=d:2 e=f:1, ... ) + labelCountMap := map[string]int{} + for _, src := range srcs { + libs.CountLabelByCombinations(labelCountMap, src.MatchLabels) + } - // sorting label by descending order (e=f:10, f=e:9, d=s:5, ...) - countsPerLabel := descendingLabelCountMap(labelCountMap) + // sorting label by descending order (e=f:10, f=e:9, d=s:5, ...) + countsPerLabel := descendingLabelCountMap(labelCountMap) - // enumerating src label by descending order - for _, perLabel := range countsPerLabel { - if perLabel.Count >= 2 { - // merge if at least match count >= 2 - // it could be single (a=b) or combined (a=b,c=d) - label := perLabel.Label + // enumerating src label by descending order + for _, perLabel := range countsPerLabel { + if perLabel.Count >= 2 { + // merge if at least match count >= 2 + // it could be single (a=b) or combined (a=b,c=d) + label := perLabel.Label - // if 'src' contains the label, remove 'src' from srcs - for _, src := range srcs { - if libs.ContainLabel(label, src.MatchLabels) { - srcs = removeSrcFromSlice(srcs, src) + // if level 2, the super set of labels should be included in all the pods to be aggregated + if Cfg.L3AggregationLevel == 2 && !checkIncludeAllSrcPods(label, srcs, pods) { + continue } - } - if perDstGroupedSrc[dst] == nil { - perDstGroupedSrc[dst] = []string{} - } + // if 'src' contains the label, remove 'src' from srcs + for _, src := range srcs { + if libs.ContainLabel(label, src.MatchLabels) { + srcs = removeSrcFromSlice(srcs, src) + } + } + + if perDstGroupedSrc[dst] == nil { + perDstGroupedSrc[dst] = []string{} + } - // append the label (the removed src included) to the dst - if !libs.ContainsElement(perDstGroupedSrc[dst], label) { - perDstGroupedSrc[dst] = append(perDstGroupedSrc[dst], label) + // append the label (the removed src included) to the dst + if !libs.ContainsElement(perDstGroupedSrc[dst], label) { + perDstGroupedSrc[dst] = append(perDstGroupedSrc[dst], label) + } } } } - // if there is remained src, add its match label + // if there is remained src, append it for _, src := range srcs { perDstGroupedSrc[dst] = append(perDstGroupedSrc[dst], src.MatchLabels) } @@ -1037,8 +1112,8 @@ func mergingSrcByLabels(perDstSrcLabel map[Dst][]SrcSimple) map[Dst][]string { // == Step 2: Replacing Src to Labeled == // // ====================================== // -// getMergedLabels Function -func getMergedLabels(namespace, podName string, pods []types.Pod) string { +// getMergedAndSortedLabels Function +func getMergedAndSortedLabels(namespace, podName string, pods []types.Pod) string { mergedLabels := "" for _, pod := range pods { @@ -1083,7 +1158,7 @@ func extractingSrcFromLogs(labeledSrcsPerDst map[Dst][]SrcSimple, perDst map[Dst MatchLabels: k + "=" + v} } else { // else get merged matchlables: "a=b,c=d,e=f" - mergedLabels := getMergedLabels(log.SrcNamespace, log.SrcPodName, pods) + mergedLabels := getMergedAndSortedLabels(log.SrcNamespace, log.SrcPodName, pods) if mergedLabels == "" { continue } @@ -1322,62 +1397,64 @@ func mergingDstSpecs(mergedSrcsPerDst map[Dst][]string) map[string][]MergedPortD } } - for mergedSrc, dsts := range dstsPerMergedSrc { - // convert dst -> dstSimple, and count each dstSimple - dstSimpleCounts := map[DstSimple]int{} + if Cfg.L4Compression == 1 { + for mergedSrc, dsts := range dstsPerMergedSrc { + // convert dst -> dstSimple, and count each dstSimple + dstSimpleCounts := map[DstSimple]int{} - for _, dst := range dsts { - dstSimple := DstSimple{Namespace: dst.Namespace, - PodName: dst.PodName, - Additional: dst.Additional, - Action: dst.Action} + for _, dst := range dsts { + dstSimple := DstSimple{Namespace: dst.Namespace, + PodName: dst.PodName, + Additional: dst.Additional, + Action: dst.Action} - if val, ok := dstSimpleCounts[dstSimple]; !ok { - dstSimpleCounts[dstSimple] = 1 - } else { - dstSimpleCounts[dstSimple] = val + 1 + if val, ok := dstSimpleCounts[dstSimple]; !ok { + dstSimpleCounts[dstSimple] = 1 + } else { + dstSimpleCounts[dstSimple] = val + 1 + } } - } - - // sort dstCount by descending order - type dstCount struct { - DstSimple DstSimple - Count int - } - var dstCounts []dstCount - for dst, count := range dstSimpleCounts { - dstCounts = append(dstCounts, dstCount{dst, count}) - } + // sort dstCount by descending order + type dstCount struct { + DstSimple DstSimple + Count int + } - sort.Slice(dstCounts, func(i, j int) bool { - return dstCounts[i].Count > dstCounts[j].Count - }) + var dstCounts []dstCount + for dst, count := range dstSimpleCounts { + dstCounts = append(dstCounts, dstCount{dst, count}) + } - if mergedSrcPerMergedDst[mergedSrc] == nil { - mergedSrcPerMergedDst[mergedSrc] = []MergedPortDst{} - } + sort.Slice(dstCounts, func(i, j int) bool { + return dstCounts[i].Count > dstCounts[j].Count + }) - // if dst is matched dstSimple, remove it from origin dst list - for _, dstCount := range dstCounts { - if dstCount.Count >= 2 { // at least match count >= 2 - for _, dst := range dsts { - simple := DstSimple{Namespace: dst.Namespace, - PodName: dst.PodName, - Additional: dst.Additional, - Action: dst.Action} + if mergedSrcPerMergedDst[mergedSrc] == nil { + mergedSrcPerMergedDst[mergedSrc] = []MergedPortDst{} + } - if dstCount.DstSimple == simple { - // merge protocol + port - mergedSrcPerMergedDst[mergedSrc] = mergingProtocolPorts(mergedSrcPerMergedDst[mergedSrc], dst) - // and then, remove dst - dsts = removeDstFromSlice(dsts, dst) + // if dst is matched dstSimple, remove it from origin dst list + for _, dstCount := range dstCounts { + if dstCount.Count >= 2 { // at least match count >= 2 + for _, dst := range dsts { + simple := DstSimple{Namespace: dst.Namespace, + PodName: dst.PodName, + Additional: dst.Additional, + Action: dst.Action} + + if dstCount.DstSimple == simple { + // merge protocol + port + mergedSrcPerMergedDst[mergedSrc] = mergingProtocolPorts(mergedSrcPerMergedDst[mergedSrc], dst) + // and then, remove dst + dsts = removeDstFromSlice(dsts, dst) + } } } } - } - dstsPerMergedSrc[mergedSrc] = dsts + dstsPerMergedSrc[mergedSrc] = dsts + } } // if not merged dsts remains, append it by default @@ -1387,11 +1464,13 @@ func mergingDstSpecs(mergedSrcsPerDst map[Dst][]string) map[string][]MergedPortD } } - // fqdn merging - mergeFQDN(mergedSrcPerMergedDst) + if Cfg.L4Compression == 1 { + // fqdn merging + mergeFQDN(mergedSrcPerMergedDst) - // cidr merging - mergeCIDR(mergedSrcPerMergedDst) + // cidr merging + mergeCIDR(mergedSrcPerMergedDst) + } // entities merged (for Cilium) mergeEntities(mergedSrcPerMergedDst) @@ -1403,6 +1482,73 @@ func mergingDstSpecs(mergedSrcsPerDst map[Dst][]string) map[string][]MergedPortD // == Step 5: Grouping Dst based on Label == // // ========================================= // +// checkIncludeAllDstPods func +func checkIncludeAllDstPods(superSetLabels string, dsts []MergedPortDst, pods []types.Pod) bool { + dstNamespace := "" + labels := strings.Split(superSetLabels, ",") + + // temporary pod struct + type innerPod struct { + namespace string + podName string + } + + // 1. get pods from srcs + podNamesFromDsts := []innerPod{} + for _, dst := range dsts { + dstNamespace = dst.Namespace + + include := true + for _, label := range labels { + if !strings.Contains(dst.MatchLabels, label) { + include = false + break + } + } + + if include { + podNamesFromDsts = append(podNamesFromDsts, innerPod{ + namespace: dst.Namespace, + podName: dst.PodName, + }) + } + } + + // 2. get pods from k8s + podNamesFromK8s := []innerPod{} + for _, pod := range pods { + if pod.Namespace != dstNamespace { + continue + } + + include := true + for _, label := range labels { + if !libs.ContainsElement(pod.Labels, label) { + include = false + break + } + } + + if include { + podNamesFromK8s = append(podNamesFromK8s, innerPod{ + namespace: pod.Namespace, + podName: pod.PodName, + }) + } + } + + // 3. comapre two slices + dstIncludeAllK8sPods := true + for _, pod := range podNamesFromDsts { + if libs.ContainsElement(podNamesFromK8s, pod) { + dstIncludeAllK8sPods = false + break + } + } + + return dstIncludeAllK8sPods +} + // groupingDstMergeds Function func groupingDstMergeds(label string, dsts []MergedPortDst) MergedPortDst { merged := MergedPortDst{MatchLabels: label} @@ -1442,41 +1588,49 @@ func mergingDstByLabels(mergedSrcPerMergedProtoDst map[string][]MergedPortDst, p // label update mergedProtoPortDsts = updateDstLabels(mergedProtoPortDsts, pods) - // count each dst label - labelCountMap := map[string]int{} - for _, dst := range mergedProtoPortDsts { - if dst.MatchLabels == "" { - continue - } + // if level 2 or 3, aggregate labels + if Cfg.L3AggregationLevel >= 2 { + // count each dst label + labelCountMap := map[string]int{} + for _, dst := range mergedProtoPortDsts { + if dst.MatchLabels == "" { + continue + } - libs.CountLabelByCombinations(labelCountMap, dst.MatchLabels) - } + libs.CountLabelByCombinations(labelCountMap, dst.MatchLabels) + } - // sort label count by descending orders - labelCounts := descendingLabelCountMap(labelCountMap) + // sort label count by descending orders + labelCounts := descendingLabelCountMap(labelCountMap) - // fetch matched label dsts - for _, labelCount := range labelCounts { - if labelCount.Count >= 2 { - // at least match count >= 2 - label := labelCount.Label + // fetch matched label dsts + for _, labelCount := range labelCounts { + if labelCount.Count >= 2 { + // at least match count >= 2 + label := labelCount.Label - selectedDsts := make([]MergedPortDst, 0) - for _, dst := range mergedProtoPortDsts { - if libs.ContainLabel(label, dst.MatchLabels) { - selectedDsts = append(selectedDsts, dst) - mergedProtoPortDsts = removeDstMergedSlice(mergedProtoPortDsts, dst) + // if level 2, the super set of labels should be included in all the pods to be aggregated + if Cfg.L3AggregationLevel == 2 && !checkIncludeAllDstPods(label, mergedProtoPortDsts, pods) { + continue } - } - if len(selectedDsts) != 0 { - if mergedSrcPerMergedDst[mergedSrc] == nil { - mergedSrcPerMergedDst[mergedSrc] = []MergedPortDst{} + selectedDsts := make([]MergedPortDst, 0) + for _, dst := range mergedProtoPortDsts { + if libs.ContainLabel(label, dst.MatchLabels) { + selectedDsts = append(selectedDsts, dst) + mergedProtoPortDsts = removeDstMergedSlice(mergedProtoPortDsts, dst) + } } - // groupingDsts -> one merged grouping dst - groupedDst := groupingDstMergeds(label, selectedDsts) - mergedSrcPerMergedDst[mergedSrc] = append(mergedSrcPerMergedDst[mergedSrc], groupedDst) + if len(selectedDsts) != 0 { + if mergedSrcPerMergedDst[mergedSrc] == nil { + mergedSrcPerMergedDst[mergedSrc] = []MergedPortDst{} + } + + // groupingDsts -> one merged grouping dst + groupedDst := groupingDstMergeds(label, selectedDsts) + mergedSrcPerMergedDst[mergedSrc] = append(mergedSrcPerMergedDst[mergedSrc], groupedDst) + } } } } @@ -1581,7 +1735,7 @@ func DiscoverNetworkPolicies(namespace string, } // step 3: {dst: [srcs (labeled)]} -> {dst: [merged srcs (labeled + merged)]} - mergedSrcsPerDst := mergingSrcByLabels(labeledSrcsPerDst) + mergedSrcsPerDst := mergingSrcByLabels(labeledSrcsPerDst, pods) // step 4: {merged_src: [dsts (merged proto/port)]} merging protocols and ports for the same destinations mergedSrcPerMergedProtoDst := mergingDstSpecs(mergedSrcsPerDst) @@ -1805,7 +1959,6 @@ func StartToDiscoveryWorker() { libs.InsertDiscoveredPolicies(Cfg.ConfigDB, newPolicies) if strings.Contains(Cfg.DiscoveredPolicyTo, "file") { - // retrieve the latest policies from the db policies := libs.GetNetworkPolicies(Cfg.ConfigDB, namespace, "latest") @@ -1819,9 +1972,9 @@ func StartToDiscoveryWorker() { libs.WriteKnoxPolicyToYamlFile(namespace, policies) } - log.Info().Msgf("Policy discovery done for namespace: [%s], [%d] policies discovered", namespace, len(newPolicies)) + log.Info().Msgf("Policy discovery done for namespace: [%s], [%d] policies discovered", namespace, len(newPolicies)) } else { - log.Info().Msgf("Policy discovery done for namespace: [%s], no policy discovered", namespace) + log.Info().Msgf("Policy discovery done for namespace: [%s], no policy discovered", namespace) } } diff --git a/src/libs/mysqlHandler.go b/src/libs/mysqlHandler.go index 4759021c..1d008ede 100644 --- a/src/libs/mysqlHandler.go +++ b/src/libs/mysqlHandler.go @@ -142,7 +142,7 @@ func GetNetworkPoliciesFromMySQL(cfg types.ConfigDB, namespace, status string) ( var results *sql.Rows var err error - query := "SELECT apiVersion,kind,name,namespace,type,rule,status,outdated,spec,generatedTime FROM " + cfg.TableDiscoveredPolicy + query := "SELECT apiVersion,kind,name,cluster_name,namespace,type,rule,status,outdated,spec,generatedTime FROM " + cfg.TableDiscoveredPolicy if namespace != "" && status != "" { query = query + " WHERE namespace = ? and status = ? " results, err = db.Query(query, namespace, status) @@ -324,9 +324,8 @@ func AddConfiguration(cfg types.ConfigDB, newConfig types.Configuration) error { "ignoring_flows," + "l3_aggregation_level," + "l4_aggregation_level," + - "l7_aggregation_level," + - "http_url_threshold) " + - "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)") + "l7_aggregation_level) " + + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)") if err != nil { return err @@ -367,9 +366,8 @@ func AddConfiguration(cfg types.ConfigDB, newConfig types.Configuration) error { newConfig.CIDRBits, ignoringFlows, newConfig.L3AggregationLevel, - newConfig.L4AggregationLevel, + newConfig.L4Compression, newConfig.L7AggregationLevel, - newConfig.HTTPUrlThreshold, ) if err != nil { @@ -431,9 +429,8 @@ func GetConfigurations(cfg types.ConfigDB, configName string) ([]types.Configura &cfg.CIDRBits, &ignoringFlowByte, &cfg.L3AggregationLevel, - &cfg.L4AggregationLevel, + &cfg.L4Compression, &cfg.L7AggregationLevel, - &cfg.HTTPUrlThreshold, ); err != nil { return nil, err } @@ -482,8 +479,7 @@ func UpdateConfiguration(cfg types.ConfigDB, configName string, updateConfig typ "ignoring_flows=?," + "l3_aggregation_level=?," + "l4_aggregation_level=?," + - "l7_aggregation_level=?," + - "http_url_threshold=? " + + "l7_aggregation_level=? " + "WHERE config_name=?") if err != nil { @@ -524,9 +520,8 @@ func UpdateConfiguration(cfg types.ConfigDB, configName string, updateConfig typ updateConfig.CIDRBits, ignoringFlows, updateConfig.L3AggregationLevel, - updateConfig.L4AggregationLevel, + updateConfig.L4Compression, updateConfig.L7AggregationLevel, - updateConfig.HTTPUrlThreshold, configName, ) diff --git a/src/protos/v1/config/config.pb.go b/src/protos/v1/config/config.pb.go index 2c49a49b..734dd281 100644 --- a/src/protos/v1/config/config.pb.go +++ b/src/protos/v1/config/config.pb.go @@ -351,9 +351,8 @@ type Config struct { CidrBits int32 `protobuf:"varint,13,opt,name=cidr_bits,json=cidrBits,proto3" json:"cidr_bits,omitempty"` IgnoringFlows []*IgnoringFlows `protobuf:"bytes,14,rep,name=ignoring_flows,json=ignoringFlows,proto3" json:"ignoring_flows,omitempty"` L3AggregationLevel int32 `protobuf:"varint,15,opt,name=l3_aggregation_level,json=l3AggregationLevel,proto3" json:"l3_aggregation_level,omitempty"` - L4AggregationLevel int32 `protobuf:"varint,16,opt,name=l4_aggregation_level,json=l4AggregationLevel,proto3" json:"l4_aggregation_level,omitempty"` + L4Compression int32 `protobuf:"varint,16,opt,name=l4_compression,json=l4Compression,proto3" json:"l4_compression,omitempty"` L7AggregationLevel int32 `protobuf:"varint,17,opt,name=l7_aggregation_level,json=l7AggregationLevel,proto3" json:"l7_aggregation_level,omitempty"` - HttpUrlThreshold int32 `protobuf:"varint,18,opt,name=http_url_threshold,json=httpUrlThreshold,proto3" json:"http_url_threshold,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -489,9 +488,9 @@ func (m *Config) GetL3AggregationLevel() int32 { return 0 } -func (m *Config) GetL4AggregationLevel() int32 { +func (m *Config) GetL4Compression() int32 { if m != nil { - return m.L4AggregationLevel + return m.L4Compression } return 0 } @@ -503,13 +502,6 @@ func (m *Config) GetL7AggregationLevel() int32 { return 0 } -func (m *Config) GetHttpUrlThreshold() int32 { - if m != nil { - return m.HttpUrlThreshold - } - return 0 -} - func init() { proto.RegisterType((*ConfigRequest)(nil), "v1.config.ConfigRequest") proto.RegisterType((*ConfigResponse)(nil), "v1.config.ConfigResponse") @@ -524,62 +516,61 @@ func init() { } var fileDescriptor_a49a8d8549545cb5 = []byte{ - // 907 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0x1b, 0x45, - 0x14, 0x56, 0x93, 0xc6, 0xb5, 0xc7, 0xb5, 0x71, 0x26, 0x6d, 0xb3, 0x50, 0x45, 0x54, 0x16, 0x48, - 0x45, 0x42, 0x36, 0x4d, 0x02, 0x95, 0x50, 0x11, 0x4a, 0x6a, 0x95, 0x16, 0xa5, 0x21, 0x72, 0x9c, - 0x1b, 0xb8, 0x18, 0xed, 0xcf, 0x64, 0x3d, 0x74, 0xbc, 0xb3, 0xcc, 0xcc, 0xba, 0xf8, 0x15, 0xb8, - 0xe4, 0x8d, 0x78, 0x15, 0x9e, 0x84, 0x33, 0x67, 0x66, 0x1d, 0x37, 0x8e, 0xa8, 0x94, 0x9b, 0x64, - 0xe7, 0xfb, 0xce, 0xf7, 0x65, 0xf6, 0xfc, 0x6d, 0xc8, 0x5e, 0xa9, 0x95, 0x55, 0x66, 0x38, 0x7f, - 0x36, 0x4c, 0x55, 0x71, 0x29, 0xf2, 0xf0, 0x6b, 0x80, 0x38, 0x6d, 0xcd, 0x9f, 0x0d, 0x3c, 0xd0, - 0xff, 0x8d, 0x74, 0x5e, 0xe2, 0xd3, 0x98, 0xff, 0x51, 0x71, 0x63, 0xe9, 0xe7, 0xa4, 0xed, 0x29, - 0x56, 0xc4, 0x33, 0x1e, 0xdd, 0x79, 0x72, 0xe7, 0x69, 0x6b, 0x4c, 0x3c, 0x74, 0x0a, 0x08, 0xfd, - 0x8a, 0x34, 0xfc, 0x29, 0xda, 0x04, 0xae, 0xbd, 0xbf, 0x3d, 0x58, 0xba, 0x0d, 0x82, 0x55, 0x08, - 0xe8, 0xbf, 0x25, 0xdd, 0xda, 0xdc, 0x94, 0xaa, 0x30, 0x9c, 0xf6, 0xc8, 0xe6, 0xcc, 0xe4, 0xc1, - 0xd5, 0x3d, 0xae, 0xd8, 0x6d, 0x3c, 0xd9, 0xfc, 0x7f, 0xbb, 0xbf, 0x36, 0x48, 0xd3, 0x43, 0xa3, - 0x63, 0xfa, 0x98, 0xb4, 0xb2, 0x84, 0x65, 0x5a, 0xcc, 0xb9, 0x0e, 0x7e, 0xcd, 0x2c, 0x19, 0xe1, - 0x99, 0xee, 0x92, 0x7b, 0x40, 0x4e, 0x95, 0xb1, 0xe0, 0xea, 0xa8, 0x46, 0x96, 0xbc, 0x86, 0x53, - 0x20, 0x4a, 0xa5, 0x2d, 0xde, 0x1e, 0x89, 0x33, 0x38, 0x05, 0xa2, 0x32, 0x60, 0x76, 0xb7, 0x26, - 0x2e, 0xcc, 0xd2, 0xaa, 0x8c, 0x8d, 0x89, 0xb6, 0x96, 0x0a, 0x38, 0x05, 0x02, 0x93, 0xd4, 0xa8, - 0x09, 0x4c, 0xd0, 0xd7, 0x84, 0xda, 0x38, 0x91, 0x9c, 0x15, 0xdc, 0xbe, 0x57, 0xfa, 0x1d, 0xbb, - 0x94, 0xea, 0x7d, 0x74, 0x0f, 0x63, 0x7a, 0xc8, 0x9c, 0x7a, 0xe2, 0x15, 0xe0, 0xf4, 0x3b, 0xb2, - 0xeb, 0xa3, 0x33, 0x61, 0x52, 0x05, 0x97, 0xe7, 0x19, 0xdc, 0x4f, 0x8a, 0x74, 0x11, 0x35, 0x51, - 0xf2, 0x10, 0xe9, 0xd1, 0x92, 0x3d, 0x43, 0xb2, 0x3f, 0x21, 0xd4, 0xe7, 0xe2, 0xa5, 0x90, 0xa2, - 0x9a, 0xbd, 0xae, 0x12, 0x88, 0xa2, 0x7b, 0x84, 0x4c, 0xf1, 0x89, 0x55, 0x5a, 0x86, 0xb4, 0xb4, - 0x3c, 0x72, 0xa1, 0xa5, 0x2b, 0x6e, 0xa0, 0x31, 0x05, 0x3e, 0x37, 0x41, 0xe1, 0xd2, 0xd0, 0xff, - 0x7b, 0x83, 0x74, 0xde, 0xe4, 0x85, 0xd2, 0xa2, 0xc8, 0xdd, 0xf5, 0x0c, 0xdd, 0x27, 0x0f, 0xa1, - 0x17, 0x0c, 0x97, 0x3c, 0xb5, 0x4a, 0xe3, 0xfb, 0x9a, 0x32, 0x4e, 0xeb, 0xce, 0xd8, 0x11, 0xf9, - 0x79, 0xe0, 0x4e, 0x6b, 0xca, 0x65, 0x60, 0x55, 0x23, 0xe3, 0x84, 0x4b, 0x83, 0xf5, 0x85, 0x0c, - 0x5c, 0x09, 0x4e, 0x10, 0xa7, 0x03, 0x02, 0x26, 0xcc, 0xc6, 0x3a, 0xe7, 0x76, 0xc5, 0xdf, 0xd7, - 0x67, 0x5b, 0xe4, 0x13, 0x64, 0xae, 0xdc, 0x9f, 0x92, 0xde, 0x55, 0x7c, 0xf0, 0xbe, 0x8b, 0xde, - 0xdd, 0x3a, 0x38, 0x38, 0xc3, 0xeb, 0x42, 0x24, 0xf6, 0x7c, 0xaa, 0x64, 0xa8, 0x1f, 0x11, 0xf9, - 0x59, 0x40, 0xe8, 0x17, 0xa4, 0xeb, 0x02, 0xe0, 0xcd, 0x59, 0x51, 0xcd, 0x12, 0x28, 0xbe, 0x2f, - 0xe5, 0x7d, 0x88, 0x01, 0xf0, 0x14, 0xb1, 0xfe, 0xbf, 0x0d, 0xd2, 0xf0, 0xb9, 0xfe, 0xf8, 0x74, - 0x3c, 0x22, 0x0d, 0x63, 0x63, 0x5b, 0x19, 0x4c, 0xee, 0xd6, 0x38, 0x9c, 0xe8, 0x37, 0xa4, 0x15, - 0x84, 0x59, 0x12, 0x06, 0x67, 0x67, 0xad, 0xd3, 0x47, 0xc7, 0xe3, 0xa6, 0x07, 0x46, 0x09, 0xfd, - 0x85, 0x3c, 0x08, 0x8a, 0x14, 0x2b, 0xcc, 0x7c, 0x99, 0xb0, 0x3d, 0xdb, 0xfb, 0x7b, 0x6b, 0xe2, - 0xd5, 0x3e, 0x18, 0xd3, 0x74, 0xbd, 0x37, 0xbe, 0x24, 0x5d, 0x55, 0x72, 0x1d, 0x5b, 0xa1, 0x0a, - 0x36, 0x53, 0x19, 0xc7, 0x84, 0x6c, 0x8d, 0x3b, 0x4b, 0xf4, 0x2d, 0x80, 0xae, 0xe0, 0xa9, 0x56, - 0xc5, 0xef, 0x2a, 0x61, 0x56, 0xcc, 0x38, 0x13, 0x85, 0xe5, 0x7a, 0x1e, 0xcb, 0x90, 0x9a, 0x9d, - 0x40, 0x4e, 0x80, 0x7b, 0x13, 0x28, 0xfa, 0x82, 0x3c, 0x56, 0x05, 0xf7, 0xf1, 0x4b, 0xa1, 0xaf, - 0x3f, 0xd8, 0x86, 0xde, 0xdf, 0x85, 0x10, 0xa7, 0xfa, 0xd9, 0x8b, 0xcf, 0x6b, 0xda, 0x15, 0xb4, - 0x1e, 0x15, 0xa9, 0x72, 0x76, 0xa9, 0xd5, 0x2c, 0xf4, 0x7e, 0x37, 0xe0, 0x27, 0x2a, 0x7f, 0x05, - 0x28, 0x64, 0xf1, 0xc1, 0xda, 0x98, 0x30, 0xab, 0xa2, 0x16, 0x46, 0xd3, 0xec, 0xda, 0x90, 0x4c, - 0x94, 0x1b, 0x88, 0x10, 0x96, 0x09, 0x1d, 0x11, 0x3f, 0x10, 0x1e, 0x19, 0x09, 0x4d, 0x0f, 0xc9, - 0xa3, 0x5a, 0xb4, 0x58, 0xfa, 0x2d, 0x4a, 0x6e, 0xa2, 0x36, 0xe6, 0x66, 0xf9, 0xe7, 0x16, 0xc1, - 0xd1, 0x71, 0xab, 0xd7, 0x58, 0x30, 0x5d, 0xc1, 0x38, 0x79, 0xcd, 0x7d, 0xd4, 0x2c, 0xaf, 0xb1, - 0x18, 0x03, 0xe5, 0x15, 0xb0, 0xad, 0x52, 0x91, 0x69, 0x96, 0x08, 0x6b, 0xa2, 0x0e, 0x86, 0x35, - 0x1d, 0x70, 0x0c, 0x67, 0xfa, 0xa3, 0xeb, 0x42, 0x3f, 0x73, 0xb8, 0x2b, 0x4c, 0xd4, 0xc5, 0x55, - 0x18, 0xad, 0xd4, 0xf8, 0x83, 0xa1, 0x1c, 0x77, 0xc4, 0x07, 0x33, 0x0a, 0xf7, 0x91, 0x07, 0x2c, - 0xce, 0x73, 0xcd, 0x73, 0x5f, 0x5e, 0xc9, 0xe7, 0x5c, 0x46, 0x9f, 0xf8, 0xfb, 0xc8, 0x83, 0xa3, - 0x2b, 0xea, 0xc4, 0x31, 0xa8, 0x38, 0xbc, 0x41, 0xd1, 0x0b, 0x8a, 0xc3, 0x1b, 0x15, 0xcf, 0x6f, - 0x50, 0x6c, 0x07, 0xc5, 0xf3, 0x35, 0x05, 0x6c, 0x81, 0xa9, 0xb5, 0xa5, 0xdb, 0x44, 0xcc, 0x4e, - 0x35, 0x37, 0x53, 0x25, 0xb3, 0x88, 0x62, 0x7c, 0xcf, 0x31, 0xb0, 0x91, 0x26, 0x35, 0xbe, 0xff, - 0xcf, 0x06, 0x69, 0xfb, 0x46, 0x3e, 0x87, 0xd5, 0xc0, 0xe9, 0xf7, 0x64, 0xf3, 0x28, 0xcb, 0x68, - 0xb4, 0xfe, 0x39, 0xf0, 0x1f, 0xaa, 0xcf, 0x3e, 0xbd, 0x81, 0x09, 0x5f, 0x19, 0xd0, 0xfe, 0xc4, - 0xed, 0xed, 0xb4, 0x3f, 0x90, 0xc6, 0x45, 0x99, 0xc5, 0x96, 0xdf, 0x5a, 0x3e, 0x82, 0xc6, 0xbe, - 0xad, 0xfc, 0x05, 0xd9, 0x3a, 0x2a, 0x4b, 0xb9, 0xb8, 0x95, 0xfa, 0xf8, 0xdb, 0x5f, 0x0f, 0x72, - 0x61, 0x61, 0x4f, 0x00, 0x3f, 0x1b, 0xc6, 0x69, 0x5a, 0xbd, 0x2b, 0xd4, 0x9f, 0x43, 0xf7, 0xe3, - 0xa8, 0xb2, 0xca, 0xb7, 0xf0, 0xf0, 0xfa, 0xff, 0x06, 0x49, 0x03, 0x91, 0x83, 0xff, 0x02, 0x00, - 0x00, 0xff, 0xff, 0x33, 0x00, 0x52, 0xa9, 0x36, 0x08, 0x00, 0x00, + // 893 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x55, 0xdd, 0x6e, 0x1b, 0x45, + 0x14, 0x56, 0x93, 0xc6, 0xb5, 0xc7, 0xb5, 0x49, 0x26, 0x6d, 0xb3, 0x50, 0x45, 0x54, 0x16, 0x48, + 0x45, 0x42, 0x36, 0x4d, 0x02, 0x95, 0x50, 0x11, 0x4a, 0x62, 0x95, 0x16, 0xa5, 0x21, 0x72, 0x92, + 0x1b, 0xb8, 0x18, 0xed, 0xcf, 0x64, 0x3b, 0x74, 0xbc, 0xb3, 0xcc, 0xcc, 0xba, 0xf8, 0x15, 0xb8, + 0xe4, 0x2d, 0x78, 0x0c, 0xde, 0x8c, 0x33, 0x67, 0x66, 0xd7, 0x6e, 0x1c, 0x51, 0x29, 0x37, 0xc9, + 0xce, 0xf7, 0x9d, 0xef, 0xf3, 0xd9, 0xf3, 0x33, 0x4b, 0x76, 0x4b, 0xad, 0xac, 0x32, 0xa3, 0xd9, + 0xb3, 0x51, 0xaa, 0x8a, 0x2b, 0x91, 0x87, 0x7f, 0x43, 0xc4, 0x69, 0x67, 0xf6, 0x6c, 0xe8, 0x81, + 0xc1, 0x6f, 0xa4, 0x77, 0x8c, 0x4f, 0x13, 0xfe, 0x47, 0xc5, 0x8d, 0xa5, 0x9f, 0x93, 0xae, 0xa7, + 0x58, 0x11, 0x4f, 0x79, 0x74, 0xe7, 0xc9, 0x9d, 0xa7, 0x9d, 0x09, 0xf1, 0xd0, 0x29, 0x20, 0xf4, + 0x2b, 0xd2, 0xf2, 0xa7, 0x68, 0x1d, 0xb8, 0xee, 0xde, 0xd6, 0xb0, 0x71, 0x1b, 0x06, 0xab, 0x10, + 0x30, 0x78, 0x43, 0xfa, 0xb5, 0xb9, 0x29, 0x55, 0x61, 0x38, 0xdd, 0x24, 0xeb, 0x53, 0x93, 0x07, + 0x57, 0xf7, 0xb8, 0x64, 0xb7, 0xf6, 0x64, 0xfd, 0xff, 0xed, 0xfe, 0x5a, 0x23, 0x6d, 0x0f, 0x8d, + 0x8f, 0xe8, 0x63, 0xd2, 0xc9, 0x12, 0x96, 0x69, 0x31, 0xe3, 0x3a, 0xf8, 0xb5, 0xb3, 0x64, 0x8c, + 0x67, 0xba, 0x43, 0xee, 0x01, 0xf9, 0x56, 0x19, 0x0b, 0xae, 0x8e, 0x6a, 0x65, 0xc9, 0x2b, 0x38, + 0x05, 0xa2, 0x54, 0xda, 0x62, 0xf6, 0x48, 0x9c, 0xc1, 0x29, 0x10, 0x95, 0x01, 0xb3, 0xbb, 0x35, + 0x71, 0x69, 0x1a, 0xab, 0x32, 0x36, 0x26, 0xda, 0x68, 0x14, 0x70, 0x0a, 0x04, 0x16, 0xa9, 0x55, + 0x13, 0x58, 0xa0, 0xaf, 0x09, 0xb5, 0x71, 0x22, 0x39, 0x2b, 0xb8, 0x7d, 0xaf, 0xf4, 0x3b, 0x76, + 0x25, 0xd5, 0xfb, 0xe8, 0x1e, 0xc6, 0x6c, 0x22, 0x73, 0xea, 0x89, 0x97, 0x80, 0xd3, 0xef, 0xc8, + 0x8e, 0x8f, 0xce, 0x84, 0x49, 0x15, 0x24, 0xcf, 0x33, 0xc8, 0x4f, 0x8a, 0x74, 0x1e, 0xb5, 0x51, + 0xf2, 0x10, 0xe9, 0x71, 0xc3, 0x9e, 0x21, 0x39, 0xb8, 0x20, 0xd4, 0xd7, 0xe2, 0x58, 0x48, 0x51, + 0x4d, 0x5f, 0x55, 0x09, 0x44, 0xd1, 0x5d, 0x42, 0xde, 0xe2, 0x13, 0xab, 0xb4, 0x0c, 0x65, 0xe9, + 0x78, 0xe4, 0x52, 0x4b, 0xd7, 0xdc, 0x40, 0x63, 0x09, 0x7c, 0x6d, 0x82, 0xc2, 0x95, 0x61, 0xf0, + 0xf7, 0x1a, 0xe9, 0xbd, 0xce, 0x0b, 0xa5, 0x45, 0x91, 0xbb, 0xf4, 0x0c, 0xdd, 0x23, 0x0f, 0x61, + 0x16, 0x0c, 0x97, 0x3c, 0xb5, 0x4a, 0xe3, 0xfb, 0x9a, 0x32, 0x4e, 0xeb, 0xc9, 0xd8, 0x16, 0xf9, + 0x79, 0xe0, 0x4e, 0x6b, 0xca, 0x55, 0x60, 0x59, 0x23, 0xe3, 0x84, 0x4b, 0x83, 0xfd, 0x85, 0x0a, + 0x2c, 0x04, 0x27, 0x88, 0xd3, 0x21, 0x01, 0x13, 0x66, 0x63, 0x9d, 0x73, 0xbb, 0xe4, 0xef, 0xfb, + 0xb3, 0x25, 0xf2, 0x0b, 0x64, 0x16, 0xee, 0x4f, 0xc9, 0xe6, 0x22, 0x3e, 0x78, 0xdf, 0x45, 0xef, + 0x7e, 0x1d, 0x1c, 0x9c, 0xe1, 0x75, 0x21, 0x12, 0x67, 0x3e, 0x55, 0x32, 0xf4, 0x8f, 0x88, 0xfc, + 0x2c, 0x20, 0xf4, 0x0b, 0xd2, 0x77, 0x01, 0xf0, 0xe6, 0xac, 0xa8, 0xa6, 0x09, 0x34, 0xdf, 0xb7, + 0xf2, 0x3e, 0xc4, 0x00, 0x78, 0x8a, 0xd8, 0xe0, 0x9f, 0x16, 0x69, 0xf9, 0x5a, 0x7f, 0x7c, 0x3b, + 0x1e, 0x91, 0x96, 0xb1, 0xb1, 0xad, 0x0c, 0x16, 0x77, 0x63, 0x12, 0x4e, 0xf4, 0x1b, 0xd2, 0x09, + 0xc2, 0x2c, 0x09, 0x8b, 0xb3, 0xbd, 0x32, 0xe9, 0xe3, 0xa3, 0x49, 0xdb, 0x03, 0xe3, 0x84, 0xfe, + 0x42, 0x1e, 0x04, 0x45, 0x8a, 0x1d, 0x66, 0xbe, 0x4d, 0x38, 0x9e, 0xdd, 0xbd, 0xdd, 0x15, 0xf1, + 0xf2, 0x1c, 0x4c, 0x68, 0xba, 0x3a, 0x1b, 0x5f, 0x92, 0xbe, 0x2a, 0xb9, 0x8e, 0xad, 0x50, 0x05, + 0x9b, 0xaa, 0x8c, 0x63, 0x41, 0x36, 0x26, 0xbd, 0x06, 0x7d, 0x03, 0xa0, 0x6b, 0x78, 0xaa, 0x55, + 0xf1, 0xbb, 0x4a, 0x98, 0x15, 0x53, 0xce, 0x44, 0x61, 0xb9, 0x9e, 0xc5, 0x32, 0x94, 0x66, 0x3b, + 0x90, 0x17, 0xc0, 0xbd, 0x0e, 0x14, 0x7d, 0x41, 0x1e, 0xab, 0x82, 0xfb, 0xf8, 0x46, 0xe8, 0xfb, + 0x0f, 0xb6, 0x61, 0xf6, 0x77, 0x20, 0xc4, 0xa9, 0x7e, 0xf6, 0xe2, 0xf3, 0x9a, 0x76, 0x0d, 0xad, + 0x57, 0x45, 0xaa, 0x9c, 0x5d, 0x69, 0x35, 0x0d, 0xb3, 0xdf, 0x0f, 0xf8, 0x89, 0xca, 0x5f, 0x02, + 0x0a, 0x55, 0x7c, 0xb0, 0xb2, 0x26, 0xcc, 0xaa, 0xa8, 0x83, 0xd1, 0x34, 0xbb, 0xb6, 0x24, 0x17, + 0xca, 0x2d, 0x44, 0x08, 0xcb, 0x84, 0x8e, 0x88, 0x5f, 0x08, 0x8f, 0x8c, 0x85, 0xa6, 0x07, 0xe4, + 0x51, 0x2d, 0x9a, 0x37, 0x7e, 0xf3, 0x92, 0x9b, 0xa8, 0x8b, 0xb5, 0x69, 0x7e, 0x6e, 0x1e, 0x1c, + 0x1d, 0xb7, 0x9c, 0xc6, 0x9c, 0xe9, 0x0a, 0xd6, 0xc9, 0x6b, 0xee, 0xa3, 0xa6, 0x49, 0x63, 0x3e, + 0x01, 0xca, 0x2b, 0xe0, 0xb6, 0x4a, 0x45, 0xa6, 0x59, 0x22, 0xac, 0x89, 0x7a, 0x18, 0xd6, 0x76, + 0xc0, 0x11, 0x9c, 0xe9, 0x8f, 0x6e, 0x0a, 0xfd, 0xce, 0xe1, 0x5d, 0x61, 0xa2, 0x3e, 0x5e, 0x85, + 0xd1, 0x52, 0x8f, 0x3f, 0x58, 0xca, 0x49, 0x4f, 0x7c, 0xb0, 0xa3, 0x90, 0x8f, 0xdc, 0x67, 0x71, + 0x9e, 0x6b, 0x9e, 0xfb, 0xf6, 0x4a, 0x3e, 0xe3, 0x32, 0xfa, 0xc4, 0xe7, 0x23, 0xf7, 0x0f, 0x17, + 0xd4, 0x89, 0x63, 0xdc, 0x2c, 0xc8, 0x03, 0x96, 0xaa, 0x69, 0xa9, 0xb9, 0x31, 0xae, 0x47, 0x9b, + 0x7e, 0x16, 0xe4, 0xc1, 0xf1, 0x02, 0x44, 0xe3, 0xe7, 0x37, 0x18, 0x6f, 0x05, 0xe3, 0xe7, 0xd7, + 0x8d, 0xf7, 0xfe, 0x5d, 0x23, 0x5d, 0x3f, 0x8f, 0xe7, 0xb0, 0xe1, 0x9c, 0x7e, 0x4f, 0xd6, 0x0f, + 0xb3, 0x8c, 0x46, 0xab, 0xb7, 0xba, 0xff, 0xde, 0x7c, 0xf6, 0xe9, 0x0d, 0x4c, 0xf8, 0x58, 0x80, + 0xf6, 0x27, 0x6e, 0x6f, 0xa7, 0xfd, 0x81, 0xb4, 0x2e, 0xcb, 0x2c, 0xb6, 0xfc, 0xd6, 0xf2, 0x31, + 0xcc, 0xe7, 0x6d, 0xe5, 0x2f, 0xc8, 0xc6, 0x61, 0x59, 0xca, 0xf9, 0xad, 0xd4, 0x47, 0xdf, 0xfe, + 0xba, 0x9f, 0x0b, 0x0b, 0xeb, 0x0e, 0xfc, 0x74, 0x14, 0xa7, 0x69, 0xf5, 0xae, 0x50, 0x7f, 0x8e, + 0xdc, 0x9f, 0xc3, 0xca, 0x2a, 0x3f, 0x89, 0xa3, 0xeb, 0x9f, 0xf8, 0xa4, 0x85, 0xc8, 0xfe, 0x7f, + 0x01, 0x00, 0x00, 0xff, 0xff, 0x3d, 0xe1, 0xf9, 0x92, 0xfd, 0x07, 0x00, 0x00, } diff --git a/src/protos/v1/config/config.proto b/src/protos/v1/config/config.proto index d5c3cf52..3a816f54 100644 --- a/src/protos/v1/config/config.proto +++ b/src/protos/v1/config/config.proto @@ -73,7 +73,6 @@ message Config { repeated IgnoringFlows ignoring_flows = 14; int32 l3_aggregation_level = 15; - int32 l4_aggregation_level = 16; + int32 l4_compression = 16; int32 l7_aggregation_level = 17; - int32 http_url_threshold = 18; } \ No newline at end of file diff --git a/src/types/configData.go b/src/types/configData.go index b359c9fb..93d749c6 100644 --- a/src/types/configData.go +++ b/src/types/configData.go @@ -53,7 +53,6 @@ type Configuration struct { IgnoringFlows []IgnoringFlows `json:"ignoring_flows,omitempty" bson:"ignoring_flows,omitempty"` L3AggregationLevel int `json:"l3_aggregation_level,omitempty" bson:"l3_aggregation_level,omitempty"` - L4AggregationLevel int `json:"l4_aggregation_level,omitempty" bson:"l4_aggregation_level,omitempty"` + L4Compression int `json:"l4_compression,omitempty" bson:"l4_compression,omitempty"` L7AggregationLevel int `json:"l7_aggregation_level,omitempty" bson:"l7_aggregation_level,omitempty"` - HTTPUrlThreshold int `json:"http_url_threshold,omitempty" bson:"http_url_threshold,omitempty"` }