Gregory Nutt
22cd0d47fa
This commit attempts remove some long standard confusion in naming and some actual problems that result from the naming confusion. The basic problem is the standard MTU does not include the size of the Ethernet header. For clarity, I changed the naming of most things called MTU to PKTSIZE. For example, CONFIG_NET_ETH_MTU is now CONFIG_NET_ETH_PKTSIZE.
...
This makes the user interface a little hostile. People thing of an MTU of 1500 bytes, but the corresponding packet is really 1514 bytes (including the 14 byte Ethernet header). A more friendly solution would configure the MTU (as before), but then derive the packet buffer size by adding the MAC header length. Instead, we define the packet buffer size then derive the MTU.
The MTU is not common currency in networking. On the wire, the only real issue is the MSS which is derived from MTU by subtracting the IP header and TCP header sizes (for the case of TCP). Now it is derived for the PKTSIZE by subtracting the IP header, the TCP header, and the MAC header sizes. So we should be all good and without the recurring 14 byte error in MTU's and MSS's.
Squashed commit of the following:
Trivial update to fix some spacing issues.
net/: Rename several macros containing _MTU to _PKTSIZE.
net/: Rename CONFIG_NET_SLIP_MTU to CONFIG_NET_SLIP_PKTSIZE and similarly for CONFIG_NET_TUN_MTU. These are not the MTU which does not include the size of the link layer header. These are the full size of the packet buffer memory (minus any GUARD bytes).
net/: Rename CONFIG_NET_6LOWPAN_MTU to CONFIG_NET_6LOWPAN_PKTSIZE and similarly for CONFIG_NET_TUN_MTU. These are not the MTU which does not include the size of the link layer header. These are the full size of the packet buffer memory (minus any GUARD bytes).
net/: Rename CONFIG_NET_ETH_MTU to CONFIG_NET_ETH_PKTSIZE. This is not the MTU which does not include the size of the link layer header. This is the full size of the packet buffer memory (minus any GUARD bytes).
net/: Rename the file d_mtu in the network driver structure to d_pktsize. That value saved there is not the MTU. The packetsize is the memory large enough to hold the maximum packet PLUS the size of the link layer header. The MTU does not include the link layer header.
2018-07-04 14:10:40 -06:00
Gregory Nutt
cb374e6e62
arch/: Clean up some naming and spacing.
2018-06-20 15:38:06 -06:00
Gregory Nutt
548cd2892a
arch/arm/src/imxrt and configs/imxrt1050-evk: Add PHY access support needed to support the network monitor. Cannot enable it yet... I am getting hardfaults when I enable the PHY interrupt.
2018-05-25 13:02:41 -06:00
Gregory Nutt
b54ffe858a
Standardization of some function headers.
2018-03-13 09:52:27 -06:00
Gregory Nutt
d04f166d84
arch/arm/src/lpc54xx: Add some hooks for future 802.1q VLAN support. configs/lpcxpresso-lpc54628: Automatically bring up network in the netnsh configuration.
2018-01-02 08:49:09 -06:00
Gregory Nutt
3c65be8c1a
arch/arm/src/lpc54xx: Fix a few more Ethernet issues related to buffer management and address filtering.
2018-01-01 08:54:31 -06:00
Gregory Nutt
f23fb9dd14
arch/arm/src/lpc54xx: Completes basic packet transfer logic for Ethernet drivers. Still some unfinished logic for IPv6 multicast logic and for various non-mainstream configurations. But it is ready for tested. configs/lpcxpresso-lpc54628: Add a netnsh configuration that will be used to test the Ethernet driver. Untested on initial commit.
2017-12-30 12:51:57 -06:00
Gregory Nutt
6315f6468d
arch/arm/src/lpc54xx: Adds basic Ethernet interrupt handling. Still missing all of the descriptor and packetk buffer handling logic.
2017-12-29 14:29:52 -06:00
Gregory Nutt
31330b2479
arch/arm/src/lpc54xx: Add a little -- very little -- Ethernet initialization logic.
2017-12-26 16:30:57 -06:00
Gregory Nutt
f5c5f89592
arch/arm/src/lpc54xx: Add (incomplete) Ethernet register definition file. Add framework for an Ethernet driver. Initial commit is just the drivers/skeleton.c with naming updated for the LPC54.
2017-12-26 12:55:58 -06:00
Gregory Nutt
6bd744c4b3
Fix some minor issues in drivers/net/skeleton.c
2017-07-24 15:38:13 -06:00
Gregory Nutt
79256573e1
net: network drver now retains Ethernet MAC address in a union so that other link layer addresses may be used in a MULTILINK environment.
2017-04-22 11:10:30 -06:00
Gregory Nutt
78bc1aa6bc
Argument of network device IOCTL should be unsigned long, just as will all other IOCTL methods.
2017-04-15 09:33:27 -06:00
Gregory Nutt
55c95442e1
drivers/net/skeleton.c: Add support for IOCTL handling.
2017-04-13 09:53:38 -06:00
Gregory Nutt
a1aca89d61
drivers/net/skeleton.c: Use more common 'Name:' vs. 'Function:'
2017-04-08 13:55:23 -06:00
Gregory Nutt
8b8ddd05c2
Fix some old-style interrupt handling logic in drivers/net/skeleton.c
2017-04-08 13:30:30 -06:00
Gregory Nutt
52ead055fd
6loWPAN: Beginning of IEEE802.15.4 frame input logic.
2017-04-01 09:07:49 -06:00
Gregory Nutt
c976a66f8d
net/drivers/skeleton.c: Back out serialization changes of the last commit. They are not necessary in the skeleton.c example because the calls to net_lock() at the beginning of each worker function will enforce serialization.
2017-03-04 11:33:36 -06:00
Gregory Nutt
e2eb5f1ae0
drivers/net: Add framework for serialization in the case where multiple low-priority work queues are used.
2017-03-04 09:45:09 -06:00
Gregory Nutt
86239d4a73
Experimental change to STM32 Ethernet driver a success. Porting change to all other Ethernet drivers.
2017-03-03 14:45:09 -06:00
Mark Schulte
b3222bbc8a
irq_dispatch: Add argument pointer to irq_dispatch
...
Provide a user defined callback context for irq's, such that when
registering a callback users can provide a pointer that will get
passed back when the isr is called.
2017-02-27 06:27:56 -06:00
Gregory Nutt
8ee2e8d8b0
Most Ethernet drviers: Check if the poll timer is running before restarting it at the end of each TX.
2017-02-24 15:58:17 -06:00
Gregory Nutt
7467329a98
Eliminate CONFIG_NO_NOINTS. Lots of files changed -> lots of testing needed.
2016-12-03 16:28:19 -06:00
Gregory Nutt
ad3897531f
C5471 Ethernet now supports CONFIG_NET_NOINTS
2016-12-03 12:17:55 -06:00
Gregory Nutt
43459fe75e
DM09x0 Ethernet now supports CONFIG_NET_NOINTS
2016-12-03 11:42:15 -06:00
Gregory Nutt
eba1e076ec
PIC32MX/Z Ethernet: Now supports CONFIG_NET_NOINT
2016-12-03 09:50:14 -06:00
Gregory Nutt
bfa1da14e2
LM3S Ethernet now supports CONFIG_NET_NOINTS
2016-12-03 08:32:49 -06:00
Gregory Nutt
96be43b270
drivers/net/: Adapt all Ethernet drivers to work as though CONFIG_NET_MULTIBUFFER were set. Remove all references to CONFIG_NET_MULTIBUFFER
2016-11-29 16:44:23 -06:00
Gregory Nutt
936b55f608
drivers/net: Add option to use low-priority work queue to all drivers in drivers/net. Not yet added to all architecture-specific network drivers.
2016-11-18 09:22:49 -06:00
Gregory Nutt
43eb04bb8f
Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info().
2016-06-20 11:59:15 -06:00
Gregory Nutt
efb02f2ef1
drivers/: Change some nerr() ERRORS to nwarn() WARNINGS. Anomolous network evernts are not errors.
2016-06-12 08:31:22 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
2244ed46bc
nuttx/drivers: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section()
2016-02-14 07:32:58 -06:00
Gregory Nutt
dea24c503a
Networking: Remove the HSEC argument from devif_timer.
2016-02-03 12:12:41 -06:00
Gregory Nutt
42c365aab1
Duplicate Manuel's EMAC driver fix to every other driver that supports CONFIG_NET_NOINTS
2016-02-03 10:34:10 -06:00
Gregory Nutt
2a93c66948
include/nuttx/net/netdev.h and several Ethernet drivers in arch/: Most network drivers to not support statistics. Those that do only support them when DEBUG is enabled. Each driver collects an architecture specific set of statistics and there is no mechanism in place to view those statistics. Thus, the driver feature was mostly useless. This change standardizes the driver statistics and puts the definition in the common network device structure defined in netdev.h where they can be accessed by network applications. All Ethernet drivers that collect statistics have been adapted to use these common statistics.
2015-11-26 12:08:09 -06:00
Gregory Nutt
cf14f8d1b5
drivers/: Fixes to spacing and alignement
2015-10-10 10:41:00 -06:00
Gregory Nutt
3018dc31e5
Network local loopback: Another structural simplication
2015-08-24 16:08:17 -06:00
Gregory Nutt
933d74e5c1
Networking: With these changes, I can ping the local loopback device from the simulator
2015-08-24 13:49:12 -06:00
Gregory Nutt
0b012c7978
Fix some initial loop back device compilation errors; mark configuration as EXPERIMENTAL
2015-08-24 11:29:54 -06:00
Anton D. Kachalov
cbd4586cad
[drivers/net/skeleton] Add missed #endif
...
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
2015-07-30 23:16:34 +03:00
Anton D. Kachalov
f230c87fba
Fix a type in the network driver skeleton file.
2015-07-29 16:08:56 -06:00
Gregory Nutt
4f05c80794
LPC17xx Ethernet: Improve CONFIG_NET_NOINTS implementation
2015-06-01 08:07:32 -06:00
Gregory Nutt
e7470e0834
Update dates in all skeleton files
2015-02-13 06:13:34 -06:00
Gregory Nutt
94d3c68013
Oops... Conditioned on IPv4 wheren IPv6 was intended
2015-02-09 14:16:32 -06:00
Gregory Nutt
3384274087
Fix IPv4-dependend debug output
2015-02-09 13:18:31 -06:00
Gregory Nutt
8a28f7fc5d
Networkin: Fix an error in network driver skeleton file
2015-02-09 12:49:09 -06:00
Gregory Nutt
a9c71630e1
Add IPv6 support to network driver skeleton and to SAMA5D4 Ethernet driver (which, unfortunately is still missing address filtering logi)
2015-02-05 10:49:32 -06:00
Gregory Nutt
32d2a4c548
All Ethernet drivers (again): Missed one place where arp_out() is called and neighber_out() needs to be called
2015-01-21 11:36:33 -06:00