Handle InvalidArgument Error for Out-of-Range MAC addresses
Error is not thrown when an out-of-range MAC address is provided.
This commit addresses the issue by explicitly handling such cases
and returning an InvalidArgument error when a MAC address
falls outside the valid range.
Tested By:
Verified the out-of-range MAC address case and ensured proper
invalid argument error is thrown.
Change-Id: I508cf267878811fcf70fcce7dfa7ff804b160bc1
Signed-off-by: kokilav <kokilavaradhan@gmail.com>
diff --git a/src/ethernet_interface.cpp b/src/ethernet_interface.cpp
index 8e76931..dd6f61c 100644
--- a/src/ethernet_interface.cpp
+++ b/src/ethernet_interface.cpp
@@ -895,12 +895,14 @@
{
newMAC = stdplus::fromStr<stdplus::EtherAddr>(value);
}
- catch (const std::invalid_argument&)
+ catch (const std::exception& e)
{
- lg2::error("MAC Address {NET_MAC} is not valid", "NET_MAC", value);
- elog<InvalidArgument>(Argument::ARGUMENT_NAME("MACAddress"),
+ lg2::error("Invalid Ip address {NET_MAC}: {ERROR}", "NET_MAC", value,
+ "ERROR", e);
+ elog<InvalidArgument>(Argument::ARGUMENT_NAME("netmac"),
Argument::ARGUMENT_VALUE(value.c_str()));
}
+
if (!newMAC.isUnicast())
{
lg2::error("MAC Address {NET_MAC} is not valid", "NET_MAC", value);