History: mip_udp
This page describes all changes made to the mip_udp package, the UDP module, since its release.
Version
7.8 (2019-11-25, 15:58):
- MISRA-C:2004: violations eliminated.
7.7r2 (2019-11-25, 12:30):
- AutoSAR test report added to the package.
7.7 (2019-05-30, 09:00):
- NULL pointer access could happen if the registered callback function was called by the UDP module just after removing it (due to close or interface drop).
7.6 (2019-02-13, 16:55):
- MISRA-C:2004: violations eliminated.
7.5 (2018-12-14, 12:00):
- MISRA-C:2004: violations eliminated.
7.4 (2018-09-19, 12:55):
- Added IP aliasing support for IPv4.
7.3 (2018-09-10, 09:17):
- Zero length packets can be received from now on and ICMP "Destination unreachable" message is answered if port is not opened.
7.2r2 (2018-08-29, 18:18):
- Document HTML link added to the documentation folder.
- History and document files renamed to the package name.
7.2 (2018-02-02, 14:00)
- Added exclude code macros for parts that are IPv4-specific, so can compile when only IPv6 is enabled.
7.1 (2017-10-04, 08:00):
- Message is dropped when source IP address is multicast or broadcast.
- If received message's destination port is not opened, ICMP destination unreachable message is sent.
- Port can be opened to a specified IP address with udp_open().
6.2:
- udp_open() function header was incomplete.
6.1:
- updated to work with IP base major version 6.
- IP address parameter type was changed in udp_send() function.
5.6:
- updated to work with IP base major version 5.
5.5:
- Checksum calculation and verification can be switched separately for protocols.
5.4:
- udp_release_buf() failed to work correcty if called after a udp_send() that was completed with an error.
5.3:
- accept all packets with zero checksum (according to the RFC, zero checksum means verification is switched off).
- convert zero checksum to -1 for sent packets and set it to zero if checksum is switched off for transmitted packets.
5.2:
- udp_receive() returned incorrect remote port number.
5.1:
- udp_is_data_ready() renamed to udp_rx_ready() and an output parameter added which tells the amount of unread bytes on a port.
- UDP packet length check added.
4.3:
- Received but not delivered (with udp_receive()) buffers were not released in case an interface was stopped, as a consequence the system could run out of buffers.
- Required package version checks added.
4.2:
- Function header comment fixed for udp_get_buf().
4.1:
- udp_get_buf() modified.
3.1:
- udp_send() function changed to have IP options as a parameter.
2.6:
- set IP TTL for sent UDP packets.
2.5:
introduced HCC_UNUSEBD_ARG for unused arguments.
2.4:
- introduced udp_get_buf_ifc() function for DHCP to be able to transmit on an unconfigured interface.
2.3:
- comments fixed.
2.2:
- added mutex lock/unlock to ip_udp_delete() where required as mutex lock/unlock was removed from ip_stack_delete().
2.1:
- lockup could occur from udp_close() if there were no unprocessed packets.
2.0:
- multi-interface compliant.
1.4:
- converted to use of new get IP buffer function.
1.3:
- start, stop and delete added.
- general cleanup.
1.2:
- udp_release_buf() must be called if udp_send() fails. Previously this was done from the USP module; it has changed to be consistent with other modules.
1.1:
- Comments changed, beautified.
1.0:
- Initial release.