diff options
-rw-r--r-- | etc/inc/interfaces.inc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index 6bc56e0..4aed225 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -85,6 +85,18 @@ function interfaces_vlan_configure() { /* invalidate interface cache */ get_interface_arr(true); + /* all vlans need to spoof their parent mac address, too. see + * ticket #1514: http://cvstrac.pfsense.com/tktview?tn=1514,33 + */ + foreach($config['interfaces'] as $interfaces) { + if($interfaces['if'] == $vlan['if']) { + if($interfaces['spoofmac']) { + mwexec("/sbin/ifconfig " . escapeshellarg($interfaces['if']) . + " link " . escapeshellarg($interfaces['spoofmac'])); + } + } + } + /* make sure the parent interface is up */ mwexec("/sbin/ifconfig " . escapeshellarg($vlan['if']) . " up"); |