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#L2204When 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!
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