=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/etc/netstart,v retrieving revision 1.171 retrieving revision 1.172 diff -c -r1.171 -r1.172 *** src/etc/netstart 2016/09/27 09:19:11 1.171 --- src/etc/netstart 2016/12/06 14:01:43 1.172 *************** *** 1,6 **** #!/bin/sh - # ! # $OpenBSD: netstart,v 1.171 2016/09/27 09:19:11 rzalamena Exp $ # Turn off Strict Bourne shell mode. set +o sh --- 1,6 ---- #!/bin/sh - # ! # $OpenBSD: netstart,v 1.172 2016/12/06 14:01:43 mpi Exp $ # Turn off Strict Bourne shell mode. set +o sh *************** *** 167,172 **** --- 167,187 ---- done } + # Parse /etc/mygate and add default routes for IPv4 and IPv6 + # Usage: defaultroute + defaultroute() { + [[ -z $dhcpif ]] && stripcom /etc/mygate | while read gw; do + [[ $gw == @(*:*) ]] && continue + route -qn delete default >/dev/null 2>&1 + route -qn add -host default $gw && break + done + [[ -z $rtsolif ]] && stripcom /etc/mygate | while read gw; do + [[ $gw == !(*:*) ]] && continue + route -qn delete -inet6 default >/dev/null 2>&1 + route -qn add -host -inet6 default $gw && break + done + } + # Make sure the invoking user has the right privileges. if (($(id -u) != 0)); then echo "${0##*/}: need root privileges" *************** *** 178,187 **** _rc_parse_conf # If we were invoked with a list of interface names, just reconfigure these ! # interfaces (or bridges) and return. if (($# > 0)); then for _if; do ifstart $_if; done ifv6autoconf return fi --- 193,203 ---- _rc_parse_conf # If we were invoked with a list of interface names, just reconfigure these ! # interfaces (or bridges), add default routes and return. if (($# > 0)); then for _if; do ifstart $_if; done ifv6autoconf + defaultroute return fi *************** *** 262,277 **** ifv6autoconf # Look for default routes in /etc/mygate. ! [[ -z $dhcpif ]] && stripcom /etc/mygate | while read gw; do ! [[ $gw == @(*:*) ]] && continue ! route -qn delete default >/dev/null 2>&1 ! route -qn add -host default $gw && break ! done ! [[ -z $rtsolif ]] && stripcom /etc/mygate | while read gw; do ! [[ $gw == !(*:*) ]] && continue ! route -qn delete -inet6 default >/dev/null 2>&1 ! route -qn add -host -inet6 default $gw && break ! done # Multicast routing. if [[ $multicast != YES ]]; then --- 278,284 ---- ifv6autoconf # Look for default routes in /etc/mygate. ! defaultroute # Multicast routing. if [[ $multicast != YES ]]; then