summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicael Karlberg <bmk@erlang.org>2019-11-19 17:51:49 +0100
committerMicael Karlberg <bmk@erlang.org>2019-11-25 18:28:27 +0100
commitbbfbed5055bd6ddefbefd214fe687803741b7429 (patch)
treed7e5be5a55e3caeafe6087c5ceef2530073020b5
parent0c001ce3c707d6009a0591bbc42ffa5a031a76bd (diff)
downloaderlang-bbfbed5055bd6ddefbefd214fe687803741b7429.tar.gz
[enet] Make it possible to filter on socket address family packet
OTP-16212
-rw-r--r--lib/kernel/src/net.erl6
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);