protected boolean shouldIgnoreFlow()

in oap-server/server-fetcher-plugin/cilium-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/fetcher/cilium/handler/CiliumFlowListener.java [332:368]


    protected boolean shouldIgnoreFlow(CiliumNode node, Flow flow) {
        // must have source and destination
        if (!flow.hasSource() || !flow.hasDestination()) {
            return true;
        }
        // if the source and destination or not set, then ignore this flow
        if (shouldIgnoreEndpoint(flow.getSource()) || shouldIgnoreEndpoint(flow.getDestination())) {
            return true;
        }
        // only acknowledge the flows is forwarded or dropped
        switch (flow.getVerdict()) {
            case FORWARDED:
            case DROPPED:
                break;
            default:
                return true;
        }
        // traffic direction must be set
        if (flow.getTrafficDirection() == TrafficDirection.TRAFFIC_DIRECTION_UNKNOWN) {
            return true;
        }
        // flow type is only support for L3, L4 and L7
        switch (flow.getType()) {
            case L3_L4:
            case L7: break;
            default: return true;
        }
        // ignore the client traffic if we convert the client as server traffic
        if (this.convertClientAsServerTraffic && DetectPoint.SERVER.equals(parseDetectPoint(flow))) {
            return true;
        }
        // ignore the flow when the source and dest endpoint should exclude both
        if (excludeRules.shouldExclude(flow.getSource()) && excludeRules.shouldExclude(flow.getDestination())) {
            return true;
        }
        return false;
    }