Re: Interrupt Handler of Ethernet Device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx> 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@xxxxxxxxx> 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@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxx
>> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>> >
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies@xxxxxxxxxxxxxxxxx
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux