Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Aug 2015 23:33:55 +0300
From:      Alex Teaca <ionutalex.teaca@gmail.com>
To:        soc-status@freebsd.org
Cc:        Gavin Atkinson <gavin@freebsd.org>
Subject:   Re: GSOC 2015 - NE2000 emulation in bhyve Status
Message-ID:  <CAP0yNuq=G3WxQ8Zg1zdasKwMPtHh2NWcNtOVyy%2Byq7pA-gUp5w@mail.gmail.com>
In-Reply-To: <CAP0yNuoiSD4xByzVMZRDs1PHG1FBG5MTMQZQjV7-uRJyu43mBQ@mail.gmail.com>
References:  <CAP0yNuosFai3TXthROnrHt9723fR5zvxuggHDzsxYpumxiYrQw@mail.gmail.com> <CAP0yNupwSYPMnSiC0U897JRuCgLSnmYLOoHsr9WTJg6mv34syw@mail.gmail.com> <CAP0yNupM5qG2AR-8Rpmg6O2GOns-ecehACpifQmvnLmiysjrSg@mail.gmail.com> <CAP0yNurX%2B7NaGw4LAOH3BXHLOse4aCunG2a8TRkbAiBSJ=o2ug@mail.gmail.com> <CAP0yNur018ANC3BOCioFTMDMA_ynbVG7_1LQOOoeGs3n=ZUMLQ@mail.gmail.com> <CAP0yNupNukFw4g63m_1Fzk1GunhMV7dkp7w_ETSS%2BJUjcJ6VBw@mail.gmail.com> <CAP0yNuoiSD4xByzVMZRDs1PHG1FBG5MTMQZQjV7-uRJyu43mBQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

- I've redesign the implementation in order to add the LPC attachment
- implement the LPC attachment of the NE2000 emulation
- update the wiki page with the final results, tests and performance
measured [0]

https://wiki.freebsd.org/SummerOfCode2015/NE2000EmulationForBhyve

Thanks,
Alex




On Tue, Aug 18, 2015 at 2:05 PM, Alex Teaca <ionutalex.teaca@gmail.com>
wrote:

> Hi,
>
> I've measured the performance of the NE2000 implementation. I will update
> the project wiki page with the results I've got.
>
> 2 commits related with the software reset state:
> - redesign the emulation of the CR register
> - implement the software reset workaround, and the software reset routine
> Practically, they've fixed a bug, because the emulator was able to receive
> traffic when the interface was down. From now on the packets are dropped.
>
> Started to research on the ISA attachment of the ne2k emulation.
>
> Thanks,
> Alex
>
>
> On Thu, Aug 6, 2015 at 12:29 AM, Alex Teaca <ionutalex.teaca@gmail.com>
> wrote:
>
>> Hi,
>>
>> - handle the received multicast traffic
>> - accept the frames in the Promiscuous mode for the destination
>> addresses that do not match the station's address
>>
>> Thanks,
>> Alex
>>
>>
>>
>> On Wed, Jul 29, 2015 at 7:08 PM, Alex Teaca <ionutalex.teaca@gmail.com>
>> wrote:
>>
>>> Hi,
>>>
>>> - I've added support for the read-only registers from the page0
>>> - handle the monitor mode of the NIC
>>> - lock the reception flow with the .pe_barwrite and .pe_barwrite flows
>>>
>>> At the moment I am going to handle the multicast traffic and promiscuous
>>> mode.
>>>
>>> Thanks,
>>> Alex
>>>
>>>
>>> On Sat, Jul 11, 2015 at 12:27 PM, Alex Teaca <ionutalex.teaca@gmail.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I've implemented the reception protocol of the NE2000 nic card. In
>>>> order to test it, I send in both directions (from guest to host and from
>>>> host to guest) big files (about 350M)
>>>> and it works without any problems.
>>>>
>>>> At the moment, I want to implement a mechanism to lock the access on
>>>> the shared resources between the tx and rx flows.
>>>>
>>>> Thanks,
>>>> Alex
>>>>
>>>>
>>>>
>>>> On Sun, Jun 28, 2015 at 7:16 PM, Alex Teaca <ionutalex.teaca@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> From the last status report:
>>>>>
>>>>> implement 2 commits:
>>>>> - parse the input string parameter and get the tap name and mac
>>>>> address from it
>>>>> - implement some logging and asserts related with the receive buffer
>>>>> ring
>>>>>
>>>>> Also, I start to think about the receive protocol which is the next
>>>>> step of the implementation by reading the specification from the datasheet
>>>>> and understanding the implementation of the ED driver regarding the
>>>>> way it receives packets from the NE2000 memory. It is pretty clear
>>>>> what we need to implement and after a short design I will be able to
>>>>> implement.
>>>>>
>>>>> Thanks,
>>>>> Alex
>>>>>
>>>>>
>>>>> On Sun, Jun 14, 2015 at 11:37 PM, Alex Teaca <
>>>>> ionutalex.teaca@gmail.com> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> At the moment I am able to configure an IP address on the network
>>>>>> interface corresponding to the NE2000 NIC. When I ping
>>>>>> to the host IP, the tcpdump catches both ARP Request (sent by the
>>>>>> guest using the NE2000 card) and an ARP Reply
>>>>>> sent by the host OS. So, there is implemented the transmission
>>>>>> protocol. For reception, the packets are only read
>>>>>> from the tap device when it is notified by the mevent mechanism.
>>>>>>
>>>>>> For mode details, see the commits.
>>>>>>
>>>>>> Thanks,
>>>>>> Alex
>>>>>>
>>>>>>
>>>>>> On Tue, Jun 2, 2015 at 7:45 PM, Alex Teaca <ionutalex.teaca@gmail.com
>>>>>> > wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I've started the implementation of the NE2000 module. At the moment
>>>>>>> the ED driver is able to probe the emulated device (RealTek 8029) and add
>>>>>>> it as a network interface.
>>>>>>>
>>>>>>> Some of the features which are implemented:
>>>>>>> - implement some logging support
>>>>>>> - clone the /usr/src/sys/dev/ed/if_edreg.h register interface from
>>>>>>> the ed driver into the bhyve tree sources
>>>>>>> - implement the NE2000 registers support and an API to access the
>>>>>>> NIC registers (get and set by offset)
>>>>>>> - design and implement the Remote DMA protocol so the ED driver can
>>>>>>> store and load from the NIC's RAM memory
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Alex
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAP0yNuq=G3WxQ8Zg1zdasKwMPtHh2NWcNtOVyy%2Byq7pA-gUp5w>