Hi -

This ports Linux's r8169 driver and fixes a bunch of network and
linux_compat issues along the way.  For instance, one fun bug was that
TSO would only work if we initiated the connection (sent the SYN), but
not if we were the server (sent the SYN-ACK).  See the commits for
details.

If ifconfig hangs, it might be hanging on NIC that is waiting for it's
link to come up.  If you have multiple NICs, you'll need to select the
right one (via the MAC) in a config file in /etc/network/local.d/.

Barret



The following changes since commit e5d32777b4b9e08aafe9f34178bb1363e1f7c581:

  linuxemu: fix fcntl GETFL flags (2017-11-01 11:37:43 -0400)

are available in the Git repository at:

  [email protected]:brho/akaros.git rtl8169

for you to fetch changes up to 734fb3e242e2ad6c1079c640525ed6e02f2b9d62:

  mlx4: Use netif_stats for ifstat (2017-11-16 12:19:59 -0500)

----------------------------------------------------------------
View this online at:
https://github.com/brho/akaros/compare/e5d32777b4b9...734fb3e242e2

----------------------------------------------------------------
Barret Rhoden (47):
      net: tcp: Don't increment snd.nxt
      net: Move ip.h to net/ip.h
      net: tcp: Move TCP's headers into net/tcp.h
      net: tcp: Lowercase-ify struct names
      Add Linux's math64.h
      Port Linux's math64 headers
      Add IS_ERR_OR_NULL helper
      Move uninitialized_var() to compiler.h
      Add variants to I_AM_HERE
      x86: Rename VPD (XCC)
      mlx4: bnx2x: Use pci_set_bus_master()
      Update Linux compatibility shims/coccis
      ether: Add Linux's MII code
      ether: Spatch Linux MII files
      ether: Port the Linux MII code
      ether: Fix MTU control variables
      ether: Fix ETHERMAXTU calculations
      ether: Add Linux-compatible netif_stats
      pci: Add cacheline and MWI helpers from Linux
      pci: Update pci_regs.h
      pci: Add a struct device field
      Move srch_linux_pci_tbl to linux_compat.h
      net: tcp: Refactor the tcp header structs
      net: Change transport_header_end -> tranport_offset
      net: Add network_offset to blocks
      net: tcp: Fix TSO for incoming connections
      net: Add an option for RX checksum offload
      qio: Don't make extra empty EBDs
      net: Let ifconfig use NICs other than ether.0
      ether: Add a field for the driver_name
      net: Remove block->checksum
      net: Clarify transport checksum offload
      Encapsulate block metadata better
      net: Split up BCKSUM_FLAGS
      net: Split hw_features out from feat
      net: Add a helper to parse netif_stats
      net: Delay etherbind until the link is up
      net: Remove mbps from ipifc
      net: Add rx_mode to ether/netif
      r8169: Add Linux's RTL 8169 driver
      r8169: Spatch the driver
      r8169: Make the driver compile
      r8169: Port the driver
      net: Remove 9ns's rtl8169 driver
      Fix ttcp rate output string
      Treat jiffies as msec since boot
      mlx4: Use netif_stats for ifstat

 kern/arch/x86/apic9.c                  |    2 +-
 kern/arch/x86/devarch.c                |    2 +-
 kern/arch/x86/div64.h                  |   39 +
 kern/arch/x86/ioapic.c                 |    2 +-
 kern/arch/x86/mp.c                     |    2 +-
 kern/arch/x86/mpacpi.c                 |    2 +-
 kern/arch/x86/msi.c                    |    2 +-
 kern/arch/x86/pci.c                    |   52 +
 kern/arch/x86/pci.h                    |    7 +
 kern/arch/x86/pci_regs.h               |  110 +-
 kern/arch/x86/ros/mmu64.h              |    7 +-
 kern/drivers/dev/acpi.c                |    2 +-
 kern/drivers/dev/capability.c          |    2 +-
 kern/drivers/dev/coreboot.c            |    2 +-
 kern/drivers/dev/ether.c               |   23 +-
 kern/drivers/dev/mnt.c                 |    2 +-
 kern/drivers/dev/pci.c                 |    2 +-
 kern/drivers/dev/pipe.c                |    2 +-
 kern/drivers/dev/random.c              |    2 +-
 kern/drivers/dev/regress.c             |    2 +-
 kern/drivers/dev/root.c                |    2 +-
 kern/drivers/dev/sd.c                  |    2 +-
 kern/drivers/dev/sdiahci.c             |    2 +-
 kern/drivers/dev/sdscsi.c              |    2 +-
 kern/drivers/dev/srv.c                 |    2 +-
 kern/drivers/net/Kbuild                |    3 +-
 kern/drivers/net/bnx2x/bnx2x_cmn.c     |   10 +-
 kern/drivers/net/bnx2x/bnx2x_dev.c     |   22 +-
 kern/drivers/net/bnx2x/bnx2x_ethtool.c |    4 +-
 kern/drivers/net/bnx2x/bnx2x_main.c    |   33 +-
 kern/drivers/net/bnx2x/bnx2x_stats.c   |    9 +-
 kern/drivers/net/bnx2x/bnx2x_vfpf.c    |    4 +-
 kern/drivers/net/ether8139.c           |    6 +-
 kern/drivers/net/ether8169.c           | 1239 -----
 kern/drivers/net/ether82563.c          |   11 +-
 kern/drivers/net/etherigbe.c           |   29 +-
 kern/drivers/net/linux_mii.c           |  651 +++
 kern/drivers/net/linux_mii.h           |  345 ++
 kern/drivers/net/linux_uapi_mii.h      |  158 +
 kern/drivers/net/mlx4/en_netdev.c      |   22 +-
 kern/drivers/net/mlx4/en_port.c        |    5 +-
 kern/drivers/net/mlx4/en_rx.c          |    2 +-
 kern/drivers/net/mlx4/en_tx.c          |    6 +-
 kern/drivers/net/mlx4/main.c           |   13 +-
 kern/drivers/net/mlx4/mlx4_en.h        |    4 +-
 kern/drivers/net/mlx4/mlx4_stats.h     |    4 +-
 kern/drivers/net/r8169.c               | 8860 ++++++++++++++++++++++++++++++++
 kern/drivers/net/udrvr/compat.h        |    1 -
 kern/include/compiler.h                |   10 +
 kern/include/error.h                   |    1 +
 kern/include/linux/compat_todo.h       |  102 +-
 kern/include/linux_compat.h            |  280 +-
 kern/include/math64.h                  |  271 +
 kern/include/{ => net}/ip.h            |  132 +-
 kern/include/net/tcp.h                 |  427 ++
 kern/include/ns.h                      |   23 +-
 kern/include/rendez.h                  |    2 +
 kern/include/stdio.h                   |    9 +-
 kern/kfs/ifconfig                      |   40 +-
 kern/src/init.c                        |    2 +-
 kern/src/ktest/net_ktests.c            |    2 +-
 kern/src/net/arp.c                     |    2 +-
 kern/src/net/devip.c                   |    2 +-
 kern/src/net/dial.c                    |    2 +-
 kern/src/net/eipconv.c                 |    2 +-
 kern/src/net/ethermedium.c             |   14 +-
 kern/src/net/icmp.c                    |    9 +-
 kern/src/net/icmp6.c                   |    2 +-
 kern/src/net/ip.c                      |   19 +-
 kern/src/net/ipaux.c                   |    2 +-
 kern/src/net/ipifc.c                   |    2 +-
 kern/src/net/ipprotoinit.c             |    2 +-
 kern/src/net/iproute.c                 |    2 +-
 kern/src/net/iprouter.c                |    2 +-
 kern/src/net/ipv6.c                    |    5 +-
 kern/src/net/loopbackmedium.c          |    3 +-
 kern/src/net/netaux.c                  |    2 +-
 kern/src/net/netif.c                   |  124 +-
 kern/src/net/netlog.c                  |    2 +-
 kern/src/net/nullmedium.c              |    2 +-
 kern/src/net/pktmedium.c               |    2 +-
 kern/src/net/plan9.c                   |    2 +-
 kern/src/net/ptclbsum.c                |    2 +-
 kern/src/net/tcp.c                     |  607 +--
 kern/src/net/udp.c                     |   14 +-
 kern/src/ns/allocb.c                   |   27 +-
 kern/src/ns/cache.c                    |    2 +-
 kern/src/ns/cleanname.c                |    2 +-
 kern/src/ns/convD2M.c                  |    2 +-
 kern/src/ns/convM2D.c                  |    2 +-
 kern/src/ns/convM2S.c                  |    2 +-
 kern/src/ns/convM2kdirent.c            |    2 +-
 kern/src/ns/convS2M.c                  |    2 +-
 kern/src/ns/dev.c                      |    2 +-
 kern/src/ns/getfields.c                |    2 +-
 kern/src/ns/parse.c                    |    2 +-
 kern/src/ns/pgrp.c                     |    2 +-
 kern/src/ns/qio.c                      |   43 +-
 kern/src/ns/sysfile.c                  |    2 +-
 kern/src/ns/tokenize.c                 |    2 +-
 scripts/spatch/linux/funcs.cocci       |   20 +-
 scripts/spatch/linux/scalar.cocci      |   50 +-
 tests/ttcp.c                           |    8 +-
 103 files changed, 11906 insertions(+), 2113 deletions(-)
 create mode 100644 kern/arch/x86/div64.h
 delete mode 100644 kern/drivers/net/ether8169.c
 create mode 100644 kern/drivers/net/linux_mii.c
 create mode 100644 kern/drivers/net/linux_mii.h
 create mode 100644 kern/drivers/net/linux_uapi_mii.h
 create mode 100644 kern/drivers/net/r8169.c
 create mode 100644 kern/include/math64.h
 rename kern/include/{ => net}/ip.h (88%)
 create mode 100644 kern/include/net/tcp.h

-- 
You received this message because you are subscribed to the Google Groups 
"Akaros" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to