diff options
author | Micael Karlberg <bmk@erlang.org> | 2019-11-19 17:51:49 +0100 |
---|---|---|
committer | Micael Karlberg <bmk@erlang.org> | 2019-11-25 18:28:27 +0100 |
commit | bbfbed5055bd6ddefbefd214fe687803741b7429 (patch) | |
tree | d7e5be5a55e3caeafe6087c5ceef2530073020b5 | |
parent | 0c001ce3c707d6009a0591bbc42ffa5a031a76bd (diff) | |
download | erlang-bbfbed5055bd6ddefbefd214fe687803741b7429.tar.gz |
[enet] Make it possible to filter on socket address family packet
OTP-16212
-rw-r--r-- | lib/kernel/src/net.erl | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/kernel/src/net.erl b/lib/kernel/src/net.erl index 1663a15e47..255e6f90ee 100644 --- a/lib/kernel/src/net.erl +++ b/lib/kernel/src/net.erl @@ -94,7 +94,7 @@ broadaddr := socket:sockaddr(), dstaddr := socket:sockaddr()}. --type ifaddrs_filter_map() :: #{family := default | inet | inet6 | all, +-type ifaddrs_filter_map() :: #{family := default | inet | inet6 | packet | all, flags := any | ifaddrs_flags()}. -type name_info_flags() :: [name_info_flag()|name_info_flag_ext()]. @@ -361,6 +361,10 @@ getifaddrs_filter(#{family := FFamily, flags := FFlags}, when (FFamily =:= inet6) andalso (Family =:= inet6) -> getifaddrs_filter_flags(FFlags, Flags); getifaddrs_filter(#{family := FFamily, flags := FFlags}, + #{addr := #{family := Family}, flags := Flags} = _Entry) + when (FFamily =:= packet) andalso (Family =:= packet) -> + getifaddrs_filter_flags(FFlags, Flags); +getifaddrs_filter(#{family := FFamily, flags := FFlags}, #{flags := Flags} = _Entry) when (FFamily =:= all) -> getifaddrs_filter_flags(FFlags, Flags); |