Gregory Nutt
6d93658ff8
Add new configuratin CONFIG_NET_MCASTGROUP. This option is selected automatically if either CONFIG_NET_IGMP or CONFIG_NET_MLD are selected. Most conditional logic based on CONFIG_NET_IGMP replaced with conditioning on CONFIG_NET_MCASTGROUP.
2018-10-31 15:03:51 -06:00
Gregory Nutt
9bc951a335
Rename devif_loopback_out to devi_loopback
2018-08-25 08:33:21 -06:00
Xiang Xiao
0074afa0ac
net/netdev: add devif_loopback_out() to check the loopback case where a packet is being sent to itself. Modify the net driver to call this function in this case. This function will simply re-inject the packet back into the network and the network driver will not put anything on the wire.
2018-08-24 09:21:33 -06:00
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
8d5b225928
arch/arm/src/stm32: If Ethernet initialization failures (per previous commit), then do not register the uninitialized Ethernet device. Ths prevents any use of the badly initialized interface.
2018-03-27 15:33:59 -06:00
Sebastien Lorquet
7019d561b1
On STM32, in case of PHY failure, usually because of the lack of 25/50 MHz REFCLK input, the Ethernet block would lock up in a while loop waiting for readiness, which will never happened. This prevented the board from starting at all in the case of a PHY failure. This commit adds a retry loop to avoid bricking the board if the Ethernet block is unable to start.
2018-03-27 08:14:39 -06:00
Gregory Nutt
b54ffe858a
Standardization of some function headers.
2018-03-13 09:52:27 -06:00
Gregory Nutt
a8b6be4aaf
The existence of the network driver ioctl() method should depend on CONFIG_NETDEV_IOCTL rather than CONFIG_NETDEV_PHY_IOCTL. The former enables the method, the later enables a subset of possible driver IOCTLs. This change should be basically a no-operation. The affected ioctl methods only support those subset of driver IOCTLs selected by CONFIG_NETDEV_PHY_IOCTL and the network logic will tolerate a nul ioctl method.
2018-01-22 08:17:45 -06:00
Gregory Nutt
47be509d79
Rename CONFIG_STM32_STM32F40XX to CONFIG_STM32_STM32FXXXX since it is used by F4 parts other than F40x
2017-07-06 10:20:14 -06:00
Gregory Nutt
989195cec8
STM32 Ethernet: Last patch breaks every board that does not use the KSZ80801 PHY.
2017-05-17 15:36:57 -06:00
Gregory Nutt
aac3a3df8e
STM32 Ethernet: Should not stm32_phyintenable() return a failure if it could not enable the PHY interrupt?
2017-05-17 10:07:09 -06:00
Sebastien Lorquet
2c6ea23aee
STM32 Ethernet: Add support for KSZ8081 PHY interrupts.
2017-05-17 10:04:49 -06:00
Gregory Nutt
0de294a586
Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they.
2017-05-11 13:35:56 -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
fb42844788
STM32: Fix a comment
2017-04-02 12:32:20 -06:00
Gregory Nutt
7bb19ad8bc
STM32 Ethernet: Remove unused variable warning.
2017-03-03 15:24:00 -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
Gregory Nutt
c7943586d8
STM32 Ethernet: Need two work structures so that pending poll work is not lost when an interrupt occurs.
2017-03-02 11:40:12 -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
934aded293
arch/: Adapt all Ethernet drivers to work as though CONFIG_NET_MULTIBUFFER were set. Remove all references to CONFIG_NET_MULTIBUFFER
2016-11-29 16:06:48 -06:00
Gregory Nutt
0804286ad3
arch/: Add option to use low-priority work queue to all Ethernet drivers in arch that support CONFIG_NET_NOINTS.
2016-11-19 09:20:01 -06:00
Neil Hancock
ef475eb6a9
STM32 Ethernet: Correct typo in conditional logic
2016-10-01 07:32:41 -06:00
Mateusz Szafoni
9742757f26
Remove GPIO_ETH_RMII_TX_CLK. TX_CLK is not present in RMII
2016-09-22 10:05:45 +02:00
Gregory Nutt
9c3bade7b4
net/tcp: tcp_ipvX_bind() not actually using the ported selected with port==0. Also removes duplicate call to pkt_input(). Issues noted by Pascal Speck.
2016-08-30 07:59:57 -06:00
Gregory Nutt
ae37c9859f
Cosmetic changes from review of PR 120
2016-08-19 06:32:28 -06:00
Michał Łyszczek
0f175039ad
Fix compilation warnings for stm32 eth with certain configs
2016-08-19 09:18:18 +02: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
d20128cc11
STM32: In big change off err() to info(), several debug statements lost their ll property.
2016-06-18 07:40:27 -06:00
Gregory Nutt
a63072d080
Fix yet more typos from the last commits
2016-06-16 15:06:13 -06:00
Gregory Nutt
6c1678d1d9
STM32 Ethernet: Fix a bad cut and paster error from recent changes
2016-06-16 12:35:57 -06:00
Gregory Nutt
f9652812e2
Change *err() to either info() or err(ERROR:..), depending upon if an error has occurred.
2016-06-16 09:38:16 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2
Rename *lldbg to *llerr
2016-06-11 14:55:27 -06:00
Gregory Nutt
1cdc746726
Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES
2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
f65616f872
Replace confusing references to uIP with just 'the network'
2016-05-30 09:16:32 -06:00
Gregory Nutt
70e502adb0
Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section()
2016-02-13 19:11:09 -06:00
Gregory Nutt
1166e311b0
Networking: Remove the HSEC argument from devif_timer.
2016-02-03 11:17:15 -06:00
Gregory Nutt
d2b2cd3415
Duplicate Manuel's EMAC driver fix to every other driver that supports CONFIG_NET_NOINTS
2016-02-03 10:33:22 -06:00
Manuel Stuehn
7236e742ab
STM32 Ethernet: Fix a cornercase where the TX poll timer is not restarted.
2016-02-03 08:24:49 -06:00
Gregory Nutt
53f6fd6e66
STM32: Correct some spacing issues
2015-10-07 13:45:15 -06:00
Ilya Averyanov
f2b5f05124
STM32 Ethernet: stm32_ifdown() prototyped twice
2015-09-02 08:23:45 -06:00
Paul A. Patience
a0dc724a5d
Correct #if to #ifdef when the macro can be undefined. Fix bug in AT32UC3 clock initialization: AVR32_CLOCK_PLL_OSC1 should be AVR32_CLOCK_PLL0_OSC1 and AVR32_CLOCK_PLL1_OSC1.
2015-09-01 13:47:06 -04:00
Gregory Nutt
0db7ac92d9
Minor coding style fixes in last commit; remove some unneeded debug output
2015-08-19 07:54:46 -06:00
SaeHie Park
75626fb071
STM32: Fix eth mem leak in recvframe
2015-08-19 15:40:04 +09:00
Gregory Nutt
ba6c0b3fa3
Fix more common typos
2015-08-16 11:06:29 -06:00
Sebastien Lorquet
7f7082f938
Extend STM32 Ethernet operating frequency to 180MHz:
...
-Extend frequency range options to 180 MHz for STM32 ETH_MACMIIA_CR
-Fix a typo in a frequency range option in LPC43
-Only configure the PPS GPIO if the PTP protocol is enabled
From Sebastien Lorquet
2015-07-17 07:44:12 -06:00