flat assembler
Message board for the users of flat assembler.

Index > Projects and Ideas > Custom networking devices.

Author
Thread Post new topic Reply to topic
jatos



Joined: 04 Nov 2006
Posts: 20
jatos 29 Apr 2011, 02:32
I want to basically make custom networking devices with a custom protocol. (switch device/PCI cards)

The basic principle of the design is, the switch will be controlled by an Intel CPU. I want incoming data to be read directly onto RAM in the switch, and then CHIP that will send back off the RAM as commanded the CPU.

The PCI cards I want to behave in very similar manner, just controlled by the computers processor.

Ideally, I would like the circuits between switches/PCI cards to be fairly high speed.

I need direction on how to build such a device, and what chips to use. I do not need the chips reading the data todo much else other than read, and basically be able to be programmed to stop reading after so much data has been read, and be programmed to read to a set space of memory. If it can generate an interrupt when its done its job, that would be good, but not essential. I will also need a chip that reads data off from the RAM when told by the CPU.

_________________
Jamie
Post 29 Apr 2011, 02:32
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20460
Location: In your JS exploiting you and your system
revolution 29 Apr 2011, 03:07
Almost all network interface chips do exactly what you explain above. Most have internal buffers also for caching stuff. All you need to add is a DMA controller chip and the CPU (with software) and you're done.

But even the humble NICs that are so cheap to buy do this also. Just program up a driver for your current PC and you are good to go.
Post 29 Apr 2011, 03:07
View user's profile Send private message Visit poster's website Reply with quote
Madis731



Joined: 25 Sep 2003
Posts: 2139
Location: Estonia
Madis731 29 Apr 2011, 17:03
Considering that simple NIC drivers can be written in few hundred lines of assembler, it isn't a huge task to make it support your own protocol on top of that.
http://code.google.com/p/baremetal/source/browse/trunk/os/drivers/net/rtl8139.asm

When you build your own, it takes time and money and testing.
Post 29 Apr 2011, 17:03
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger Reply with quote
jatos



Joined: 04 Nov 2006
Posts: 20
jatos 29 Apr 2011, 20:19
revolution wrote:
Almost all network interface chips do exactly what you explain above. Most have internal buffers also for caching stuff. All you need to add is a DMA controller chip and the CPU (with software) and you're done.

But even the humble NICs that are so cheap to buy do this also. Just program up a driver for your current PC and you are good to go.


How many of them would allow me then to implement the layer 2 protocol, as I don't wish to use Ethernet.

[edit] Actually, better question, so basically most network interface chips would read data received in raw without processing it in any way if told so, without any layer 2 processing?[/edit]

_________________
Jamie
Post 29 Apr 2011, 20:19
View user's profile Send private message Reply with quote
garystampa



Joined: 25 May 2011
Posts: 52
Location: Central FLorida
garystampa 01 Jun 2011, 22:21
The chips I've worked with have no idea about protocols.

You can also implement non IEEE packet sizes. The chips are more powerful than most networks take advantage of due to lots of legacy. I think IPv6 intends to unleash some or all of this lost capability.
Post 01 Jun 2011, 22:21
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.