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.