Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
do not fail when rtnetlink is not available on older linux systems
I was getting this error after #4352 was merged on a linux system with a pretty old kernel (3.10.0-1160.45.1.el7.x86_64): ``` File "/usr/lib/python3.11/site-packages/scapy/layers/snmp.py", line 20, in <module> from scapy.layers.inet import UDP, IP, ICMP File "/usr/lib/python3.11/site-packages/scapy/layers/inet.py", line 20, in <module> from scapy.ansmachine import AnsweringMachine File "/usr/lib/python3.11/site-packages/scapy/ansmachine.py", line 20, in <module> from scapy.arch import get_if_addr File "/usr/lib/python3.11/site-packages/scapy/arch/__init__.py", line 189, in <module> _set_conf_sockets() # Apply config ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/scapy/config.py", line 826, in _set_conf_sockets conf.ifaces.reload() File "/usr/lib/python3.11/site-packages/scapy/interfaces.py", line 253, in reload self._reload_provs() File "/usr/lib/python3.11/site-packages/scapy/interfaces.py", line 249, in _reload_provs self._load(prov.reload(), prov) ^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/scapy/interfaces.py", line 51, in reload return self.load() ^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/scapy/arch/linux/__init__.py", line 173, in load for iface in _get_if_list().values(): ^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/scapy/arch/linux/rtnetlink.py", line 790, in _get_if_list results = _sr1_rtrequest( ^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/scapy/arch/linux/rtnetlink.py", line 718, in _sr1_rtrequest sock.setsockopt(SOL_NETLINK, NETLINK_EXT_ACK, 1) OSError: [Errno 92] Protocol not available ```
- Loading branch information