Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7500953
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T20:22:11+00:00 2026-05-29T20:22:11+00:00

I was reading through the network device driver code.My driver follows the driver-model.REF:kernel/Documentation/driver-model. Reading

  • 0

I was reading through the network device driver code.My driver follows the driver-model.REF:kernel/Documentation/driver-model.
Reading through the interface.txt:
{
Device interfaces are the logical interfaces of device classes that correlate
directly to userspace interfaces, like device nodes.
Each interface is given a directory in the directory of the device
class it belongs to.
}

Havent been able to pinpoint the exact interface yet.So after going through the struct net_device and the Programming interface in the interface.txt file (kernel./Documentation/driver-model)
I again come to the conclusion that its the net_device these people are talking about.
Now what I want to know is the TCP/IP stack the physical and the link layer is the network driver.I want to give the interface my network driver provides to my tcp/ip stack.Question is How ? How can I give the net_device struct to the TCP/ip stack. Does anyone know about this.
Regards
Sraddha

.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T20:22:12+00:00Added an answer on May 29, 2026 at 8:22 pm

    The hierarchy is as follows

    struct inet_protosw (internet protocols) has a pointer to a struct member proto (protocol)

    struct sock has a pointer to a struct member proto (protocol)

    struct sock has member to a struct member sk_buff_head

    struct sk_buff_head has two pointer to struct members to sk_buff (one called next, one called prev)

    struct sk_buff has a pointer to struct member net_device.

    I don’t believe you register the net_device with inet_protosw directly.

    First inet_init registers the built in network protocols by calling proto_register, then it calls inet_register_protosw to initialise the protocols, then it initialises the various inet modules (ip,tcp,icmp,etc).

    The interface responsible with linking the protocols and the device later has the register_netdevice and unregister_netdevice, which do what the sound like and register and unregister network devices with kernel. To send a packet from a protocol through a device use dev_queue_xmit and netif_rx receives a packet passes from the device layer to the network layer, it then calls netif_rx_schedule to schedule the packet for further processing.

    Resources and documentation on the organisation / workflow include:

    • Anatomy of the Linux Networking Stack
    • Linux Networking Kernel
    • The Linux Kernel
    • Network Data Flow through Kernel
    • Kernel Flow
    • Linux Networking Internals
    • Linux Device Drivers
    • How SKBs work
    • Writing Network Drive Drivers for Linux
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I've been reading through Beej's Guide to Network Programming to get a handle on
Reading through the Flickr API documentation it keeps stating I require an API key
Reading through documentation, I found following: 1.9.1 1.8.4 1.8.2 A version of 1.8.2 select
Reading through more SICP and I'm stuck on exercise 1.3.8 . My code works
Reading through the jQuery documentation about the event object and its constructor $.Event() I
Reading through the Backbone.js source code, I saw this: validObj[attr] = void 0; What
After reading through the documentation. Ive come to realize the selector method is what
After reading through many code examples for Google Guice, I see a lot of
I'm reading through the D3.js documentation, and am finding it hard to understand the
Reading through this question on multi-threaded javascript, I was wondering if there would be

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.