diff options
| author | Michael Tuexen <tuexen@freebsd.org> | 2018-12-04 13:56:01 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-12-04 14:15:42 +0000 |
| commit | f162ad97ac86754e162a75d2adf9c4432ed3471a (patch) | |
| tree | 33a57eca1a5c7d55199155cd72a8b024e6485906 /sys | |
| parent | 6ad0ae6171ea0891838243683f174c6d6eecc90c (diff) | |
sys/freebsd: improve udp tests
Add support for the UDP_ENCAP. Add required includes and
remove the Linux specific ones.
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/freebsd/gen/amd64.go | 32 | ||||
| -rw-r--r-- | sys/freebsd/socket_inet_udp.txt | 10 | ||||
| -rw-r--r-- | sys/freebsd/socket_inet_udp_amd64.const | 7 |
3 files changed, 43 insertions, 6 deletions
diff --git a/sys/freebsd/gen/amd64.go b/sys/freebsd/gen/amd64.go index 7a5a888a5..3cd14769a 100644 --- a/sys/freebsd/gen/amd64.go +++ b/sys/freebsd/gen/amd64.go @@ -897,6 +897,13 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}}, }}, + {NR: 118, Name: "getsockopt$inet6_udp", CallName: "getsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp6", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 17}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "udp_option_types", FldName: "optname", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}}, + }}, {NR: 118, Name: "getsockopt$inet6_udplite", CallName: "getsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udplite6", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 136}, @@ -960,6 +967,13 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}}, }}, + {NR: 118, Name: "getsockopt$inet_udp", CallName: "getsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 17}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "udp_option_types", FldName: "optname", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}}, + }}, {NR: 118, Name: "getsockopt$inet_udplite", CallName: "getsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udplite", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 136}, @@ -1532,6 +1546,13 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Buf: "optval"}, }}, + {NR: 105, Name: "setsockopt$inet6_udp", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp6", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 17}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "udp_option_types", FldName: "optname", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Buf: "optval"}, + }}, {NR: 105, Name: "setsockopt$inet6_udplite", CallName: "setsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udplite6", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 136}, @@ -1630,6 +1651,13 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Buf: "optval"}, }}, + {NR: 105, Name: "setsockopt$inet_udp", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 17}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "udp_option_types", FldName: "optname", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Buf: "optval"}, + }}, {NR: 105, Name: "setsockopt$inet_udplite", CallName: "setsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udplite", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 136}, @@ -1936,6 +1964,7 @@ var consts_amd64 = []ConstValue{ {Name: "IPPROTO_IP"}, {Name: "IPPROTO_IPV6", Value: 41}, {Name: "IPPROTO_TCP", Value: 6}, + {Name: "IPPROTO_UDP", Value: 17}, {Name: "IPPROTO_UDPLITE", Value: 136}, {Name: "IPV6_2292DSTOPTS", Value: 23}, {Name: "IPV6_2292HOPLIMIT", Value: 20}, @@ -2376,6 +2405,7 @@ var consts_amd64 = []ConstValue{ {Name: "TIMER_ABSTIME", Value: 1}, {Name: "UDPLITE_RECV_CSCOV", Value: 4}, {Name: "UDPLITE_SEND_CSCOV", Value: 2}, + {Name: "UDP_ENCAP", Value: 1}, {Name: "WCONTINUED", Value: 4}, {Name: "WEXITED", Value: 16}, {Name: "WNOHANG", Value: 1}, @@ -2384,4 +2414,4 @@ var consts_amd64 = []ConstValue{ {Name: "WUNTRACED", Value: 2}, } -const revision_amd64 = "14c28af7b40c606be84ee475c6e8a7f63d052890" +const revision_amd64 = "8b3b74aded84239fffe46ae19976fae0cbcd9030" diff --git a/sys/freebsd/socket_inet_udp.txt b/sys/freebsd/socket_inet_udp.txt index 0d963ac30..3529aeae0 100644 --- a/sys/freebsd/socket_inet_udp.txt +++ b/sys/freebsd/socket_inet_udp.txt @@ -6,8 +6,7 @@ include <sys/types.h> include <sys/socket.h> include <netinet/in.h> -include <linux/linux.h> -include <compat/linux/linux_socket.h> +include <netinet/udp.h> resource sock_udp[sock_in] @@ -16,3 +15,10 @@ socket$inet_udp(domain const[AF_INET], type const[SOCK_DGRAM], proto const[0]) s resource sock_udp6[sock_in6] socket$inet6_udp(domain const[AF_INET6], type const[SOCK_DGRAM], proto const[0]) sock_udp6 + +udp_option_types = UDP_ENCAP + +getsockopt$inet_udp(fd sock_udp, level const[IPPROTO_UDP], optname flags[udp_option_types], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$inet_udp(fd sock_udp, level const[IPPROTO_UDP], optname flags[udp_option_types], optval ptr[in, int32], optlen len[optval]) +getsockopt$inet6_udp(fd sock_udp6, level const[IPPROTO_UDP], optname flags[udp_option_types], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$inet6_udp(fd sock_udp6, level const[IPPROTO_UDP], optname flags[udp_option_types], optval ptr[in, int32], optlen len[optval]) diff --git a/sys/freebsd/socket_inet_udp_amd64.const b/sys/freebsd/socket_inet_udp_amd64.const index ae0835919..78eea7e89 100644 --- a/sys/freebsd/socket_inet_udp_amd64.const +++ b/sys/freebsd/socket_inet_udp_amd64.const @@ -1,8 +1,9 @@ # AUTOGENERATED FILE AF_INET = 2 AF_INET6 = 28 -LINUX_AF_INET = 2 -LINUX_AF_INET6 = 10 -LINUX_SOCK_DGRAM = 2 +IPPROTO_UDP = 17 SOCK_DGRAM = 2 +SYS_getsockopt = 118 +SYS_setsockopt = 105 SYS_socket = 97 +UDP_ENCAP = 1 |
