# HG changeset patch # User Sunil Nimmagadda # Date 1705489889 -19800 # Node ID 17afb5ba9c2b76be5a18e5d9407e755526f8a2c5 # Parent fd3474f42783e18bd9b9fe2279bb239a2e85e08a Still confused by lsb/msb. diff -r fd3474f42783 -r 17afb5ba9c2b src/vrrpv2.rs --- a/src/vrrpv2.rs Wed Jan 17 15:23:51 2024 +0530 +++ b/src/vrrpv2.rs Wed Jan 17 16:41:29 2024 +0530 @@ -83,10 +83,10 @@ return Err(VRRPv2Error::ParseError); }; if (vertype & 0xF) != 1 { - return Err(VRRPv2Error::InvalidVersion); + return Err(VRRPv2Error::InvalidType); } if (vertype >> 4) != 2 { - return Err(VRRPv2Error::InvalidType); + return Err(VRRPv2Error::InvalidVersion); } let Ok(virtual_router_id) = rdr.read_u8() else { return Err(VRRPv2Error::ParseError); @@ -188,7 +188,7 @@ #[test] fn test_invalid_version() { let bytes = [ - 0x20, 0x1, 0x2a, 0x0, 0x0, 0x1, 0xb5, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x31, 0x1, 0x2a, 0x0, 0x0, 0x1, 0xb5, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ]; assert_eq!(from_bytes(&bytes), Err(VRRPv2Error::InvalidVersion)); @@ -197,7 +197,7 @@ #[test] fn test_invalid_type() { let bytes = [ - 0x31, 0x2a, 0x64, 0x1, 0x0, 0x1, 0xaa, 0x29, 0xc0, 0xa8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x20, 0x2a, 0x64, 0x1, 0x0, 0x1, 0xaa, 0x29, 0xc0, 0xa8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ]; assert_eq!(from_bytes(&bytes), Err(VRRPv2Error::InvalidType));