git: udp: Port FreeBSD's IPPROTO_IP/IP_SENDSRCADDR.

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Thu Nov 26 07:58:08 PST 2020


commit 14886acaff63ab197e5b032b5d10b027fc881d5f
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date:   Thu Nov 26 11:22:10 2020 +0800

    udp: Port FreeBSD's IPPROTO_IP/IP_SENDSRCADDR.
    
    Minor difference:
    - Multicast src is not allowed.
    - Always allow src, if it is same as inp_laddr and is not multicast.
    
    While I'm here, fix datagram sending for multicast bound and connected
    UDP socket.

Summary of changes:
 sys/kern/uipc_socket.c                      |  13 +-
 sys/netinet/in.h                            |   1 +
 sys/netinet/in_pcb.c                        |  75 ++++++++++-
 sys/netinet/in_pcb.h                        |   2 +
 sys/netinet/udp_usrreq.c                    | 100 +++++++++++++-
 test/udp/{bindsend => sendsrcaddr}/Makefile |   2 +-
 test/udp/sendsrcaddr/udp_sendsrcaddr.c      | 196 ++++++++++++++++++++++++++++
 7 files changed, 373 insertions(+), 16 deletions(-)
 copy test/udp/{bindsend => sendsrcaddr}/Makefile (75%)
 create mode 100644 test/udp/sendsrcaddr/udp_sendsrcaddr.c

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/14886acaff63ab197e5b032b5d10b027fc881d5f


-- 
DragonFly BSD source repository



More information about the Commits mailing list