From 75d8bc67700bf8964b30125792486b87e7134bbe Mon Sep 17 00:00:00 2001 From: Tommaso Pecorella Date: Wed, 25 Jan 2012 19:16:56 +0100 Subject: [PATCH] Bug 1319 - Clarify Ipv4RawSocketImpl ICMP filter limitations --- src/internet/model/ipv4-raw-socket-impl.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/internet/model/ipv4-raw-socket-impl.cc b/src/internet/model/ipv4-raw-socket-impl.cc index bcc26e8be..8fc84f031 100644 --- a/src/internet/model/ipv4-raw-socket-impl.cc +++ b/src/internet/model/ipv4-raw-socket-impl.cc @@ -29,7 +29,7 @@ Ipv4RawSocketImpl::GetTypeId (void) MakeUintegerAccessor (&Ipv4RawSocketImpl::m_protocol), MakeUintegerChecker ()) .AddAttribute ("IcmpFilter", - "Any icmp header whose type field matches a bit in this filter is dropped.", + "Any icmp header whose type field matches a bit in this filter is dropped. Type must be less than 32.", UintegerValue (0), MakeUintegerAccessor (&Ipv4RawSocketImpl::m_icmpFilter), MakeUintegerChecker ()) @@ -326,7 +326,7 @@ Ipv4RawSocketImpl::ForwardUp (Ptr p, Ipv4Header ipHeader, PtrPeekHeader (icmpHeader); uint8_t type = icmpHeader.GetType (); if (type < 32 && - ((1 << type) & m_icmpFilter)) + ((uint32_t(1) << type) & m_icmpFilter)) { // filter out icmp packet. return false;