I'm trying to understand a wireless linux device driver.
So after netdev_open is called...
what happens?
I know packets are being transmitted through an xmit function, but how does the code get there?
I'm trying to understand a wireless linux device driver.
So after netdev_open is called...
what happens?
I know packets are being transmitted through an xmit function, but how does the code get there?
The dev->hard_start_xmit()
function for the netdev is called out of the networking core - see net/core/dev.c
(in particular dev_hard_start_xmit()
and dev_queue_xmit()
). These functions are in turn called out from the protocol handlers - see for example ip_queue_xmit()
in net/ipv4/ip_output.c
.