func()

in pkg/ebpf/bpf_client.go [541:568]


func (l *bpfClient) GetNetworkPolicyModeFromIpamd() (string, error) {

	ctx := context.Background()
	grpcLogger := ctrl.Log.WithName("grpcLogger")

	// grpc connection waits till the ipmad is up and running
	grpcLogger.Info("Trying to establish GRPC connection to ipamd")
	grpcConn, err := rpcclient.New().Dial(ctx, LOCAL_IPAMD_ADDRESS, rpcclient.GetDefaultServiceRetryConfig(), rpcclient.GetInsecureConnectionType())
	if err != nil {
		grpcLogger.Error(err, "Failed to connect to ipamd")
		return "", err
	}
	defer grpcConn.Close()

	ipamd := rpc.NewConfigServerBackendClient(grpcConn)
	resp, err := ipamd.GetNetworkPolicyConfigs(ctx, &emptypb.Empty{})
	if err != nil {
		grpcLogger.Error(err, "Failed to get network policy configs")
		return "", err
	}
	grpcLogger.Info("Connected to ipamd grpc endpoint and got response for ", "NetworkPolicyMode", resp.NetworkPolicyMode)
	if !utils.IsValidNetworkPolicyEnforcingMode(resp.NetworkPolicyMode) {
		err = errors.New("Invalid Network Policy Mode")
		grpcLogger.Error(err, "Invalid Network Policy Mode ", resp.NetworkPolicyMode)
		return "", err
	}
	return resp.NetworkPolicyMode, nil
}