GSOC 2015 - NE2000 emulation in bhyve Status

Alex Teaca ionutalex.teaca at gmail.com
Wed Aug 5 21:29:18 UTC 2015


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 at 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 at 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 at 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 at 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 at 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
>>>>>
>>>>>
>>>>
>>>
>>
>


More information about the soc-status mailing list