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
}