nanovms / nanos

A kernel designed to run one and only one application in a virtualized environment
https://nanos.org
Apache License 2.0
2.64k stars 137 forks source link

Create only dual-stack udp pcbs #1948

Closed sanderssj closed 1 year ago

sanderssj commented 1 year ago

If a udp pcb is created with udp_new(), it appears to default to being an ip4 pcb, which will then reject sending any ip6 traffic with an invalid argument because the pcb doesn't support ip6. This changes all udp_new calls to udp_new_ip_type(IPADDR_TYPE_ANY) which makes the pcb dual-stack. Ip6 udp sockets will now properly transmit ip6 traffic. This also allows the udp netconsole and syslog to work with ip6 addresses.