Date: Tue, 18 Aug 2015 14:05:36 +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: <CAP0yNuoiSD4xByzVMZRDs1PHG1FBG5MTMQZQjV7-uRJyu43mBQ@mail.gmail.com> In-Reply-To: <CAP0yNupNukFw4g63m_1Fzk1GunhMV7dkp7w_ETSS%2BJUjcJ6VBw@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>
next in thread | previous in thread | raw e-mail | index | archive | help
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?CAP0yNuoiSD4xByzVMZRDs1PHG1FBG5MTMQZQjV7-uRJyu43mBQ>