
This issue trackerhas been migrated toGitHub, and is currentlyread-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.
Created on2019-05-22 11:01 bydtantsur, last changed2022-04-11 14:59 byadmin. This issue is nowclosed.
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 13522 | merged | ZackerySpytz,2019-05-23 10:24 | |
| Messages (8) | |||
|---|---|---|---|
| msg343171 -(view) | Author: Dmitry Tantsur (dtantsur) | Date: 2019-05-22 11:01 | |
These two calls are currently Unix-only in the socket module. However, Windows supports them starting with Vista:https://docs.microsoft.com/en-us/windows/desktop/api/netioapi/nf-netioapi-if_indextonamehttps://docs.microsoft.com/en-us/windows/desktop/api/netioapi/nf-netioapi-if_nametoindexI checked with ctypes and they do seem to work. Unfortunately, if_nameindex is not implemented. | |||
| msg343285 -(view) | Author: Zackery Spytz (ZackerySpytz)*![]() | Date: 2019-05-23 10:26 | |
I've created a PR for this issue. Few changes are needed to implement these functions on Windows. | |||
| msg343303 -(view) | Author: Steve Dower (steve.dower)*![]() | Date: 2019-05-23 15:38 | |
Is it worth also implementing if_nameindex() using (I assume) GetIfTable2Ex [1]? Or maybe just the simpler GetIfTable is sufficient - I'm not sure exactly what semantics Unix if_nameindex() has, whether it includes all logical adapters.[1]:https://docs.microsoft.com/en-us/windows/desktop/api/netioapi/nf-netioapi-getiftable2ex | |||
| msg343347 -(view) | Author: Dmitry Tantsur (dtantsur) | Date: 2019-05-24 07:48 | |
That would be fantastic, but I did not dare asking for it :)This is how the output of if_nameindex looks on my Fedora 29:[(1, 'lo'), (2, 'enp0s31f6'), (3, 'wlp4s0'), (4, 'virbr0'), (5, 'virbr0-nic'), (12, 'tun0')]It includes the loopback, two real adapters (ethernet and wifi) and devices apparently created by libvirt.This is how it looks on my OpenStack testing environment:[(1, 'lo'), (2, 'eth0'), (3, 'virbr0'), (4, 'virbr0-nic'), (5, 'ovs-system'), (6, 'br-int'), (7, 'br-ex'), (8, 'brbm'), (9, 'br-tun'), (14, 'ovs-node-0i1'), (15, 'tap-node-0i1'), (16, 'ovs-node-0i2'), (17, 'tap-node-0i2'), (18, 'ovs-node-1i1'), (19, 'tap-node-1i1'), (20, 'ovs-node-1i2'), (21, 'tap-node-1i2'), (22, 'ovs-node-2i1'), (23, 'tap-node-2i1'), (24, 'ovs-node-2i2'), (25, 'tap-node-2i2'), (26, 'ovs-tap'), (27, 'brbm-tap'), (34, 'br-inspector'), (35, 'brbm-inspector'), (55, 'macvtap2'), (56, 'macvtap3'), (79, 'macvtap0'), (80, 'macvtap1')]It seems to actually include everything. | |||
| msg343892 -(view) | Author: Zackery Spytz (ZackerySpytz)*![]() | Date: 2019-05-29 15:38 | |
Well, it turns out that implementing if_nameindex() on Windows using GetIfTable2Ex() was also quite simple. I've updated the PR. | |||
| msg343900 -(view) | Author: Steve Dower (steve.dower)*![]() | Date: 2019-05-29 17:07 | |
Great, thanks Zackery! (And thanks for the ping - I don't notice GitHub notifications.)Had a few comments about error handling, but it looks great. | |||
| msg343913 -(view) | Author: Zackery Spytz (ZackerySpytz)*![]() | Date: 2019-05-29 19:30 | |
Thanks, Steve. I've addressed your comments on the PR. | |||
| msg343925 -(view) | Author: Steve Dower (steve.dower)*![]() | Date: 2019-05-29 21:02 | |
New changeset8f96c9f8ed2a4795e34b333411451e24f28f74d2 by Steve Dower (Zackery Spytz) in branch 'master':bpo-37007: Implement socket.if_nametoindex(), if_indextoname() and if_nameindex() on Windows (GH-13522)https://github.com/python/cpython/commit/8f96c9f8ed2a4795e34b333411451e24f28f74d2 | |||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:59:15 | admin | set | github: 81188 |
| 2019-05-29 21:58:45 | steve.dower | set | status: open -> closed resolution: fixed stage: patch review -> resolved |
| 2019-05-29 21:02:44 | steve.dower | set | messages: +msg343925 |
| 2019-05-29 19:30:14 | ZackerySpytz | set | messages: +msg343913 |
| 2019-05-29 17:07:49 | steve.dower | set | messages: +msg343900 |
| 2019-05-29 16:50:10 | eryksun | set | nosy: -eryksun |
| 2019-05-29 15:38:57 | ZackerySpytz | set | messages: +msg343892 |
| 2019-05-24 07:48:17 | dtantsur | set | messages: +msg343347 |
| 2019-05-23 15:38:54 | steve.dower | set | messages: +msg343303 |
| 2019-05-23 10:26:55 | ZackerySpytz | set | nosy: +ZackerySpytz,eryksun messages: +msg343285 |
| 2019-05-23 10:24:17 | ZackerySpytz | set | keywords: +patch stage: patch review pull_requests: +pull_request13437 |
| 2019-05-23 07:48:48 | matrixise | set | nosy: +paul.moore,tim.golden,zach.ware,steve.dower components: + Windows, - Library (Lib) |
| 2019-05-22 11:01:24 | dtantsur | create | |