Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Can't delete or modify broadcast, multicast or local subnet routing table entries (redux)

78 views
Skip to first unread message

Knotta Clue

unread,
May 11, 2006, 12:50:09 PM5/11/06
to
I'm trying to modify the routing table so that one interface is used for all
forwarded packets. I'm running into problems with DeleteIpForwardEntry()
where it returns ERROR_INVALID_PARAMETER is the forward entry has a
destination of an all 1's broadcast or subnet broadcast. I see this behavior
on XP SP2 and have not tried it on W2K yet.

I googled for other postings about this, and I saw that others have run into
the same problem. However, I did not see a resolution to this. Can such
forwarding entries be removed through DeleteIpForwardEntry()?

I have tried to do the same thing through the route command. My subnet is
10.0.0.0/255.0.0.0. The command also fails as shown below:

route DELETE 255.255.255.255
route: bad destination address 255.255.255.255

route DELETE 10.255.255.255
The route specified was not found.


Knotta Clue

unread,
May 11, 2006, 7:48:49 PM5/11/06
to
I dug into this some more and found that any MIB_IPFORWARDROW entry with
dwForwardProto set to PROTO_IP_LOCAL (2) can't be deleted through
DeleteIpForwardEntry(). Is there a reason why this is so?

"Knotta Clue" <ImInS...@nospam.nospam> wrote in message
news:e%23Pl2rRd...@TK2MSFTNGP04.phx.gbl...

Jeffrey Tan[MSFT]

unread,
May 12, 2006, 3:36:25 AM5/12/06
to
Hi Knotta,

Thanks for your post!

255.255.255.255 is the limited broadcast address, which is used by the OS
system internally. For more information regarding it, please refer to the
KB below:
"TCP/IP Routing Basics for Windows NT"
http://support.microsoft.com/?id=1408591

Based on my experience, we can not delete this record. It's an invalid
destination usable only by the system only when it wants to.

At last, this newsgroup mainly focused on Win32 network programming
interface related issues. Since your issue currently fails with route.exe,
the problem mainly lies in OS network configuration or OS network concept
side, I suggest you post such issue in corresponding OS networking
newsgroup, such as below:
microsoft.public.win2000.networking

Thanks for your understanding.

Best regards,
Jeffrey Tan
Microsoft Online Community Support
==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.

Knotta Clue

unread,
May 12, 2006, 10:38:51 AM5/12/06
to
>
> At last, this newsgroup mainly focused on Win32 network programming
> interface related issues. Since your issue currently fails with route.exe,
> the problem mainly lies in OS network configuration or OS network concept
> side, I suggest you post such issue in corresponding OS networking
> newsgroup, such as below:
> microsoft.public.win2000.networking
>
> Thanks for your understanding.
>
Jeffrey, my question had to do problems deleting any MIB_IPFORWARDROW entry
with
dwForwardProto set to PROTO_IP_LOCAL (2) through the IP Helper
DeleteIpForwardEntry() API. I only pointed out that route.exe shows the same
issue. Forwarding this post to another news group seems silly, since I
wanted to get clarification about this API and routing table entries of
PROTO_IP_LOCAL.


Jeffrey Tan[MSFT]

unread,
May 14, 2006, 11:03:00 PM5/14/06
to
Hi Knotta,

Thanks for your feedback!

Yes, I see your concern. However, from research perspective, we normally
get the work done through an existing tool, then we should resort to the
programming interface. If the tool also fails, it means the problem comes
from OS network configuration or network concept side, not the programming
interface side.

Anyway, I have managed to find the information for you, this behavior is by
design:

For each interface there should be 3 protected routes: ( generated by the
interface config )

1) The Host Route ( This is the IP assigned to the interface. Similar to a
loopback)
2) The Local Subnet Route ( This is how the interface knows where to send
local traffic )
3) The Local Broadcast Route ( This is how the interface knows where to
send the
local broadcast )

There are also a few other routes that are protected:
1) The Loopback Route ( 127.0.0.0 )
2) The Multicast Route ( 224.0.0.0 )
3) The All Broadcast Route ( 255.255.255.255 )

Should any of these routes be deleted, It would adversely affect TCP/IP
communication.

To workaround this issue, we can re-create the exact route through
ROUTE.EXE, or through the API call CreateIpForwardEntry and set
dwForwardProto to PROTO_IP_NETMGMT, it will replace the original route in
the routing table.

You will then be able to delete the route through ROUTE.EXE or through the
AIP call DeleteIPForwardEntry.

Please note that this does not work with routes created because of a dial
up connection connecting under XP RTM & SP1.

Hope this helps

0 new messages