FPGA_Webserver

A work-in-progress for what is to be a software-free web server for static content.

  • 所有者: hamsternz/FPGA_Webserver
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

I'm slowly building a hardware-based web server.

Feel free to look around, but it is not yet anywhere near working

Status

  • ARP replies sent at Gigabit speeds
  • ICMP is working at Gigabit speeds
  • UDP RX & TX works at Gigabit speeds

TODO LIST OF MINOR ISSUES THAT I DON'T WANT TO FORGET

Inbound packet processing

  • Inbound packet reception errors should cause the packet to be dropped.

  • Inbound packet CRC verification is not being performed - should cause
    packet to dropped

  • Inbound packet MAC filtering not coded - should only accept packets
    for 'our_mac' or the broadcast MAC. This could be handled the same as
    CRC or reception errors (where the FIFO can be rolled back). Doing this
    in one place could save resources.

TCP/IP Session protocol

  • Can establish a TCP/IP session
  • Sends ACKs for incoming data
  • Currently listens on port 80 for any incoming connections
  • Replies with 'FPGA says "Hi"\r\n' to any incoming packets that contains data
  • Tears down session when remote end closes

TCP/IP packet support - mostly finished

  • TCP RX IP Checksum is not being validated
  • TCP RX TCP Checksum is not being validated

UDP Support - mostly finished

  • UDP TX cannot send a packet without any data

  • UDP RX IP Checksum is not being validated

  • UDP RX UDP Checksum is not being validated

  • UDP RX of a packet with no data will not result in anything that the
    consuming design can see.

ICMP Support - mostly finished

  • ICMP 'echo request' is not validating that the IP checksum is correct
  • ICMP 'echo request' is not validating that the ICMP length field is correct.
  • ICMP 'echo request' is not validating that the ICMP checksum is correct

Outbound packet processing

  • Outbound packets are not being sent correctly for 10 & 100Mbps speed.
    This requies a 4k FIFO, which will block the arbiter when less than
    1600 entries are free (enough for a packet and some loop latency)

主要指標

概覽
名稱與所有者hamsternz/FPGA_Webserver
主編程語言VHDL
編程語言VHDL (語言數: 1)
平台
許可證MIT License
所有者活动
創建於2016-05-21 03:10:19
推送於2016-06-30 20:06:06
最后一次提交2016-07-01 08:05:41
發布數0
用户参与
星數794
關注者數85
派生數43
提交數43
已啟用問題?
問題數1
打開的問題數1
拉請求數1
打開的拉請求數0
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?