65 Commits

Author SHA1 Message Date
22c260e9dc Merge branch 'master' of epagris.com:epagris/EtherLib 2024-10-06 23:33:56 +02:00
9532b6b274 - EthIntf: packet interception in both directions; DHCP automanage; config loading and storing; info printing
- utils: atoip(), lefttrim()
- ARP: bunch of bugfixes
- TCP, FTP: WIP
- DHCP: mutex; query the FSM state
2024-10-06 23:29:15 +02:00
db50beb71a - EthIntf: checking line status on enabling an interface added
- IODef: llTrigLinkChg added
2024-06-19 16:55:51 +02:00
30f3e890ba - signaling the same link state multiple times fixed
- building as CMake library target added
2024-06-10 14:09:23 +02:00
bb7a8e1f16 - line speed and duplex mode is passed with the link change notification 2024-05-01 18:59:20 +02:00
2e11cc00e9 - EthIntf: automatically discard packets if link is down 2024-05-01 18:28:24 +02:00
7af522335d - interface packet interception capability added 2024-04-30 23:11:22 +02:00
96bc37f271 - FTP, TCP 2024-04-24 22:23:08 +02:00
499b5f030c - EthIntf: filtering double link setting to the same state 2024-04-23 23:36:50 +02:00
0750e952c4 - FTP files added 2024-04-23 23:35:38 +02:00
d14a4e9c2f - BlockingFifo: semaphore management fixed 2024-04-23 23:35:25 +02:00
ca97d1718a - TCP: set_accept_cb() added; semaphore release bugs fixed 2024-04-23 23:33:26 +02:00
cea600b3a4 - FTP basics 2024-04-23 23:31:41 +02:00
612cb471d8 - DHCP: retry storm fixed 2024-04-23 14:00:58 +02:00
d8a657a88d - ethinf transmit queue full notification added 2024-04-23 10:57:04 +02:00
c269f4a8bd - EthIntf thread priority increased to "realtime" 2024-04-17 11:08:11 +02:00
3b5fac3ad8 - adaptation to CMSIS OS2 done 2024-04-17 09:32:00 +02:00
0a6d007c73 - blocking FIFO name collision fixed, by prepending BlockingFifo function names with "eth_"
- CMake integration added
- OS calls got tailored to CMSIS OS2 interface
2024-04-13 16:57:21 +02:00
8a5c800fd3 - BlockingFifo implemented
- get_interface_by_address() added
- HTTP server initials added
- code added to strip away padding on processing the IP layer by shrinking overall packet size
- load of TCP fixes and improvements
- TCP stream interface added
- TCP window destroy() added and some bugs fixed
2023-11-22 20:55:50 +01:00
038678a597 TCP Connection Manager initials 2023-11-21 11:21:23 +01:00
f0ddddefad - TCP option release added 2023-11-09 08:01:00 +01:00
b39f302a63 - TCP state cleanup added 2023-11-09 07:47:50 +01:00
66121960d7 - TCP auto-cleanup on close fixed 2023-11-09 07:36:54 +01:00
8ed6bc57ad - MemoryPool no more space bug fixed
- TCP client/server initial implementation
- TCPWindow reworked, now without MP
2023-11-05 17:06:31 +01:00
5fa42c0326 - Timer mutex bugs fixed (again...)
- IPRA bugs fixed
2023-11-04 21:52:38 +01:00
ae2c228bda - Clearing global state added
- IPRA timer debugging temporarily added
2023-11-04 20:58:55 +01:00
c01907fdde - Timer update next alarm bug fixed 2023-11-04 20:56:23 +01:00
c165389369 - Timer checked, found no (obvious) bugs
- Dynmem mutex added
- IP reassembler fixed
- More explanation added in comments to the PacketSieve
2023-11-04 20:12:45 +01:00
b8e1a4fe57 Warning gets printed if alloc/free was called from an IRQ 2023-10-31 12:02:40 +01:00
754b43c51a EthInterface: notifications
- queues have been replaced by OS queues
- serving plain interrupts is replaced by queuing events
2023-10-31 12:01:34 +01:00
903258a796 - OS Thread function definition macros have been replaced by typedefs 2023-10-28 07:54:04 +02:00
e83c47b041 - include chaos fixed (partially)
- EthInterface's IODef callback signatures fixed
2023-10-28 07:40:07 +02:00
0add109430 implicit type conversions fixed 2023-10-25 17:41:36 +02:00
e4d27454cd - add tag to CBD
- DHCP state separated
- link change handler added
- timer mutex added
2023-10-15 12:17:37 +02:00
ab8d45932f Timestamping and bunch of bugfix and optimization
- Timestamping management added
- Errors due to reading uninitialized data in ARP fixed
- EthInterface reworked, incoming packet notification and payload readout separated (through which fixing concurrent access problems)
- RX and TX offloads added
- Capability to add a packet sieve layer without prior registration of specific packet class added (this makes it possible to register arbitrary EtherType connection blocks, for example)
2023-04-27 09:38:26 +02:00
30af96f4c9 packet header processing cache added 2023-02-28 12:18:43 +01:00
57d41a823f Semaphore creation parameters changed 2023-02-28 12:00:56 +01:00
40d6417ae4 - ARP and ICMP double free bug fixed
- Memory leak caused by packet drop fixed
- MemoryPool warns about possible double free
2023-02-25 13:46:47 +01:00
11d7431d96 DHCP request fields insufficiency fixed 2023-02-24 15:47:34 +01:00
048aa6f1db DHCP request fields insufficiency fixed 2023-02-24 15:45:43 +01:00
99e7d26e67 packsieve expects dynmem_alloc() allocated payloads, buffers get released when processing is done 2023-02-24 13:03:08 +01:00
a6ee1d3fe5 DHCP proc semaphor replaced with mutex 2023-02-24 12:19:58 +01:00
025f6d09b9 DHCP processing semaphore added 2023-02-24 11:29:32 +01:00
b45e8cd81d -RX queue added
-Multiplatform thread and semaphore definitions added
2023-02-24 11:07:12 +01:00
704fef911f - memory pool area flags simplified 2023-02-15 14:00:04 +01:00
c3e76236a6 DHCP recursive include fixed 2023-02-04 11:18:37 +01:00
ac5fc9c529 -IP reassembler added
-PcktSieve special return functionality added
-ARP multicast learning bug fixed
-include guards have been refactored
-Doxygen style tweaked
2023-02-04 11:04:26 +01:00
8676a392e5 - TCP basic implementation added
- TCPWindow added
- Checksum bug fixed (again)
- CBD introduced
- ConnBlock modified
- PackSieve report funtionality modified to decrease memory consumption
2023-01-30 11:04:46 +01:00
51696f7341 - MemoryPool allocation-deallocation bug fixed
- generic Queue implemented
- PacketRegistry allocation bug fixed
- TCP implementation initials
- ALIGN to type macros added
2023-01-17 08:19:29 +01:00
05288d7a3c - ARP cache auto lookup feature added
- IGMPv2 capabilities added (report membership, leave group)
- ICMP capabilities added (ping)
- Tx Message Queue added
2023-01-14 14:24:56 +01:00