[Click] user-level vs. kernel-level Click packet management

Eddie Kohler kohler at CS.UCLA.EDU
Sat Apr 30 14:29:15 EDT 2005


Hi,

> In the documentation, the userlevel fromdevice specifies that "Reads
> packets from the kernel " whereas the kernel level fromdevice says
> "Intercepts all packets received by the Linux network interface".  I'm
> guessing that the first one means, userlevel makes copies of the
> packet, while kernel level reads off the device and just handles the
> packet itself.  Is this correct?  If the kernel level does grab the
> packet, can the same packet be forwarded more then once on different
> outputs (i'm just curious, not sure if there are any practical reasons
> to do so)?

Yes, that's right.  And with user-level FromDevice, the kernel and the 
user-level program might both forward a packet.  It says this clearly on the 
manual page (man FromDevice.u):

        User-level FromDevice is like a packet sniffer.   Packets  emitted  by
        FromDevice  are  also  received and processed by the kernel.  Thus, it
        doesn’t usually make sense to run  a  router  with  user-level  Click,
        since each packet will get processed twice (once by Click, once by the
        kernel).  Install firewalling rules in your kernel if you want to pre-
        vent this.


Eddie


> 
> Thanks for your help,
> Bita.
> 
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click




More information about the click mailing list