()
| 1946 | def _list_iface_names(include_virtual=False): |
| 1947 | res = _run(['ip', '-o', 'link', 'show'], timeout=5) |
| 1948 | names = [] |
| 1949 | for line in res['out'].splitlines(): |
| 1950 | m = re.match(r'^\d+:\s+([^:@]+)', line) |
| 1951 | if m: |
| 1952 | name = m.group(1).strip() |
| 1953 | if name == 'lo': |
| 1954 | continue |
| 1955 | if not include_virtual and _VIRTUAL_IFACE_RE.match(name): |
| 1956 | continue |
| 1957 | names.append(name) |
| 1958 | return names |
| 1959 | |
| 1960 |
nothing calls this directly
no test coverage detected