e1000_set_rx_mode(9)
π
e1000_set_rx_mode β the e1000 glow-up for your RX filters
okay so real talk, this is a page out of the Kernel API Manual (section 9, driver-functions territory), and bestie it's lowkey iconic. It's the vibes manual for e1000_set_rx_mode(9), and it's short but it carries. Sit down, hydrate, let's go π«Ά
β¨ NAME β¨
e1000_set_rx_mode β Secondary Unicast, Multicast and Promiscuous mode set π
(Note the word "Secondary" up there β that's the function's whole name, not me being dramatic. Okay maybe a little me being dramatic.)
π¦ SYNOPSIS π¦
void e1000_set_rx_mode (struct net_device *netdev );
That's it. That's the whole signature. One function, one argument, returns nothing, no notes. It's giving minimalist main character energy πΈ
π ARGUMENTS π
netdevβ the network interface device structure. Yes, the struct. The whole interface's little ID card and diary combined. It's the network device you're doing all this for π
π DESCRIPTION π
So here's the tea β β set_rx_mode is the entry point that gets called whenever:
- the unicast address list gets updated, or
- the multicast address list gets updated, or
- the network interface flags get updated.
That's the whole trigger squad, no cap. Any one of those three updates and this function gets the call π
And what does it do with this moment in the spotlight? It's responsible for configuring the hardware so the NIC actually knows how to behave for:
- proper unicast π
- multicast π
- promiscuous mode (yeah, that one π₯)
- and all-multi behavior β
Basically: whenever the address lists or the flags change, this routine is the one that goes and tells the hardware "bestie, here's the new plan," so the card filters packets the way the kernel intends. The lists changed, the flags changed, the vibe changed β and e1000_set_rx_mode is the one who actually updates the hardware about it. Slay π
fr fr though β the whole point is the hardware gets configured here. It's not just bookkeeping, it's the actual "go tell the chip" step.
π§ SEE ALSO π§
Here's the squad β the whole friend group all lives in one very long file, and honestly, spending time with all of them:
Kernel file π
./drivers/net/ethernet/intel/e1000/e1000_main.c
The friends π«Ά (every single one of them, bestie, no skipping β I said what I said):
e1000_get_hw_dev(9)e1000_init_module(9)e1000_exit_module(9)e1000_irq_disable(9)e1000_irq_enable(9)e1000_configure(9)e1000_power_up_phy(9)e1000_is_need_ioport(9)e1000_init_hw_struct(9)e1000_probe(9)e1000_remove(9)e1000_sw_init(9)e1000_alloc_queues(9)e1000_open(9)e1000_close(9)e1000_check_64k_bound(9)e1000_setup_tx_resources(9)e1000_setup_all_tx_resources(9)e1000_configure_tx(9)e1000_setup_rx_resources(9)e1000_setup_all_rx_resources(9)e1000_setup_rctl(9)e1000_configure_rx(9)e1000_free_tx_resources(9)e1000_free_all_tx_resources(9)e1000_clean_tx_ring(9)e1000_clean_all_tx_rings(9)e1000_free_rx_resources(9)e1000_free_all_rx_resources(9)e1000_clean_rx_ring(9)e1000_clean_all_rx_rings(9)e1000_set_mac(9)e1000_update_phy_info_task(9)e1000_82547_tx_fifo_stall_task(9)e1000_watchdog(9)e1000_update_itr(9)e1000_tx_timeout(9)e1000_change_mtu(9)e1000_update_stats(9)e1000_intr(9)e1000_clean(9)e1000_clean_tx_irq(9)e1000_rx_checksum(9)e1000_consume_page(9)e1000_receive_skb(9)e1000_tbi_adjust_stats(9)e1000_clean_jumbo_rx_irq(9)e1000_clean_rx_irq(9)e1000_alloc_jumbo_rx_buffers(9)e1000_alloc_rx_buffers(9)e1000_smartspeed(9)e1000_ioctl(9)e1000_mii_ioctl(9)e1000_io_error_detected(9)e1000_io_slot_reset(9)e1000_io_resume(9)
Like. Fifty-something cross-references. This driver has more friends than me and I'm literally the one writing this. Respect it π
π And that's the whole page, babe. Short, sweet, and every single cross-reference accounted for β not me counting them twice to make sure. Okay maybe me counting them twice. π
<x-purple>Sign-off time π β this little beauty comes to you from the file path that got tragically cropped at ./drivers/net/ethernet/intel/e..., dated October 2026, and it's living its best life as e1000_set_rx_mode(9) in the Kernel API Manual.</x-purple> Go configure that hardware, bestie. iykyk π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms