From 1040d970366100ce766eb8cb6af2c7453ffcdb6a Mon Sep 17 00:00:00 2001 From: valdaarhun Date: Sat, 23 Jul 2022 01:32:57 +0530 Subject: [PATCH] Add ETH_P_ALL protocol number to SockProtocol Add note to Changelog.md Make changes in comments Co-authored-by: Alan Somers Add Android as target os for ETH_P_ALL --- CHANGELOG.md | 2 ++ src/sys/socket/mod.rs | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 235b1c10bd..f9e7f6dcd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ This project adheres to [Semantic Versioning](https://semver.org/). ## [Unreleased] - ReleaseDate ### Added +- Added ETH_P_ALL to SockProtocol enum + (#[1768](https://github.com/nix-rust/nix/pull/1768)) - Added four non-standard Linux `SysconfVar` variants (#[1761](https://github.com/nix-rust/nix/pull/1761)) - Added const constructors for `TimeSpec` and `TimeVal` diff --git a/src/sys/socket/mod.rs b/src/sys/socket/mod.rs index e789c116c3..e937e65204 100644 --- a/src/sys/socket/mod.rs +++ b/src/sys/socket/mod.rs @@ -214,6 +214,13 @@ pub enum SockProtocol { #[cfg(any(target_os = "android", target_os = "linux"))] #[cfg_attr(docsrs, doc(cfg(all())))] NetlinkCrypto = libc::NETLINK_CRYPTO, + /// Non-DIX type protocol number defined for the Ethernet IEEE 802.3 interface that allows packets of all protocols + /// defined in the interface to be received. + /// ([ref](https://man7.org/linux/man-pages/man7/packet.7.html)) + // The protocol number is fed into the socket syscall in network byte order. + #[cfg(any(target_os = "android", target_os = "linux"))] + #[cfg_attr(docsrs, doc(cfg(all())))] + EthAll = libc::ETH_P_ALL.to_be(), } #[cfg(any(target_os = "linux"))]