#
ef1c9a7f |
|
22-Jul-2019 |
Reto Achermann <reto.achermann@inf.ethz.ch> |
armv8: enable compilations of various network drivers Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
|
#
9bd8d1d5 |
|
03-Apr-2019 |
Reto Achermann <reto.achermann@inf.ethz.ch> |
replacing umlaute and fixing address in headers Haldeneggsteig -> Universitaetsstrasse Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
|
#
5d059064 |
|
14-Dec-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
e10k: enabling advanced descriptors again Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
35ad9455 |
|
16-Aug-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
e10k: added missing memory barrier after writing descriptor Seems to be that the Linux driver does memory barriers and we did not. Might have been the reason for some flaky behaviour Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
a3d6a0a3 |
|
14-Aug-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
e10k: added benchmarking queue more detailed Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
17bd5240 |
|
14-Jun-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
e10k: create correct net_filter interface endpoint (LMP/UMP) Additionally some cleanup of msix variables that are no longer use Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
53ed165b |
|
07-Jun-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
e10k: correctly compute VF number to queue number Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
7da53679 |
|
04-Jun-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
e10k: removed #define from queue header file Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
72e07594 |
|
03-Jun-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
e10k: fixed e10k_queue (merge was wrong) Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
217064b2 |
|
29-Mar-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
e10k: fixed descriptor ring buffer length Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
b1cf07f5 |
|
27-Mar-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
e10k: changed memory allocation to new iommu framework Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
922186b9 |
|
12-Mar-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
e10k: moving devif backend to driver folder Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
1637cfd2 |
|
12-Mar-2018 |
Roni Häcki <roni.haecki@inf.ethz.ch> |
e10k: driver remove unused files Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>
|
#
69b41b96 |
|
18-Apr-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Squashed changes of e89aa91..6ca6bdf (master as of 2016-04-18). Take this commit out when merging Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
587a3ca3 |
|
09-Mar-2016 |
Adam Turowski <adam.turowski@inf.ethz.ch> |
Adding an option to warn about comparisions that are always true or false. Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>
|
#
dfddb708 |
|
26-Nov-2014 |
Timothy Roscoe <troscoe@inf.ethz.ch> |
Ensure all Mackerel files are included explicitly from dev/
|
#
de906f69 |
|
28-Feb-2014 |
Simon Peter <simpeter@cs.washington.edu> |
The Arrakis backport to Barrelfish. Here are the macro changes: * Made lwIP an optional network stack * Moved lwIP headers out of the general include directory * Parallel hake * CPU-virtualized ("arrakis") applications * libarrakis is a new libOS that uses CPU features directly * arrakismon is a new monitor for Arrakis apps * QEMU Multiboot support instead of GRUB (enables KVM) * e10k virtual function driver * Software virtual->physical mapping (substitutes IOMMU) * To be replaced soon with an Intel IOMMU driver * Better GDB and stack tracing support * New POSIX support * pthreads, inet_*(), usleep(), syslimits.h, sigaction(), mman.h, * resource.h, sendmsg(), recvmsg(), mkfifo(), syslog.h, sysexits.h, * fcntl(), getegid(), getgid(), pipe(), rlimits * epoll support * Separate waitset for interrupts * Thread TLS key and ID support * Moved PCRE headers to include/, where they usually are * Intel performance counters support * Handle boot-time RAM overflow (for machines with >=64GB RAM) * Arranet network stack * Fix for build of lib/barrelfish/arch/x86_64/dispatch.c without -O2 * New comandline options to pci daemon: * maxvfs=x, x is number of virtual functions to create for each * device supporting it * skb_bridge_program=x, x is SKB bridge programming script to use * bridge_bios is a script that uses the BIOS pre-set values, like Linux * Correctly build machine-optimized newlib parts * Library versions of e1000 and e10k drivers * Support for virtualization in e10k driver * e10k datacenter control plane daemon * Modified hellotest to be both a Barrelfish and an Arrakis application I've decided not to include the lwIP 1.4.1 code, as the port is not finished and who wants to use lwIP anyway with the Arrakis network stack and mTCP being released soon. If you want this, let me know (it's hugely superior to lwIP 1.3.1). I've made the code backwards-compatible with Barrelfish. The default should do what Barrelfish does. One can specify commandline options to the PCI daemon and e10k driver to configure I/O virtualization and the optional arrakismon allows loading CPU-virtualized "arrakis" programs. There are more pending changes, such as support for hardware rate limiting and weighted round robin packet scheduling, but I'd like these to go in first, before I push the rest.
|
#
4f50b8e5 |
|
24-Jun-2013 |
Antoine Kaufmann <antoinek@student.ethz.ch> |
e10k, lwip: Implement hardware checksum verification for IP/TCP/UDP --- devices/e10k_q.dev | 53 ++++++++++++++++++++++++++++++++++++--- include/net_interfaces/flags.h | 11 ++++++++ lib/lwip/src/core/ipv4/ip.c | 4 ++- lib/lwip/src/core/tcp_in.c | 5 +++- lib/lwip/src/core/udp.c | 4 ++- usr/drivers/e10k/e10k_qdriver.c | 8 +++--- usr/drivers/e10k/e10k_queue.h | 45 +++++++++++++++++++++++++++++++-- 7 files changed, 118 insertions(+), 12 deletions(-)
|
#
979a7e1b |
|
24-Jun-2013 |
Antoine Kaufmann <antoinek@student.ethz.ch> |
e10k: Implement TX checksum offload for IP,TCP,UDP Also modifies lwip to actually use these offloads (currently hardcoded) --- include/ipv4/lwip/inet_chksum.h | 2 - include/net_interfaces/flags.h | 2 + lib/lwip/src/core/ipv4/icmp.c | 3 +- lib/lwip/src/core/ipv4/inet_chksum.c | 3 -- lib/lwip/src/core/ipv4/ip.c | 3 +- lib/lwip/src/core/tcp_out.c | 14 +++++-- lib/lwip/src/core/udp.c | 5 ++- usr/drivers/e10k/e10k_qdriver.c | 52 ++++++++++++++++++++++++- usr/drivers/e10k/e10k_queue.h | 70 ++++++++++++++++++++++++++++------ 9 files changed, 129 insertions(+), 25 deletions(-)
|
#
f4664267 |
|
24-Jun-2013 |
Antoine Kaufmann <antoinek@student.ethz.ch> |
e10k: First (broken) attempt at implementing driver side of RSC If RSC is enabled the RX queue gets somehow stuck (skips a descriptor). --- devices/e10k.dev | 5 +- devices/e10k_q.dev | 5 +- if/e10k.if | 3 +- usr/drivers/e10k/e10k_cdriver.c | 38 ++++++++++++--- usr/drivers/e10k/e10k_qdriver.c | 31 +++++++++---- usr/drivers/e10k/e10k_queue.h | 97 ++++++++++++++++++++++++++++++++++----- 6 files changed, 148 insertions(+), 31 deletions(-)
|
#
62d9f03b |
|
24-Jun-2013 |
Antoine Kaufmann <antoinek@student.ethz.ch> |
e10k: First (broken) attempt at implementing driver side of RSC If RSC is enabled the RX queue gets somehow stuck (skips a descriptor). --- devices/e10k.dev | 5 +- devices/e10k_q.dev | 5 +- if/e10k.if | 3 +- usr/drivers/e10k/e10k_cdriver.c | 38 ++++++++++++--- usr/drivers/e10k/e10k_qdriver.c | 31 +++++++++---- usr/drivers/e10k/e10k_queue.h | 97 ++++++++++++++++++++++++++++++++++----- 6 files changed, 148 insertions(+), 31 deletions(-)
|
#
3b6338a3 |
|
24-Jun-2013 |
Antoine Kaufmann <antoinek@student.ethz.ch> |
e10k: Modified driver to use advanced descriptor format --- devices/e10k_q.dev | 124 +++++++++++++++++++++++++++++++++++++-- usr/drivers/e10k/e10k_cdriver.c | 2 +- usr/drivers/e10k/e10k_qdriver.c | 9 ++- usr/drivers/e10k/e10k_queue.h | 55 +++++++++-------- usr/vmkitmon/pci_ethernet.c | 12 ++-- 5 files changed, 160 insertions(+), 42 deletions(-)
|
#
5d0be51a |
|
24-Jun-2013 |
Antoine Kaufmann <antoinek@student.ethz.ch> |
e10k: Modified driver to use advanced descriptor format --- devices/e10k_q.dev | 124 +++++++++++++++++++++++++++++++++++++-- usr/drivers/e10k/e10k_cdriver.c | 2 +- usr/drivers/e10k/e10k_qdriver.c | 9 ++- usr/drivers/e10k/e10k_queue.h | 55 +++++++++-------- usr/vmkitmon/pci_ethernet.c | 12 ++-- 5 files changed, 160 insertions(+), 42 deletions(-)
|
#
179d0aae |
|
16-Apr-2012 |
Antoine Kaufmann <antoinek@student.ethz.ch> |
e10k: Added support for TX head index write back --- if/e10k.if | 1 + usr/drivers/e10k/e10k_cdriver.c | 16 +++++++++++++++- usr/drivers/e10k/e10k_qdriver.c | 31 +++++++++++++++++++++++++------ usr/drivers/e10k/e10k_queue.h | 17 ++++++++++++----- 4 files changed, 53 insertions(+), 12 deletions(-)
|
#
d601b6c2 |
|
16-Apr-2012 |
Antoine Kaufmann <antoinek@student.ethz.ch> |
e10k: Fix e10k_queue_free_txslots to provide the correct value This function is used to implement the tx_free_slots call back for the queue manager library (which is not used atm so it does not really matter, but after my update of the TX interface it will be needed). --- usr/drivers/e10k/e10k_queue.h | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
|
#
5c08ea28 |
|
16-Apr-2012 |
Antoine Kaufmann <antoinek@student.ethz.ch> |
Moved managing of RX buffers to net_queue_manager library This step is necessary for hardware filtering, since there we need to tell the card directly the addresses of the buffers in the bulk transfer ring. But with SW filtering the library only allocates some intermediate buffers, from where the packet is then copied to the right buffer. --- include/net_queue_manager/net_queue_manager.h | 39 +++++++- lib/net_queue_manager/net_soft_filters_srv_impl.c | 94 +++++++++++++++++- lib/net_queue_manager/queue_manager.c | 13 ++- lib/net_queue_manager/queue_manager_local.h | 8 ++- usr/drivers/e1000/e1000n.c | 105 ++++----------------- usr/drivers/e10k/e10k.c | 51 ++++------ usr/drivers/e10k/e10k_queue.h | 15 +++- usr/drivers/rtl8029/rtl8029.c | 61 +++++++++---- 8 files changed, 236 insertions(+), 150 deletions(-)
|
#
5f573658 |
|
27-Dec-2011 |
Antoine Kaufmann <antoinek@student.ethz.ch> |
Initial commit of e10k driver (Intel 82599 10GbE Nic)
|