Project

General

Profile

« Previous | Next » 

Revision b99256c1

Added by Scott Ullrich over 15 years ago

Add misc comments

View differences:

etc/inc/interfaces.inc
1306 1306
		// Setup wireless nic
1307 1307
		if($wlcfg['wireless']['mode'] == "hostap") 
1308 1308
			$mode = "wlanmode hostap";
1309
		// Create the new wlan interface. FreeBSD returns the new interface name.
1310
		// example:  wlan2
1309 1311
		$newif = trim(`/sbin/ifconfig wlan create wlandev {$wlcfg['if']} {$mode}`);
1312
		// Rename the interface to $parentnic_wlan$parentnic#: EX: ath0_wlan0
1310 1313
		exec("/sbin/ifconfig wlan{$newif} name {$wlcfg['if']}_wlan{$interface_num}");
1311 1314
	}
1312 1315
}
......
1321 1324
     *    do not change this routine from a shell script to individul exec commands.  -sullrich
1322 1325
	 */
1323 1326

  
1327
	// Make read / writable (nano)
1324 1328
	conf_mount_rw();
1325 1329

  
1330
	// Remove script file
1326 1331
	unlink_if_exists("{$g['tmp_path']}/{$if}_setup.sh");
1327 1332

  
1333
	// Clone wireless nic if needed.
1328 1334
	interface_wireless_clone($if, $wl);
1329 1335
	
1330 1336
	$fd_set = fopen("/tmp/{$if}_setup.sh","w");
......
1594 1600
		interface_wireless_configure($realif, $wancfg, $wancfg['wireless']);
1595 1601

  
1596 1602
	if ($wancfg['spoofmac']) {
1597
		mwexec("/sbin/ifconfig " . escapeshellarg($wancfg['if']) .
1603
		mwexec("/sbin/ifconfig " . escapeshellarg($realif) .
1598 1604
			" link " . escapeshellarg($wancfg['spoofmac']));
1599 1605
	}  else {
1600
		$mac = get_interface_mac($wancfg['if']);
1606
		$mac = get_interface_mac(get_real_interface(get_real_interface($wancfg['if'])));
1601 1607
		if($mac == "ff:ff:ff:ff:ff:ff") {
1602 1608
			/*   this is not a valid mac address.  generate a
1603 1609
			 *   temporary mac address so the machine can get online.
1604 1610
			 */
1605 1611
			echo "Generating new MAC address.";
1606 1612
			$random_mac = generate_random_mac_address();
1607
			mwexec("/sbin/ifconfig " . escapeshellarg($wancfg['if']) .
1613
			mwexec("/sbin/ifconfig " . escapeshellarg(get_real_interface($wancfg['if'])) .
1608 1614
				" link " . escapeshellarg($random_mac));
1609 1615
			$wancfg['spoofmac'] = $random_mac;
1610 1616
			write_config();
......
1614 1620

  
1615 1621
	/* media */
1616 1622
	if ($wancfg['media'] || $wancfg['mediaopt']) {
1617
		$cmd = "/sbin/ifconfig " . escapeshellarg($wancfg['if']);
1623
		$cmd = "/sbin/ifconfig " . escapeshellarg(get_real_interface($wancfg['if']));
1618 1624
		if ($wancfg['media'])
1619 1625
			$cmd .= " media " . escapeshellarg($wancfg['media']);
1620 1626
		if ($wancfg['mediaopt'])
......
1662 1668
				file_put_contents("/tmp/{$realif}_router", $wancfg['gateway']);
1663 1669
	}
1664 1670
	if($wancfg['if'])
1665
		interfaces_bring_up($wancfg['if']);
1671
		interfaces_bring_up(get_real_interface($wancfg['if']));
1666 1672
	else 
1667 1673
		log_error("Could not bring wancfg['if'] up -- variable not defined in interface_configure()");
1668 1674
	
......
1685 1691
					interface_bridge_configure($bridge);
1686 1692
		}
1687 1693

  
1688
		/* XXX: Shouldn't the caller do all this reconfiguring?! */
1689 1694
		if ($interface == "lan")
1690 1695
			/* make new hosts file */
1691 1696
               		system_hosts_generate();
......
1715 1720
		}
1716 1721
	}
1717 1722

  
1718

  
1719 1723
	unmute_kernel_msgs();
1720 1724

  
1721 1725
	return 0;
......
2274 2278
				$dev = $config['interfaces'][$if]['serialport'];
2275 2279
				$ps = trim(`ps awux | grep -v grep | grep "$dev" | awk '{ print \$2 }'`);
2276 2280
				if($ps) {
2277
					$int = trim(`ifconfig | grep -v grep | grep -B2 "$ps" | head -n1 | cut -d: -f1`);
2281
					$int = trim(`/sbin/ifconfig | grep -v grep | grep -B2 "$ps" | head -n1 | cut -d: -f1`);
2278 2282
					if($int) {
2279 2283
						$wanif = $int;
2280 2284
						break;
......
2284 2288

  
2285 2289
			$cfg = $config['interfaces'][$if];
2286 2290

  
2291
			// Wireless cloned NIC support (FreeBSD 8+)
2292
			// interface name format: $parentnic_wlanparentnic#
2293
			// example: ath0_wlan0
2287 2294
			if(is_interface_wireless($interface)) {
2288 2295
				$interface_num = substr($cfg['if'], 3);
2289 2296
				$wanif = $cfg['if'] . "_wlan" . $interface_num;
......
2296 2303
			}
2297 2304

  
2298 2305
			switch ($cfg['ipaddr']) {
2299
			case "carpdev-dhcp":
2300
				$viparr = &$config['virtualip']['vip'];
2301
				$counter = 0;
2302
				if(is_array($viparr))
2303
				foreach ($viparr as $vip) {
2304
					if ($vip['mode'] == "carpdev-dhcp") {
2305
						if($vip['interface'] == $if) {
2306
							$wanif =  "carp{$counter}";
2307
							break;
2308
						}
2309
						$counter++;
2310
					} else if ($vip['mode'] = "carp") 
2311
						$counter++;
2306
				case "carpdev-dhcp":
2307
					$viparr = &$config['virtualip']['vip'];
2308
					$counter = 0;
2309
					if(is_array($viparr))
2310
					foreach ($viparr as $vip) {
2311
						if ($vip['mode'] == "carpdev-dhcp") {
2312
							if($vip['interface'] == $if) {
2313
								$wanif =  "carp{$counter}";
2314
								break;
2315
							}
2316
							$counter++;
2317
						} else if ($vip['mode'] = "carp") 
2318
							$counter++;
2319
					}
2320
					break;
2321
				case "pppoe": 
2322
					if ($if == "wan")
2323
						$wanif = "pppoe0";
2324
					else
2325
						$wanif = "pppoe" . substr($if,3);
2326
					break;
2327
				case "pptp": 
2328
					if ($if == "wan")
2329
						$wanif = "pptp0";
2330
					else
2331
						$wanif = "pptp" . substr($if, 3);
2332
					break;
2333
				default:
2334
					$wanif = $cfg['if'];
2335
					break;
2312 2336
				}
2313
				break;
2314
			case "pppoe": 
2315
				if ($if == "wan")
2316
					$wanif = "pppoe0";
2317
				else
2318
					$wanif = "pppoe" . substr($if,3);
2319
				break;
2320
			case "pptp": 
2321
				if ($if == "wan")
2322
					$wanif = "pptp0";
2323
				else
2324
					$wanif = "pptp" . substr($if, 3);
2325
				break;
2326
			default:
2327
				$wanif = $cfg['if'];
2328
				break;
2329
			}
2330 2337
			
2331
			break;
2338
				break;
2332 2339
			}
2333 2340
		}
2334 2341
		break;

Also available in: Unified diff