[Engine-devel] port mirroring REST API

Michael Pasternak mpastern at redhat.com
Mon May 21 13:36:53 UTC 2012


On 05/21/2012 04:22 PM, Livnat Peer wrote:
> On 21/05/12 16:19, Michael Pasternak wrote:
>> On 05/21/2012 03:54 PM, Shahar Havivi wrote:
>>> On 21.05.12 15:38, Michael Pasternak wrote:
>>>>
>>>> Hi Livnat,
>>>>
>>>> On 05/21/2012 02:55 PM, Livnat Peer wrote:
>>>>> Hi All,
>>>>>
>>>>> After digging into the port mirroring feature I suggest a different
>>>>> modeling of it in the API.
>>>>>
>>>>> The current modeling is to add to vnic a boolean property of
>>>>> port-mirroring, e.g.
>>>>>
>>>>> api/vms/{vm-id}/nics
>>>>>
>>>>> <nics>
>>>>>  <nic>
>>>>>   ...
>>>>>   <network href="/api/networks/{network-id}" id="{network-id}"/>
>>>>>   <port-mirroring> true </port mirroring>
>>>>>  </nic>
>>>>> </VM>
>>>>>
>>>>> This modeling imply 2 limitations:
>>>>> 1. The vnic must be connected to the network it wants to monitor
>>>>> 2. the nic can mirror only a single network
>>>>>
>>>>> Both of the above limitations are correct to the current implementation.
>>>>> Going forward we might want to introduce the above functionalities and
>>>>> the above modeling won't hold.
>>>>> Instead of the above I suggest to change the port-mirroring property to
>>>>> a list of networks.
>>>>>
>>>>> <nics>
>>>>>  <nic>
>>>>>   ...
>>>>>   <network href="/api/networks/{network-id}" id="{network-id}"/>
>>>>>   <port-mirroring>
>>>>>    <network href="/api/networks/{network-id}" id="{network-id}"/>
>>>>>     ....
>>>>>   </port mirroring>
>>>>>  </nic>
>>>>> </VM>
>>>>>
>>>>> In this version we'll validate that the network under port-mirroring is
>>>>> equal to the network the vnic is connected to, in future versions we can
>>>>> remove this validation without changing the API.
>>>>
>>>> iiuc you saying that in future vnic might be connected to several
>>>> networks simultaneously?
>>> yes, maybe in next version
>>
>> in this case, api should be changed as at the moment we permit single network
>> peer vnic, another option may be:
>>
>>  <nics>
>>   <nic>
>>    ...
>>    <networks>
>>      <network href="/api/networks/{network-id}" id="{network-id}">
>>        <port-mirroring> true </port_mirroring>
>>      </network>
>>      <network href="/api/networks/{network-id}" id="{network-id}">
>>        <port-mirroring> true </port_mirroring>
>>      </network>
>>    </networks>
>>   </nic>
>> </nics>
>>
>> this way we won't have to double network references, only disadvantage
>> of this approach is abuse of network link, but we already have such
>> precedents in api.
> 
> Hi Michael,
> 
> One of the issues I raised was to avoid association between the network
> the nic is attached to and the networks the nic can monitor.
> 
> The implementation in VDSM does not require that the nic will be
> connected to the network in order to monitor it. So going forward we
> might connect the VM nic to intrusion-detection-network while the
> monitoring will be for red network and blue network.
> 
> 
> Thanks, Livnat

in this case +1 on your design.

> 
> 
>>
>>>>
>>>>>
>>>>>
>>>>>
>>>>> Thanks, Livnat
>>>>
>>>>
>>>> -- 
>>>>
>>>> Michael Pasternak
>>>> RedHat, ENG-Virtualization R&D
>>
>>
> 


-- 

Michael Pasternak
RedHat, ENG-Virtualization R&D



More information about the Engine-devel mailing list