Home
Developer Resources
Technical Articles

QNX Technical Articles

QNX® Software Development Platform 6.6 Networking Patch (Patch ID 4997): Release Notes

Date of this edition: August 28, 2023

Target OS: This patch is compatible with targets that are running QNX® Neutrino® that's based on QNX Software Development Platform 6.6.

Host OS: To apply this patch, you must have installed the QNX Software Development Platform 6.6 on one of the following development hosts:

  • Microsoft Windows 8 Pro 64-bit, Windows 7 Professional 64-bit, or XP Professional SP3
  • Linux Red Hat Enterprise Linux 6 64-bit or Ubuntu Workstation LTS 12.04 32- and 64-bit

Note:

For the most up-to-date version of these notes, go to our website (www.qnx.com), log in to your myQNX account, and then go to the Download Center.


Contents

Throughout this document, you may see reference numbers associated with particular issues, changes, etc. When corresponding with our Technical Support staff about a given issue, please quote the relevant reference number. You might also find the reference numbers useful for tracking issues as they become fixed.

What's in this patch?

This patch fixes the issues described in Fixed issues.

Installed files

The following files are installed:

target/qnx6/x86/sbin/slattach
target/qnx6/x86/sbin/io-pkt-v6-hc
target/qnx6/x86/sbin/pppoectl
target/qnx6/x86/sbin/io-pkt-v4
target/qnx6/x86/sbin/pfctl
target/qnx6/x86/sbin/io-pkt-v4-hc
target/qnx6/x86/usr/sbin/pppd
target/qnx6/x86/usr/sbin/rtsold
target/qnx6/x86/usr/sbin/dhcp.client
target/qnx6/x86/usr/sbin/autoipd
target/qnx6/x86/usr/sbin/rtadvd
target/qnx6/x86/lib/dll/lsm-slip.so
target/qnx6/x86/lib/dll/lsm-pf-v4.so
target/qnx6/x86/lib/dll/devnp-shim.so
target/qnx6/x86/lib/dll/lsm-pf-v6.so
target/qnx6/x86/lib/libsocketS.a
target/qnx6/x86/lib/libsocket.a
target/qnx6/x86/lib/libsocket.so.3
target/qnx6/armle-v7/sbin/slattach
target/qnx6/armle-v7/sbin/io-pkt-v6-hc
target/qnx6/armle-v7/sbin/pppoectl
target/qnx6/armle-v7/sbin/io-pkt-v4
target/qnx6/armle-v7/sbin/pfctl
target/qnx6/armle-v7/sbin/io-pkt-v4-hc
target/qnx6/armle-v7/usr/sbin/pppd
target/qnx6/armle-v7/usr/sbin/rtsold
target/qnx6/armle-v7/usr/sbin/dhcp.client
target/qnx6/armle-v7/usr/sbin/autoipd
target/qnx6/armle-v7/usr/sbin/rtadvd
target/qnx6/armle-v7/lib/dll/lsm-slip.so
target/qnx6/armle-v7/lib/dll/lsm-pf-v4.so
target/qnx6/armle-v7/lib/dll/devnp-shim.so
target/qnx6/armle-v7/lib/dll/lsm-pf-v6.so
target/qnx6/armle-v7/lib/libsocketS.a
target/qnx6/armle-v7/lib/libsocket.a
target/qnx6/armle-v7/lib/libsocket.so.3
target/qnx6/usr/include/net80211/ieee80211_proto.h
target/qnx6/usr/include/net80211/ieee80211_ioctl.h
target/qnx6/usr/include/net80211/ieee80211_rssadapt.h
target/qnx6/usr/include/net80211/ieee80211.h
target/qnx6/usr/include/net80211/ieee80211_sysctl.h
target/qnx6/usr/include/net80211/ieee80211_var.h
target/qnx6/usr/include/net80211/ieee80211_netbsd.h
target/qnx6/usr/include/net80211/_ieee80211.h
target/qnx6/usr/include/net80211/ieee80211_radiotap.h
target/qnx6/usr/include/net80211/ieee80211_node.h
target/qnx6/usr/include/net80211/ieee80211_crypto.h
target/qnx6/usr/include/sys/sockio.h
target/qnx6/usr/include/sys/target_nto_sock.h
target/qnx6/usr/include/sys/sysctl.h
target/qnx6/usr/include/sys/socket.h
target/qnx6/usr/include/sys/selinfo.h
target/qnx6/usr/include/sys/ds_msg.h
target/qnx6/usr/include/sys/queue.h
target/qnx6/usr/include/sys/unpcb.h
target/qnx6/usr/include/sys/mbuf.h
target/qnx6/usr/include/sys/callout.h
target/qnx6/usr/include/sys/un.h
target/qnx6/usr/include/sys/sockmsg.h
target/qnx6/usr/include/sys/malloc.h
target/qnx6/usr/include/sys/pool.h
target/qnx6/usr/include/sys/dcmd_ip.h
target/qnx6/usr/include/sys/tree.h
target/qnx6/usr/include/sys/protosw.h
target/qnx6/usr/include/sys/dcmd_pppoe.h
target/qnx6/usr/include/sys/pppoe.h
target/qnx6/usr/include/sys/socketvar.h
target/qnx6/usr/include/kvm.h
target/qnx6/usr/include/netkey/key_var.h
target/qnx6/usr/include/netkey/key_debug.h
target/qnx6/usr/include/netkey/keydb.h
target/qnx6/usr/include/netkey/keysock.h
target/qnx6/usr/include/netkey/key.h
target/qnx6/usr/include/protocols/routed.h
target/qnx6/usr/include/protocols/rwhod.h
target/qnx6/usr/include/hesiod.h
target/qnx6/usr/include/nsswitch.h
target/qnx6/usr/include/netdb.h
target/qnx6/usr/include/nfs/rpcv2.h
target/qnx6/usr/include/ds.h
target/qnx6/usr/include/netipsec/ah_var.h
target/qnx6/usr/include/netipsec/ipip_var.h
target/qnx6/usr/include/netipsec/esp_var.h
target/qnx6/usr/include/netipsec/keydb.h
target/qnx6/usr/include/netipsec/ipcomp_var.h
target/qnx6/usr/include/netipsec/ipsec_var.h
target/qnx6/usr/include/resolv.h
target/qnx6/usr/include/netinet6/raw_ip6.h
target/qnx6/usr/include/netinet6/ip6_mroute.h
target/qnx6/usr/include/netinet6/in6.h
target/qnx6/usr/include/netinet6/scope6_var.h
target/qnx6/usr/include/netinet6/in6_var.h
target/qnx6/usr/include/netinet6/pim6_var.h
target/qnx6/usr/include/netinet6/in6_pcb.h
target/qnx6/usr/include/netinet6/udp6_var.h
target/qnx6/usr/include/netinet6/nd6.h
target/qnx6/usr/include/netinet6/ip6_var.h
target/qnx6/usr/include/netinet6/udp6.h
target/qnx6/usr/include/netinet6/ah.h
target/qnx6/usr/include/netinet6/ipsec.h
target/qnx6/usr/include/net/agr/if_agrioctl.h
target/qnx6/usr/include/net/if_pflog.h
target/qnx6/usr/include/net/zlib.h
target/qnx6/usr/include/net/radix_mpath.h
target/qnx6/usr/include/net/netbyte.h
target/qnx6/usr/include/net/if_types.h
target/qnx6/usr/include/net/if_media.h
target/qnx6/usr/include/net/if_ipsec.h
target/qnx6/usr/include/net/if_tap.h
target/qnx6/usr/include/net/pfil.h
target/qnx6/usr/include/net/if_tun.h
target/qnx6/usr/include/net/if_dl.h
target/qnx6/usr/include/net/ifdrvcom.h
target/qnx6/usr/include/net/radix.h
target/qnx6/usr/include/net/dlt.h
target/qnx6/usr/include/net/if_gre.h
target/qnx6/usr/include/net/pfvar.h
target/qnx6/usr/include/net/if.h
target/qnx6/usr/include/net/cacheline.h
target/qnx6/usr/include/net/pfkeyv2.h
target/qnx6/usr/include/net/if_arp.h
target/qnx6/usr/include/net/if_vlanvar.h
target/qnx6/usr/include/net/if_gif.h
target/qnx6/usr/include/net/route.h
target/qnx6/usr/include/net/bpf.h
target/qnx6/usr/include/net/ethertypes.h
target/qnx6/usr/include/net/if_ether.h
target/qnx6/usr/include/net/bpfdesc.h
target/qnx6/usr/include/net/if_ieee1394.h
target/qnx6/usr/include/nlist.h
target/qnx6/usr/include/altq/altq_fifoq.h
target/qnx6/usr/include/altq/altq_rio.h
target/qnx6/usr/include/altq/altq_jobs.h
target/qnx6/usr/include/altq/altq_rmclass_debug.h
target/qnx6/usr/include/altq/if_altq.h
target/qnx6/usr/include/altq/altq_cdnr.h
target/qnx6/usr/include/altq/altq_var.h
target/qnx6/usr/include/altq/altq_rmclass.h
target/qnx6/usr/include/altq/altq_wfq.h
target/qnx6/usr/include/altq/altq_afmap.h
target/qnx6/usr/include/altq/altq.h
target/qnx6/usr/include/altq/altq_hfsc.h
target/qnx6/usr/include/altq/altq_priq.h
target/qnx6/usr/include/altq/altq_blue.h
target/qnx6/usr/include/altq/altq_red.h
target/qnx6/usr/include/altq/altq_classq.h
target/qnx6/usr/include/altq/altq_cbq.h
target/qnx6/usr/include/altq/altq_flowvalve.h
target/qnx6/usr/include/res_update.h
target/qnx6/usr/include/crypto/cryptodev.h
target/qnx6/usr/include/arpa/nameser.h
target/qnx6/usr/include/arpa/tftp.h
target/qnx6/usr/include/arpa/ftp.h
target/qnx6/usr/include/arpa/telnet.h
target/qnx6/usr/include/arpa/nameser_compat.h
target/qnx6/usr/include/arpa/inet.h
target/qnx6/usr/include/ifaddrs.h
target/qnx6/usr/include/netinet/igmp.h
target/qnx6/usr/include/netinet/ip_ecn.h
target/qnx6/usr/include/netinet/tcp_debug.h
target/qnx6/usr/include/netinet/tcp.h
target/qnx6/usr/include/netinet/in_systm.h
target/qnx6/usr/include/netinet/in_var.h
target/qnx6/usr/include/netinet/if_inarp.h
target/qnx6/usr/include/netinet/in.h
target/qnx6/usr/include/netinet/ip_mroute.h
target/qnx6/usr/include/netinet/ip_carp.h
target/qnx6/usr/include/netinet/tcpip.h
target/qnx6/usr/include/netinet/ip6.h
target/qnx6/usr/include/netinet/tcp_var.h
target/qnx6/usr/include/netinet/udp_var.h
target/qnx6/usr/include/netinet/icmp6.h
target/qnx6/usr/include/netinet/udp.h
target/qnx6/usr/include/netinet/pim.h
target/qnx6/usr/include/netinet/tcp_seq.h
target/qnx6/usr/include/netinet/pim_var.h
target/qnx6/usr/include/netinet/in_pcb_hdr.h
target/qnx6/usr/include/netinet/ip_icmp.h
target/qnx6/usr/include/netinet/tcp_timer.h
target/qnx6/usr/include/netinet/if_ether.h
target/qnx6/usr/include/netinet/icmp_var.h
target/qnx6/usr/include/netinet/ip_var.h
target/qnx6/usr/include/netinet/igmp_var.h
target/qnx6/usr/include/netinet/ip.h
target/qnx6/usr/include/netinet/in_pcb.h
target/qnx6/usr/include/netinet/in_proto.h
target/qnx6/usr/include/netinet/tcp_fsm.h
target/qnx6/x86/lib/libsocket.so
target/qnx6/armle-v7/lib/libsocket.so
target/qnx6/usr/include/queue.h

Updates and fixed issues

  • Fixed an issue with io-pkt message handling. (Ref# J2942000, J2938534)
  • Improved message receive logic in io-pkt resource managers. (Ref# J2933155, J384189)
  • Improved packet handling logic in io-pkt. (Ref# J2931651)
  • Fixed an issue where sendmmsg() was applying the socket pending error even after it explicitly returned the error. (Ref# J2927009)
  • Improved handling of send messages in io-pkt. (Ref# J2924543)
  • Fixed an issue where recvmmsg() returned an incorrect errno. (Ref# J2915892)
  • Fixed an issue with recvmmsg() that in some cases caused packet data to be dropped. (Ref# J2928762)
  • Improved io-pkt use of CSPRNG. (Ref# J2918785)
  • Fixed a resource consumption issue in io-pkt. (Ref# J2916855, J2685114, J860626)
  • Fixed an issue with transmitting data from an IPv6 RAW socket using IP protocol 254. (Ref# J2903726)
  • Fixed an issue with io-pkt that occurred when a call to sendmmsg() resulted in an error. (Ref# J2888711)
  • The io-pkt network manager now ignores SYN segments with SYN and FIN flags set. (Ref# J2872689)
  • If the TCP peer is applying RSO and this results in performance degradation, you can now adjust the Forward Acknowledgment (FACK) algorithm by setting the new sysctl variable qnx.net.inet.tcp.fack_tso_adjust to 1 (default is 0). (Ref# J2575061)
  • ICMPv6 Node Information is now disabled by default. (Ref# J2235999)
  • Fixed an issue that added a superfluous line of text to the response from the ntpq -p command. (Ref# J2218334)
  • An issue with message passing that affected 8-byte aligned architectures has been fixed. (Ref# J2164844)
  • The pfil_ipsec, num_tun_control_interface, num_tap_interface, and timer_pulse_prio options are now documented in the io-pkt-* use information. (Ref# J1436925, J774005, J706117)
  • The io-pkt-v6 binary variant is no longer included in releases. (Ref# J721993)
  • The prefix and address timeouts were reduced to address an issue found in conformance testing. (Ref# J658072)
  • Added the route option -linkindex index:type , which allows you to specify a link level address. Also, you can now use the -ifp option with the delete, get, and lock commands to specify an interface as a search key to match a route entry. (Ref# J2787913)
  • Fixed an issued where, under certain circumstances, io-pkt worker threads called MsgReceivePulse() with a NULL data buffer argument. (Ref# J2784894)
  • Fixed an issue that affected driver integration, where the io-pkt manager generated mbuf chains that contained 0 len mbufs when fragmenting large UDP packets. (Ref# J2779016)
  • An issue involving unmounting Wi-Fi drivers has been fixed. (Ref# J2778125)
  • Fixed a packet latency issue that occurred when a VLAN interface is part of a bridge. (Ref# J2769905)
  • An issue that caused IPv6 fragment re-assembly tests to fail has been fixed. (Ref# J2739894)
  • Fixed Unix domain socket pathname unlink issues. (Ref# J2738006)
  • An issue with bridge functionality was fixed. (Ref# J2734629)
  • The io-pkt networking manager now terminates if SMMU manager was to be used and is not present. (Ref# J2731940)
  • Fixed an issue where the io-pkt networking manager did not apply the M_WAIT buffer (wakeup) allocation concept when running out of system memory. (Ref# J2726761)
  • Fixed an issue where the VLAN priority was only set on the first IP fragment, not all fragments. (Ref# J2726126)
  • Improved memory handling in io-pkt. (Ref# J2688332, J2685132, J2603350, J2685657)
  • Fixed issues with the io-pkt ARP implementation. (Ref# J2685696)
  • Fixed resource depletion issue related to IPv6 IPsec. (Ref# J2685663)
  • Fixed memory bug in io-pkt. (Ref# J2685657)
  • Improved bounds checking in ip6_get_prevhdr(). (Ref# J2685650)
  • Fixed issues in io-pkt IPv6 forward code. (Ref# J2685164)
  • Fixed memory handling issue in io-pkt. (Ref# J2685156)
  • Fixed issues in io-pkt related to IPsec. (Ref# J2685152, J2685145, J2685134)
  • The io-pkt features that allow or forward source-routed packets are now disabled by default. (Ref# J2685122)
  • Fixed mbuf parsing issue in io-pkt. (Ref# J2685116)
  • Fixed an issue with the network driver event scheduling a interrupt_queue() function that typically caused issues with pseudo-Ethernet drivers. (Ref# J2669531)
  • Added -p and -a options to autoipd. (Ref# J2668880)
  • Fixed an issue that caused autoipd to see its own ARP reply as a conflict. (Ref# J2668880)
  • Fixed an issue where the Unix domain socket binding did not respect the setgid bit of the parent directory. (Ref# J2657261)
  • Fixed an issue where io-pkt returned EACCES on mount failure before it checked if the mount request is for io-pkt. (Ref# J2648518)
  • Fixed socket lockup issue. (Ref# J2647274)
  • Fixed mbuf management issue in io-pkt. (Ref# J2642263)
  • Fixed an issue with ARP delaying more than is necessary when resuming attempts to resolve an IP address. (Ref# J2636896)
  • Made modifications that improve io-pkt performance (dedicated stack context thread, message passing context, ability to disable TCP timestamp). (Ref# J2599867)
  • Added a packet filtering (PF) option for setting TOS. (Ref# J2552586)
  • Fixed an IPv6 IP fragmentation issue. (Ref# J2742630)
  • Fixed an issue where PF did not modulate the SLE and SRE in the SACK option when state modulation was enabled. (Ref# J2675247)
  • Added mtag pool and caching support. (Ref# J1564217)
  • Fixed issue in ip6_get_prevhdr(). (Ref# J2685650)
  • Updated OpenSSL to 1.0.2r. (Ref# J2730240)

Known issues

No new issues currently known.

Technical support

To obtain technical support for any QNX product, visit the Support area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.