Re: Software Interrupt to invoke IP input function.

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

 



> interrupt(does linux kernel has any another mechanism? ) after the
> ethernet driver has build the IP datagram.
u mean, after it has stored the ethernet frame into memory.
1. every ethernet driver calls netif_rx().
2. This
    i. queues the packet for further processing, __skb_queue_tail(skb).
    ii. raises the softirq for further processing,
cpu_raise_softirq(NET_RX_SOFTIRQ)
3. The handler for this softirq is net_rx_action(). This
    i. dequeues the skb, __skb_deque()
    ii. checks the packet type(0x0800 for IP) specific function and executes
it. For IP this is ip_rcv().

Checkout ip_output.c-->ip_init() function for initialization of the IP
layer.

Vivek.
--
*********************************************************
What is evil to thee does not subsist in the ruling principle of another;
nor yet in any turning and mutation of thy corporeal covering.
Where is it then? or is it really there?...it? what??
    - Marcus Aurelius and Vivek in The Meditations and My Interpretations
:-)
*********************************************************
"Vamsi Krishna" <krishna_k@students.iiit.net> wrote in message
Pine.LNX.4.44.0305110113330.14104-100000@students.iiit.net">news:Pine.LNX.4.44.0305110113330.14104-100000@students.iiit.net...
> Hi friends,
>   I would be greatful for your help if you could tell me which
> part of the kernel source for ipv4/ethernet implementation has
> the logic for invoking the IP(PF_INET) input function via a Software
> interrupt(does linux kernel has any another mechanism? ) after the
> ethernet driver has build the IP datagram.
>
> Actually I have studied the BSD TCP/IP implementation which uses this kind
> of the software interrupt to trigger the IP processing of the datagram's
> build by underlying protocol.
>
> Does linux kernel implementation have any  equivalent to MBUF (BSD) and
> also the Input and Output functions?
>
> Reguards
> Vamsi Krishna.K
>
>
> --
> -----BEGIN GEEK CODE BLOCK-----
> Version: 3.12
> GCS d+ H- s g+++ !p !au a21 w-- v--- C++ U+++ P++ L+++ !3 N--
> E- W M- !VMS po+++ t-- !5 !j R- G? !tv b++++
> -----END GEEK CODE BLOCK-----
>
> --
> Kernelnewbies: Help each other learn about the Linux kernel.
> Archive:       http://mail.nl.linux.org/kernelnewbies/
> FAQ:           http://kernelnewbies.org/faq/
>

************************************************************************

SASKEN BUSINESS DISCLAIMER

This message may contain confidential, proprietary or legally Privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, Disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited ("Sasken") unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email.

***********************************************************************

[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