mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-14 00:24:40 +00:00
System / Routes / Status: remove entries directly connected to an interface, rework last commit for https://github.com/opnsense/core/issues/4721
This commit is contained in:
parent
5126fe1658
commit
0d94d0aefb
@ -32,6 +32,8 @@ import subprocess
|
||||
import sys
|
||||
import ujson
|
||||
import argparse
|
||||
import ipaddress
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# parse input arguments
|
||||
@ -48,11 +50,13 @@ if __name__ == '__main__':
|
||||
# route entry found, try to delete
|
||||
print ("found")
|
||||
inet = '-6' if parts[0].find(':') > 0 else '-4'
|
||||
if len(parts[1].replace(':', '')) == 12 and parts[1].count(':') == 5:
|
||||
# gateway is a mac address, remove entry directly assigned to an interface
|
||||
subprocess.run(['/sbin/route', inet, 'delete', parts[0]], capture_output=True)
|
||||
else:
|
||||
try:
|
||||
ipaddress.ip_address(parts[1])
|
||||
# gateway is an ip address (v4/v6)
|
||||
subprocess.run(['/sbin/route', inet, 'delete', parts[0], parts[1]], capture_output=True)
|
||||
except ValueError:
|
||||
subprocess.run(['/sbin/route', inet, 'delete', parts[0]], capture_output=True)
|
||||
|
||||
sys.exit(0)
|
||||
|
||||
# not found
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user