Changeset 717
- Timestamp:
- 06/01/06 16:00:00 (7 years ago)
- File:
-
- 1 edited
-
ccsd/private/modules/ccs_monitor_rurallink.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ccsd/private/modules/ccs_monitor_rurallink.py
r716 r717 70 70 # How often (seconds) to check DNS settings 71 71 DNS_UPDATE_INTERVAL = 60 72 73 # How often (seconds) to check routing 74 ROUTE_CHECK_INTERVAL = 60 72 75 73 76 ISP_IF_DISCONNECT = """<a href="/rladmin/isp-disconnect">[Disconnect]</a>""" … … 384 387 found = False 385 388 for route in routes: 386 if route["network"] == formatIP(network) and \ 389 if network=="default" and route["network"]== "0.0.0.0" and \ 390 route["netmask"] == "0.0.0.0": 391 found = True 392 break 393 elif route["network"] == formatIP(network) and \ 387 394 route["netmask"]==formatIP(bitsToNetmask(mask)): 388 395 found = True 389 396 break 390 397 if not found: 391 cidr = "%s/%s" % (formatIP(network), mask) 398 if network != "default": 399 cidr = "%s/%s" % (formatIP(network), mask) 400 else: 401 cidr = network 392 402 rv = log_command("/sbin/ip route add %s via %s dev %s 2>&1" % \ 393 403 (cidr, dest, dev)) … … 399 409 def delRoute(network, mask, dest, dev): 400 410 """Removes a route from the route table""" 401 cidr = "%s/%s" % (formatIP(network), mask) 411 if network != "default": 412 cidr = "%s/%s" % (formatIP(network), mask) 413 else: 414 cidr = network 402 415 rv = log_command("/sbin/ip route del %s via %s dev %s 2>&1" % \ 403 416 (cidr, dest, dev)) … … 2305 2318 pref_set("rurallink", "isptype", rl_isptype, monitor_prefs) 2306 2319 2307 if rl_isptype == ISP_DSL: 2308 # Add DSL alias IP 2309 log_command("/sbin/ip addr add %s/%s dev %s 2>&1" % \ 2310 (DSL_CPE_IP, DSL_NETMASK, int_ifname)) 2311 log_command("/sbin/ip route add default via %s dev %s 2>&1" % \ 2312 (DSL_MODEM_IP, int_ifname)) 2313 else: 2314 # Remove DSL alias IP 2315 log_command("/sbin/ip addr del %s/%s dev %s &>/dev/null" % \ 2316 (DSL_CLE_IP, DSL_NETMASK, if_ifname)) 2317 log_command("/sbin/ip route del default via %s dev %s &>/dev/null" % \ 2318 (DSL_MODEM_IP, int_ifname)) 2320 # Setup routes 2321 initialiseISPRoutes() 2319 2322 2320 2323 def updateISP(username, password): … … 2418 2421 else: 2419 2422 raise ccs_rurallink_error("Unknown ISP type passed to ISPDisconnect!") 2423 2424 def initialiseISPRoutes(): 2425 global rl_isptype, int_ifname 2426 2427 if rl_isptype == ISP_DSL: 2428 # Add DSL alias IP 2429 log_command("/sbin/ip addr add %s/%s dev %s &>/dev/null" % \ 2430 (DSL_CPE_IP, DSL_NETMASK, int_ifname)) 2431 addRoute("default", 0, DSL_MODEM_IP, int_ifname) 2432 else: 2433 # Remove DSL alias IP 2434 log_command("/sbin/ip addr del %s/%s dev %s &>/dev/null" % \ 2435 (DSL_CPE_IP, DSL_NETMASK, int_ifname)) 2436 delRoute("default", 0, DSL_MODEM_IP, int_ifname) 2437 2438 @registerRecurring(ROUTE_CHECK_INTERVAL) 2439 def checkRoutes(): 2440 """Checks that the routing is setup correctly""" 2441 2442 if isMasterNode(): 2443 initialiseISPRoutes() 2444 initialiseClientRoutes() 2420 2445 2421 2446 @registerRecurring(DNS_UPDATE_INTERVAL) … … 2555 2580 # Retrieve the ISP we're connecting to 2556 2581 rl_isptype = pref_get("rurallink", "isptype", monitor_prefs, ISP_BCL) 2557 if rl_isptype == ISP_DSL: 2558 # Add DSL alias IP 2559 log_command("/sbin/ip addr add %s/%s dev %s 2>&1" % \ 2560 (DSL_CPE_IP, DSL_NETMASK, int_ifname)) 2561 log_command("/sbin/ip route add default via %s dev %s 2>&1" % \ 2562 (DSL_MODEM_IP, int_ifname)) 2563 else: 2564 # Remove DSL alias IP 2565 log_command("/sbin/ip addr del %s/%s dev %s &>/dev/null" % \ 2566 (DSL_CPE_IP, DSL_NETMASK, int_ifname)) 2567 log_command("/sbin/ip route del default via %s dev %s " \ 2568 "&>/dev/null" % (DSL_MODEM_IP, int_ifname)) 2582 initialiseISPRoutes() 2569 2583 2570 2584 # Initialise the status map
Note: See TracChangeset
for help on using the changeset viewer.
