freebsd-dev/sys
Toomas Soome da8fb057e5 loader: network read rework
The current read from network is working from up to down - we have some
protocol needing the data from the network, so we build the buffer space
for that protocol, add the extra space for headers and pass this buffer
down to be filled by nif get call in hope, we have guessed the incoming
packet size right. Amazingly enough this approach mostly does work, but
not always...

So, this update does work from down to up - we allocate buffer (based
on MTU or frame size info), fill it up, and pass on for upper layers.
The obvious problem is that when we should free the buffer - if at all.

In the current implementation the upper layer will free the packet on error
or when the packet is no longer needed.

While working on the issue, the additional issue did pop up - the bios
implementation does not have generic get/put interface but is using pxe
udpsend/udpreceive instead. So the udp calls are gone and undi interface
is implemented instead. Which in turn means slight other changes as we
do not need to have duplicated pxe implementation and can just use dev_net.

To align packet content, the actual read from nic is using shifted buffer by
ETHER_ALIGN (2).

Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D10232
2017-05-06 20:32:27 +00:00
..
amd64 pcicfg: Fix direct calls of pci_cfg{read,write} on systems w/o PCI host bridge. 2017-05-04 05:28:46 +00:00
arm [arm] [rt1310] add initial RT1310 SoC code. 2017-05-06 06:14:46 +00:00
arm64 Add reclaim_pv_chunk on arm64. This is based on the amd64 code so should 2017-05-05 10:01:27 +00:00
boot loader: network read rework 2017-05-06 20:32:27 +00:00
bsm Merge OpenBSM 1.2-alpha5 from vendor branch to FreeBSD -CURRENT: 2017-03-26 21:14:49 +00:00
cam Add basic programmable early warning error injection to the sa(4) driver. 2017-05-05 20:00:53 +00:00
cddl Fix a harmless LOR in dtrace_load(). 2017-05-01 17:01:00 +00:00
compat Fix linprocfs_docpuinfo() output regarding to what newer Linux apps expect 2017-05-06 17:37:01 +00:00
conf [mips] [rt2880] Add oldest Ralink MIPS SOC RT2880 support code. 2017-05-06 06:20:34 +00:00
contrib Import Amazon Elastic Network Adapter (ENA) HAL to sys/contrib/ 2017-04-27 19:57:18 +00:00
crypto Fix counter increment in Salsa and ChaCha. 2017-04-22 01:06:23 +00:00
ddb Fix printing of negative offsets (typically from frame pointers) again. 2017-03-26 18:46:35 +00:00
dev [mips] [rt2880] Add oldest Ralink MIPS SOC RT2880 support code. 2017-05-06 06:20:34 +00:00
fs ext2fs: add read-write support for Extended Attributes. 2017-05-03 22:35:41 +00:00
gdb
geom Synchronize unclean mirrors before adding them to a running gmirror. 2017-05-02 23:29:42 +00:00
gnu [mips] [rt2880] Add oldest Ralink MIPS SOC RT2880 support code. 2017-05-06 06:20:34 +00:00
i386 Use kmem_malloc() instead of malloc(9) for the native amd64 filter. 2017-04-17 22:02:09 +00:00
isa
kern Provide a freebsd32 implementation of sigqueue() 2017-05-05 18:49:39 +00:00
kgssapi
libkern armv8 has support for optional CRC32C instructions. This patch checks if they are 2017-04-27 17:53:05 +00:00
mips [mediatek] [gpio] add PPS / interrupt support. 2017-05-06 06:22:14 +00:00
modules cxgbe/t4_tom: Per-connection rate limiting for TCP sockets handled by 2017-05-05 20:06:49 +00:00
net Relax r317696 locking to not drain taskqueue under the lock. 2017-05-05 16:51:53 +00:00
net80211 [net80211] add methods to fetch the global and per-VAP WME parameters. 2017-04-22 02:12:07 +00:00
netgraph Make cached Bluetooth LE host advertise information visible from userland. 2017-04-27 15:03:24 +00:00
netinet Allow SCTP to use the hostcache. 2017-04-29 19:20:50 +00:00
netinet6 Fix an issue with MTU calculation if an ICMP messaeg is received 2017-04-26 20:21:05 +00:00
netipsec Fix SP refcount leak. 2017-04-26 00:34:05 +00:00
netpfil pf: Fix panic on unload 2017-05-03 20:56:54 +00:00
netsmb
nfs
nfsclient Add an NFSv4.1 mount option for "use one openowner". 2017-04-13 21:54:19 +00:00
nfsserver
nlm
ofed All these files need sys/vmmeter.h, but now they got it implicitly 2017-04-17 17:07:00 +00:00
opencrypto Don't leak a session and lock if a GMAC key has an invalid length. 2017-04-05 01:46:41 +00:00
powerpc - Remove 'struct vmmeter' from 'struct pcpu', leaving only global vmmeter 2017-04-17 17:34:47 +00:00
riscv Follow r317061 "Remove struct vmmeter from struct pcpu" 2017-04-19 17:06:32 +00:00
rpc Fix a crash during unmount of an NFSv4.1 mount. 2017-04-10 22:47:18 +00:00
security Break audit_bsm_klib.c into two files: one (audit_bsm_klib.c) 2017-04-03 10:15:58 +00:00
sparc64 Fix a bug introduced as part of r287726; use the right device_t for 2017-04-29 00:53:17 +00:00
sys Provide a freebsd32 implementation of sigqueue() 2017-05-05 18:49:39 +00:00
teken Oops, my fix for bright colors broke bright black some more (in cases 2017-03-27 10:48:28 +00:00
tests
tools
ufs UFS fs.h: clear warning from use in makefs(1) 2017-05-05 15:26:55 +00:00
vm Emulate pre-r317061 ABI. 2017-05-02 18:40:41 +00:00
x86 x86 MCA: Fix a deadlock in MCA exception processing 2017-04-28 18:25:10 +00:00
xdr
xen
Makefile Fix "make cscope-clean" when .OBJDIR already exists 2017-05-01 05:59:52 +00:00