Interrupt Handler of Ethernet Device

Robert Clove cloverobert at gmail.com
Mon Apr 8 01:42:44 EDT 2013


As far i have read the packet reception i have found out that
When working in interrupt driven model, the nic registers an
interrupt handler;
• This interrupt handler will be called when a frame is received;
• Typically in the handler, we allocate sk buff by calling
dev alloc skb();
• Copies data from nic’s buffer to this struct just created;
• nic call generic reception routine netif rx();
• netif rx() put frame in per cpu queue;
• if queue is full, drop!

BUT i didn't found the netif_rx() in the following link
http://lxr.free-electrons.com/source/drivers/net/ethernet/intel/e100.c#L2204




On Sun, Apr 7, 2013 at 8:52 PM, Rami Rosen <roszenrami at gmail.com> wrote:

> Hi,
> we have in :
>  http://lxr.free-electrons.com/source/drivers/net/ethernet/intel/e100.c
>
> struct nic {
>         /* Begin: frequently used values: keep adjacent for cache effect */
>         u32 msg_enable                          ____cacheline_aligned;
>         struct net_device *netdev;
>          struct pci_dev *pdev;
>      ...
>      ...
>
> And indeed  nic->netdev represents an Ethernet interface, which
> is the struct net_device (see: include/linux/netdevice.h)
>
> Regards,
> Rami Rosen
> http://ramirose.wix.com/ramirosen
>
>
> On Sun, Apr 7, 2013 at 5:52 AM, ishare <june.tune.sea at gmail.com> wrote:
> > On Fri, Apr 05, 2013 at 03:06:37PM +0300, Rami Rosen wrote:
> >> Robert,
> >> You should look for the request_irq() method in the driver.
> >> This method registers an interrupt handler.
> >> For example, you can look in:
> >> http://lxr.free-electrons.com/source/drivers/net/ethernet/intel/e100.c
> >> ...
> >> ...
> >>     if ((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
> >>                  nic->netdev->name, nic->netdev)))
> >>
> >> ...
> >>
> >> This means that e100_intr is registered as an interrupt handler.
> >
> >   Is this nic->netdev represent a  Ethernet interface ?
> >
> >
> >>
> >> Best,
> >> Rami Rosen
> >> http://ramirose.wix.com/ramirosen
> >>
> >>
> >> On Fri, Apr 5, 2013 at 11:50 AM, Robert Clove <cloverobert at gmail.com>
> wrote:
> >> > Hello All,
> >> >
> >> >
> >> > I am new here.
> >> > I want to know the interrupt handler of the ethernet card and where
> can i
> >> > find the definition of it so as i can clear the flow of packet
> reception.
> >> >
> >> > Thanks
> >> > Robert
> >> >
> >> > _______________________________________________
> >> > Kernelnewbies mailing list
> >> > Kernelnewbies at kernelnewbies.org
> >> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> >> >
> >>
> >> _______________________________________________
> >> Kernelnewbies mailing list
> >> Kernelnewbies at kernelnewbies.org
> >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130408/e023fdda/attachment-0001.html 


More information about the Kernelnewbies mailing list