I think you can intercept and drop the ICMP packet from userspace as well, if 
you have the right modules installed in iptables/Xtables.  But I haven't looked 
closely lately  (I just patched the kernel code in a kernel that probably 
predated iptables itself).  Probably need "root", but on the router itself, you 
have root.
 
This CMTS-queue-management is a router function anyway, for the router adjacent 
to the cable modem/CMTS.  Using it from ordinary clients and servers probably 
just generates randomness.
 
The only difference from tcptraceroute (note the tcp in front) is that you 
sneak into an active TCP connection selected for active full size packet 
transfer.
 
I'll have to trace the logic in the current Internet stack in the latest 
kernels, but I'm pretty sure that iptables processes packets very low in the 
stack.  It ought to - one of the things you might want to do is reject forged 
ICMP packets, or not forward them.
 
-----Original Message-----
From: "Michael Richardson" <[email protected]>
Sent: Monday, November 26, 2012 4:27pm
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: [Cerowrt-devel] [Cerowrt-users] QOS settings vs speedboost and 
random bandwidth



>>>>> "dpreed" == dpreed  <[email protected]> writes:
 dpreed> It observed the IPv4 headers of *large* TCP/IP datagrams
 dpreed> going upstream, so that it could construct "no-op"
 dpreed> "content-free" datagrams that would certainly pass muster
 dpreed> through all the filters and be routed exactly the same as
 dpreed> the TCP/IP datagrams  that were carrying large flows.  It
 dpreed> would remember only the most recent one. 

I don't know that you need to be so precise in creating the packet, but
I guess the point is not just the ACLs, but also any traffic shapers?

 dpreed> The TTL expiration causes an ICMP packet to be sent back.
 dpreed> My code intercepts that packet based on its contents, and
 dpreed> removes it as "handled" before it gets processed by the
 dpreed> TCP/IP state machines. 

This is perhaps the biggest problem with this method... having to remove
the magic ICMP so that it does no harm.  Without this requirement, it
could be done entirely in userspace I think.

-- 
]       He who is tired of Weird Al is tired of life!           |  firewalls  [
]   Michael Richardson, Sandelman Software Works, Ottawa, ON    |net architect[
] [email protected] http://www.sandelman.ottawa.on.ca/ |device driver[
 Kyoto Plus: watch the video <http://www.youtube.com/watch?v=kzx1ycLXQSE>
 then sign the petition.
_______________________________________________
Cerowrt-devel mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/cerowrt-devel

Reply via email to