Commit 1e2cb9a8 authored by ldemarcosm's avatar ldemarcosm
Browse files

Fixing various issues

parent 16dad6a1
Loading
Loading
Loading
Loading
+14 −14
Original line number Diff line number Diff line
syntax = "proto2";
syntax = "proto3";

service l3_attackmitigator{
service L3Attackmitigator{
  // Sends a greeting
  rpc send_output (output) returns (empty_mitigator) {}
  rpc SendOutput (Output) returns (EmptyMitigator) {}
  // Sends another greeting
  rpc get_mitigation (empty_mitigator) returns (empty_mitigator) {}
  rpc GetMitigation (EmptyMitigator) returns (EmptyMitigator) {}
}


message empty_mitigator {
message EmptyMitigator {
	optional string message = 1;
}


message output {
	required float confidence = 1;
	required string timestamp = 2;
	required string ip_o = 3;	
	required string tag_name = 4;
	required int32 tag = 5;
	required string flow_id = 6;
	required string protocol = 7;
	required string port_d = 8;
message Output {
	float confidence = 1;
	string timestamp = 2;
	string ip_o = 3;	
	string tag_name = 4;
	int32 tag = 5;
	string flow_id = 6;
	string protocol = 7;
	string port_d = 8;
	optional string ml_id = 9;
	optional float time_start = 10;
	optional float time_end = 11;
+31 −31
Original line number Diff line number Diff line
syntax = "proto2";
syntax = "proto3";

service l3_centralizedattackdetector {
service L3Centralizedattackdetector {
  // Sends a greeting
  rpc send_input (model_input) returns (empty) {}
  rpc SendInput (ModelInput) returns (Empty) {}
  // Sends another greeting
  rpc get_output (empty) returns (model_output) {}
  rpc GetOutput (Empty) returns (ModelOutput) {}
}

message model_input {
message ModelInput {
	/*
	Model input sent to the Inferencer by the client
	There are currently 9 values and 
	*/

    // Machine learning
	required float n_packets_server_seconds = 1;
	required float n_packets_client_seconds = 2;
	required float n_bits_server_seconds = 3;
	required float n_bits_client_seconds = 4;
	required float n_bits_server_n_packets_server = 5;
	required float n_bits_client_n_packets_client = 6;
	required float n_packets_server_n_packets_client = 7;
	required float n_bits_server_n_bits_client = 8;
	float n_packets_server_seconds = 1;
	float n_packets_client_seconds = 2;
	float n_bits_server_seconds = 3;
	float n_bits_client_seconds = 4;
	float n_bits_server_n_packets_server = 5;
	float n_bits_client_n_packets_client = 6;
	float n_packets_server_n_packets_client = 7;
	float n_bits_server_n_bits_client = 8;

	// Conection identifier
	required string ip_o = 9;
	required string port_o = 10;
	required string ip_d = 11;
	required string port_d = 12;
	required string flow_id = 13;
	required string protocol = 14;
	string ip_o = 9;
	string port_o = 10;
	string ip_d = 11;
	string port_d = 12;
	string flow_id = 13;
	string protocol = 14;
	optional float time_start = 15;
	optional float time_end = 16;
}

message empty {
message Empty {
	optional string message = 1;
}

message model_output {
	required float confidence = 1;
	required string timestamp = 2;
	required string ip_o = 3;	
	required string tag_name = 4;
	required int32 tag = 5;
	required string flow_id = 6;
	required string protocol = 7;
	required string port_d = 8;
message ModelOutput {
	float confidence = 1;
	string timestamp = 2;
	string ip_o = 3;	
	string tag_name = 4;
	int32 tag = 5;
	string flow_id = 6;
	string protocol = 7;
	string port_d = 8;
	optional string ml_id = 9;
	optional float time_start = 10;
	optional float time_end = 11;
@@ -54,11 +54,11 @@ message model_output {

// Collections or streams?
/*
message input_collection {
message InputCollection {
	repeated model_input = 1;
}

message output_collection {
message OutputCollection {
	repeated model_output = 1;
}
*/
+0 −6
Original line number Diff line number Diff line
import grpc, logging
from common.tools.client.RetryDecorator import retry, delay_exponential
from l3_attackmitigator.proto.context_pb2 import Empty
from l3_attackmitigator.proto.monitoring_pb2 import KpiList
#from l3_attackmitigator.proto.l3_attackmitigator_pb2 import (
#    CentralizedAttackDetecitor,
#    CentralizedAttackDetectorId,
#)  # ConnectionList, Service, ServiceId, ServiceList
from l3_attackmitigator.proto.l3_attackmitigator_pb2_grpc import (
    l3_attackmitigatorStub,
)
+87 −55
Original line number Diff line number Diff line
@@ -16,25 +16,25 @@ _sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor.FileDescriptor(
  name='l3_attackmitigator.proto',
  package='',
  syntax='proto2',
  syntax='proto3',
  serialized_options=None,
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n\x18l3_attackmitigator.proto\"\"\n\x0f\x65mpty_mitigator\x12\x0f\n\x07message\x18\x01 \x01(\t\"\xc4\x01\n\x06output\x12\x12\n\nconfidence\x18\x01 \x02(\x02\x12\x11\n\ttimestamp\x18\x02 \x02(\t\x12\x0c\n\x04ip_o\x18\x03 \x02(\t\x12\x10\n\x08tag_name\x18\x04 \x02(\t\x12\x0b\n\x03tag\x18\x05 \x02(\x05\x12\x0f\n\x07\x66low_id\x18\x06 \x02(\t\x12\x10\n\x08protocol\x18\x07 \x02(\t\x12\x0e\n\x06port_d\x18\x08 \x02(\t\x12\r\n\x05ml_id\x18\t \x01(\t\x12\x12\n\ntime_start\x18\n \x01(\x02\x12\x10\n\x08time_end\x18\x0b \x01(\x02\x32x\n\x12l3_attackmitigator\x12*\n\x0bsend_output\x12\x07.output\x1a\x10.empty_mitigator\"\x00\x12\x36\n\x0eget_mitigation\x12\x10.empty_mitigator\x1a\x10.empty_mitigator\"\x00'
  serialized_pb=b'\n\x18l3_attackmitigator.proto\"2\n\x0e\x45mptyMitigator\x12\x14\n\x07message\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_message\"\xf9\x01\n\x06Output\x12\x12\n\nconfidence\x18\x01 \x01(\x02\x12\x11\n\ttimestamp\x18\x02 \x01(\t\x12\x0c\n\x04ip_o\x18\x03 \x01(\t\x12\x10\n\x08tag_name\x18\x04 \x01(\t\x12\x0b\n\x03tag\x18\x05 \x01(\x05\x12\x0f\n\x07\x66low_id\x18\x06 \x01(\t\x12\x10\n\x08protocol\x18\x07 \x01(\t\x12\x0e\n\x06port_d\x18\x08 \x01(\t\x12\x12\n\x05ml_id\x18\t \x01(\tH\x00\x88\x01\x01\x12\x17\n\ntime_start\x18\n \x01(\x02H\x01\x88\x01\x01\x12\x15\n\x08time_end\x18\x0b \x01(\x02H\x02\x88\x01\x01\x42\x08\n\x06_ml_idB\r\n\x0b_time_startB\x0b\n\t_time_end2r\n\x11L3Attackmitigator\x12(\n\nSendOutput\x12\x07.Output\x1a\x0f.EmptyMitigator\"\x00\x12\x33\n\rGetMitigation\x12\x0f.EmptyMitigator\x1a\x0f.EmptyMitigator\"\x00\x62\x06proto3'
)




_EMPTY_MITIGATOR = _descriptor.Descriptor(
  name='empty_mitigator',
  full_name='empty_mitigator',
_EMPTYMITIGATOR = _descriptor.Descriptor(
  name='EmptyMitigator',
  full_name='EmptyMitigator',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='message', full_name='empty_mitigator.message', index=0,
      name='message', full_name='EmptyMitigator.message', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
@@ -48,95 +48,100 @@ _EMPTY_MITIGATOR = _descriptor.Descriptor(
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='_message', full_name='EmptyMitigator._message',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=28,
  serialized_end=62,
  serialized_end=78,
)


_OUTPUT = _descriptor.Descriptor(
  name='output',
  full_name='output',
  name='Output',
  full_name='Output',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='confidence', full_name='output.confidence', index=0,
      number=1, type=2, cpp_type=6, label=2,
      name='confidence', full_name='Output.confidence', index=0,
      number=1, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='output.timestamp', index=1,
      number=2, type=9, cpp_type=9, label=2,
      name='timestamp', full_name='Output.timestamp', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='ip_o', full_name='output.ip_o', index=2,
      number=3, type=9, cpp_type=9, label=2,
      name='ip_o', full_name='Output.ip_o', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='tag_name', full_name='output.tag_name', index=3,
      number=4, type=9, cpp_type=9, label=2,
      name='tag_name', full_name='Output.tag_name', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='tag', full_name='output.tag', index=4,
      number=5, type=5, cpp_type=1, label=2,
      name='tag', full_name='Output.tag', index=4,
      number=5, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='flow_id', full_name='output.flow_id', index=5,
      number=6, type=9, cpp_type=9, label=2,
      name='flow_id', full_name='Output.flow_id', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='protocol', full_name='output.protocol', index=6,
      number=7, type=9, cpp_type=9, label=2,
      name='protocol', full_name='Output.protocol', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='port_d', full_name='output.port_d', index=7,
      number=8, type=9, cpp_type=9, label=2,
      name='port_d', full_name='Output.port_d', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='ml_id', full_name='output.ml_id', index=8,
      name='ml_id', full_name='Output.ml_id', index=8,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='time_start', full_name='output.time_start', index=9,
      name='time_start', full_name='Output.time_start', index=9,
      number=10, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='time_end', full_name='output.time_end', index=10,
      name='time_end', full_name='Output.time_end', index=10,
      number=11, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
@@ -150,67 +155,94 @@ _OUTPUT = _descriptor.Descriptor(
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='_ml_id', full_name='Output._ml_id',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
    _descriptor.OneofDescriptor(
      name='_time_start', full_name='Output._time_start',
      index=1, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
    _descriptor.OneofDescriptor(
      name='_time_end', full_name='Output._time_end',
      index=2, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=65,
  serialized_end=261,
  serialized_start=81,
  serialized_end=330,
)

DESCRIPTOR.message_types_by_name['empty_mitigator'] = _EMPTY_MITIGATOR
DESCRIPTOR.message_types_by_name['output'] = _OUTPUT
_EMPTYMITIGATOR.oneofs_by_name['_message'].fields.append(
  _EMPTYMITIGATOR.fields_by_name['message'])
_EMPTYMITIGATOR.fields_by_name['message'].containing_oneof = _EMPTYMITIGATOR.oneofs_by_name['_message']
_OUTPUT.oneofs_by_name['_ml_id'].fields.append(
  _OUTPUT.fields_by_name['ml_id'])
_OUTPUT.fields_by_name['ml_id'].containing_oneof = _OUTPUT.oneofs_by_name['_ml_id']
_OUTPUT.oneofs_by_name['_time_start'].fields.append(
  _OUTPUT.fields_by_name['time_start'])
_OUTPUT.fields_by_name['time_start'].containing_oneof = _OUTPUT.oneofs_by_name['_time_start']
_OUTPUT.oneofs_by_name['_time_end'].fields.append(
  _OUTPUT.fields_by_name['time_end'])
_OUTPUT.fields_by_name['time_end'].containing_oneof = _OUTPUT.oneofs_by_name['_time_end']
DESCRIPTOR.message_types_by_name['EmptyMitigator'] = _EMPTYMITIGATOR
DESCRIPTOR.message_types_by_name['Output'] = _OUTPUT
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

empty_mitigator = _reflection.GeneratedProtocolMessageType('empty_mitigator', (_message.Message,), {
  'DESCRIPTOR' : _EMPTY_MITIGATOR,
EmptyMitigator = _reflection.GeneratedProtocolMessageType('EmptyMitigator', (_message.Message,), {
  'DESCRIPTOR' : _EMPTYMITIGATOR,
  '__module__' : 'l3_attackmitigator_pb2'
  # @@protoc_insertion_point(class_scope:empty_mitigator)
  # @@protoc_insertion_point(class_scope:EmptyMitigator)
  })
_sym_db.RegisterMessage(empty_mitigator)
_sym_db.RegisterMessage(EmptyMitigator)

output = _reflection.GeneratedProtocolMessageType('output', (_message.Message,), {
Output = _reflection.GeneratedProtocolMessageType('Output', (_message.Message,), {
  'DESCRIPTOR' : _OUTPUT,
  '__module__' : 'l3_attackmitigator_pb2'
  # @@protoc_insertion_point(class_scope:output)
  # @@protoc_insertion_point(class_scope:Output)
  })
_sym_db.RegisterMessage(output)
_sym_db.RegisterMessage(Output)



_L3_ATTACKMITIGATOR = _descriptor.ServiceDescriptor(
  name='l3_attackmitigator',
  full_name='l3_attackmitigator',
_L3ATTACKMITIGATOR = _descriptor.ServiceDescriptor(
  name='L3Attackmitigator',
  full_name='L3Attackmitigator',
  file=DESCRIPTOR,
  index=0,
  serialized_options=None,
  create_key=_descriptor._internal_create_key,
  serialized_start=263,
  serialized_end=383,
  serialized_start=332,
  serialized_end=446,
  methods=[
  _descriptor.MethodDescriptor(
    name='send_output',
    full_name='l3_attackmitigator.send_output',
    name='SendOutput',
    full_name='L3Attackmitigator.SendOutput',
    index=0,
    containing_service=None,
    input_type=_OUTPUT,
    output_type=_EMPTY_MITIGATOR,
    output_type=_EMPTYMITIGATOR,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='get_mitigation',
    full_name='l3_attackmitigator.get_mitigation',
    name='GetMitigation',
    full_name='L3Attackmitigator.GetMitigation',
    index=1,
    containing_service=None,
    input_type=_EMPTY_MITIGATOR,
    output_type=_EMPTY_MITIGATOR,
    input_type=_EMPTYMITIGATOR,
    output_type=_EMPTYMITIGATOR,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
])
_sym_db.RegisterServiceDescriptor(_L3_ATTACKMITIGATOR)
_sym_db.RegisterServiceDescriptor(_L3ATTACKMITIGATOR)

DESCRIPTOR.services_by_name['l3_attackmitigator'] = _L3_ATTACKMITIGATOR
DESCRIPTOR.services_by_name['L3Attackmitigator'] = _L3ATTACKMITIGATOR

# @@protoc_insertion_point(module_scope)
+32 −32
Original line number Diff line number Diff line
@@ -2,10 +2,10 @@
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from . import l3_attackmitigator_pb2 as l3__attackmitigator__pb2
import l3_attackmitigator_pb2 as l3__attackmitigator__pb2


class l3_attackmitigatorStub(object):
class L3AttackmitigatorStub(object):
    """Missing associated documentation comment in .proto file."""

    def __init__(self, channel):
@@ -14,29 +14,29 @@ class l3_attackmitigatorStub(object):
        Args:
            channel: A grpc.Channel.
        """
        self.send_output = channel.unary_unary(
                '/l3_attackmitigator/send_output',
                request_serializer=l3__attackmitigator__pb2.output.SerializeToString,
                response_deserializer=l3__attackmitigator__pb2.empty_mitigator.FromString,
        self.SendOutput = channel.unary_unary(
                '/L3Attackmitigator/SendOutput',
                request_serializer=l3__attackmitigator__pb2.Output.SerializeToString,
                response_deserializer=l3__attackmitigator__pb2.EmptyMitigator.FromString,
                )
        self.get_mitigation = channel.unary_unary(
                '/l3_attackmitigator/get_mitigation',
                request_serializer=l3__attackmitigator__pb2.empty_mitigator.SerializeToString,
                response_deserializer=l3__attackmitigator__pb2.empty_mitigator.FromString,
        self.GetMitigation = channel.unary_unary(
                '/L3Attackmitigator/GetMitigation',
                request_serializer=l3__attackmitigator__pb2.EmptyMitigator.SerializeToString,
                response_deserializer=l3__attackmitigator__pb2.EmptyMitigator.FromString,
                )


class l3_attackmitigatorServicer(object):
class L3AttackmitigatorServicer(object):
    """Missing associated documentation comment in .proto file."""

    def send_output(self, request, context):
    def SendOutput(self, request, context):
        """Sends a greeting
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def get_mitigation(self, request, context):
    def GetMitigation(self, request, context):
        """Sends another greeting
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
@@ -44,30 +44,30 @@ class l3_attackmitigatorServicer(object):
        raise NotImplementedError('Method not implemented!')


def add_l3_attackmitigatorServicer_to_server(servicer, server):
def add_L3AttackmitigatorServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'send_output': grpc.unary_unary_rpc_method_handler(
                    servicer.send_output,
                    request_deserializer=l3__attackmitigator__pb2.output.FromString,
                    response_serializer=l3__attackmitigator__pb2.empty_mitigator.SerializeToString,
            'SendOutput': grpc.unary_unary_rpc_method_handler(
                    servicer.SendOutput,
                    request_deserializer=l3__attackmitigator__pb2.Output.FromString,
                    response_serializer=l3__attackmitigator__pb2.EmptyMitigator.SerializeToString,
            ),
            'get_mitigation': grpc.unary_unary_rpc_method_handler(
                    servicer.get_mitigation,
                    request_deserializer=l3__attackmitigator__pb2.empty_mitigator.FromString,
                    response_serializer=l3__attackmitigator__pb2.empty_mitigator.SerializeToString,
            'GetMitigation': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMitigation,
                    request_deserializer=l3__attackmitigator__pb2.EmptyMitigator.FromString,
                    response_serializer=l3__attackmitigator__pb2.EmptyMitigator.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'l3_attackmitigator', rpc_method_handlers)
            'L3Attackmitigator', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class l3_attackmitigator(object):
class L3Attackmitigator(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def send_output(request,
    def SendOutput(request,
            target,
            options=(),
            channel_credentials=None,
@@ -77,14 +77,14 @@ class l3_attackmitigator(object):
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/l3_attackmitigator/send_output',
            l3__attackmitigator__pb2.output.SerializeToString,
            l3__attackmitigator__pb2.empty_mitigator.FromString,
        return grpc.experimental.unary_unary(request, target, '/L3Attackmitigator/SendOutput',
            l3__attackmitigator__pb2.Output.SerializeToString,
            l3__attackmitigator__pb2.EmptyMitigator.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def get_mitigation(request,
    def GetMitigation(request,
            target,
            options=(),
            channel_credentials=None,
@@ -94,8 +94,8 @@ class l3_attackmitigator(object):
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/l3_attackmitigator/get_mitigation',
            l3__attackmitigator__pb2.empty_mitigator.SerializeToString,
            l3__attackmitigator__pb2.empty_mitigator.FromString,
        return grpc.experimental.unary_unary(request, target, '/L3Attackmitigator/GetMitigation',
            l3__attackmitigator__pb2.EmptyMitigator.SerializeToString,
            l3__attackmitigator__pb2.EmptyMitigator.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
Loading