* Predict/force PCI slot id given by the kernel to NICs @ 2014-05-20 20:55 Jaime Arrocha 2014-05-20 21:18 ` Greg KH 2014-05-20 21:21 ` Valdis.Kletnieks at vt.edu 0 siblings, 2 replies; 3+ messages in thread From: Jaime Arrocha @ 2014-05-20 20:55 UTC (permalink / raw) To: kernelnewbies Good day all, I am working on a Proliant server model which have 6 physical pci slots. They are going to be used for NICs with either 2 or 4 interfaces and installed in an arbitrarily order in the slots. By this I mean that the a certain box will only have a card/s on only certain slots. I need to write a program to its able to predict/read what bus id (slot id) the kernel gives to each interface for every card. The program should be able to relate the bus id to the slot where it is physically installed at. I understand that some cards obtain a different bus id's even do they are connected on the same physical pci slot. So if I could find a way where the program is able to control/predict what bus id is given to them by the kernel to each slot, that would solve my problem. The reason for this is because, by identifying the slot where a certain card is installed, I can use that bus id to change the udev rule naming for the card's interfaces. For example, Card at slot 1? rename its interfaces to s1pX where 'p' stands for port. I just need help being pointed to the right direction. Will I find all my answers at pci.h? The man page for lspci sends me to this file. Let me know if I need to be more clear. Thanks for your time. Jaime -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140520/e0ed3c1b/attachment.html ^ permalink raw reply [flat|nested] 3+ messages in thread
* Predict/force PCI slot id given by the kernel to NICs 2014-05-20 20:55 Predict/force PCI slot id given by the kernel to NICs Jaime Arrocha @ 2014-05-20 21:18 ` Greg KH 2014-05-20 21:21 ` Valdis.Kletnieks at vt.edu 1 sibling, 0 replies; 3+ messages in thread From: Greg KH @ 2014-05-20 21:18 UTC (permalink / raw) To: kernelnewbies On Tue, May 20, 2014 at 03:55:09PM -0500, Jaime Arrocha wrote: > Good day all, > > I am working on a Proliant server model which have 6 physical pci slots. They > are going to be used for NICs with either 2 or 4 interfaces and installed in an > arbitrarily order in the slots. By this I mean that the a certain box will only > have a card/s on only certain slots.? > > I need to write a program to its able to predict/read what bus id (slot id) the > kernel gives to each interface for every card. The program should be able to > relate the bus id to the slot where it is physically installed at. The kernel already gives you this information in sysfs, if the BIOS provides it. > I understand that some cards obtain a different bus id's even do they are > connected on the same physical pci slot. So if I could find a way where the > program is able to control/predict what bus id is given to them by the kernel > to each slot, that would solve my problem. You can't do that, the BIOS picks the bus ids, and they can be random for all it cares. You can not pick them at all, that's not how PCI works, sorry. > The reason for this is because, by identifying the slot where a certain card is > installed, I can use that bus id to change the udev rule naming for the card's > interfaces.? udev already does this in a persistent way, using the bus id and slot number, if present, by default, why do you have to add any additional logic here? > For example, > Card at slot 1? rename its interfaces to s1pX? > where 'p' stands for port. Already done, look at the default naming scheme udev provides for network devices :) Hope this helps, greg k-h ^ permalink raw reply [flat|nested] 3+ messages in thread
* Predict/force PCI slot id given by the kernel to NICs 2014-05-20 20:55 Predict/force PCI slot id given by the kernel to NICs Jaime Arrocha 2014-05-20 21:18 ` Greg KH @ 2014-05-20 21:21 ` Valdis.Kletnieks at vt.edu 1 sibling, 0 replies; 3+ messages in thread From: Valdis.Kletnieks at vt.edu @ 2014-05-20 21:21 UTC (permalink / raw) To: kernelnewbies On Tue, 20 May 2014 15:55:09 -0500, Jaime Arrocha said: > I am working on a Proliant server model which have 6 physical pci slots. > They are going to be used for NICs with either 2 or 4 interfaces and > installed in an arbitrarily order in the slots. By this I mean that the a > certain box will only have a card/s on only certain slots. > > I need to write a program to its able to predict/read what bus id (slot id) > the kernel gives to each interface for every card. The program should be > able to relate the bus id to the slot where it is physically installed at. Have whatever installer program (anaconda for RH-based, etc) call an exit script that does an 'lspci | grep your_nic_card_here'? and scribble in the /etc/udev/rules.d file? -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 848 bytes Desc: not available Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140520/062cd063/attachment.bin ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-05-20 21:21 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-05-20 20:55 Predict/force PCI slot id given by the kernel to NICs Jaime Arrocha 2014-05-20 21:18 ` Greg KH 2014-05-20 21:21 ` Valdis.Kletnieks at vt.edu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).