Today I was asked about the maximum number of NICs supported by the Linux kernel. My initial response was "probably more than you need". Its been bothering me that I didn't know where to find the answer. I looked in include/linux/limits.h, I didn't expect to find it but that was my first thought. I then started digging through drivers/net but I soon got lost. I'm after the hard data for the maximum number of ethernet cards a modern Linux system supports, anyone have any ideas on where I find this data?
On 09/24/2010 03:02 PM, byrdca@gmail.com wrote:
Today I was asked about the maximum number of NICs supported by the Linux kernel. My initial response was "probably more than you need". Its been bothering me that I didn't know where to find the answer. I looked in include/linux/limits.h, I didn't expect to find it but that was my first thought. I then started digging through drivers/net but I soon got lost. I'm after the hard data for the maximum number of ethernet cards a modern Linux system supports, anyone have any ideas on where I find this data?
Hmmm... how asking a system hardware architect :)
On 09/25/2010 12:02 AM, byrdca@gmail.com wrote:
Today I was asked about the maximum number of NICs supported by the Linux kernel. My initial response was "probably more than you need". Its been bothering me that I didn't know where to find the answer. I looked in include/linux/limits.h, I didn't expect to find it but that was my first thought. I then started digging through drivers/net but I soon got lost. I'm after the hard data for the maximum number of ethernet cards a modern Linux system supports, anyone have any ideas on where I find this data?
Iirc from a loooong time ago there was a limit of 256 virtual interfaces per physical interface. Hopefully someone can chime in if this is still the case.
Regards, Patrick
On Fri, 2010-09-24 at 15:02 -0700, byrdca@gmail.com wrote:
Today I was asked about the maximum number of NICs supported by the Linux kernel. My initial response was "probably more than you need". Its been bothering me that I didn't know where to find the answer. I looked in include/linux/limits.h, I didn't expect to find it but that was my first thought. I then started digging through drivers/net but I soon got lost. I'm after the hard data for the maximum number of ethernet cards a modern Linux system supports, anyone have any ideas on where I find this data?
Looking at the code (especially, register_net_dev) it seems that there are two possible limits: 1. Ethernet device name must not exceed 16 bytes. 2. Total number of network devices must not exceed 32768. (const int max_netdevices = 8*PAGE_SIZE in __dev_alloc_name)
- Gilboa
Gilboa Davara wrote:
Looking at the code (especially, register_net_dev) it seems that there are two possible limits:
- Ethernet device name must not exceed 16 bytes.
- Total number of network devices must not exceed 32768.
(const int max_netdevices = 8*PAGE_SIZE in __dev_alloc_name)
Forgetting for a moment about virtual devices (including tun, ppp, ...), you now got me busy trying to imagine hardware with 32000 ethernet jacks.
:-)
On Sat, 25 Sep 2010 11:18:53 +0200 Roberto Ragusa wrote:
Forgetting for a moment about virtual devices (including tun, ppp, ...), you now got me busy trying to imagine hardware with 32000 ethernet jacks.
I think in practice it breaks down before that. I seem to recall at work the OS guys were testing a PCI expansion box and filled it up with random cards like NICs, and some versions of the linux kernel had big problems with the algorithms used to enumerate the PCI devices when that many were plugged in (I forget how big the box was, but I'm sure it was smaller than 32000 :-).
Well thanks for the pointers to the code and all the other information. The point is academic as I don't expect that the person will require enough NICs to seriously encounter any boundary conditions. Thanks.
On Sat, Sep 25, 2010 at 5:49 AM, Tom Horsley horsley1953@gmail.com wrote:
On Sat, 25 Sep 2010 11:18:53 +0200 Roberto Ragusa wrote:
Forgetting for a moment about virtual devices (including tun, ppp, ...), you now got me busy trying to imagine hardware with 32000 ethernet jacks.
I think in practice it breaks down before that. I seem to recall at work the OS guys were testing a PCI expansion box and filled it up with random cards like NICs, and some versions of the linux kernel had big problems with the algorithms used to enumerate the PCI devices when that many were plugged in (I forget how big the box was, but I'm sure it was smaller than 32000 :-). -- users mailing list users@lists.fedoraproject.org To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines