summaryrefslogtreecommitdiffstats
path: root/sys/net/if_tap.c
diff options
context:
space:
mode:
authornsayer <nsayer@FreeBSD.org>2000-07-25 23:50:30 +0000
committernsayer <nsayer@FreeBSD.org>2000-07-25 23:50:30 +0000
commit879de827c0ddd2d8b1bef53edfca86cf669e2e75 (patch)
treef49f1ee479ede6f9e84cc8ffd6e4dd2146234a74 /sys/net/if_tap.c
parent4600fb1a7e25bffa13cd44b84ed7bfabdb751d15 (diff)
downloadFreeBSD-src-879de827c0ddd2d8b1bef53edfca86cf669e2e75.zip
FreeBSD-src-879de827c0ddd2d8b1bef53edfca86cf669e2e75.tar.gz
Change to support vmware... SIOCSIFADDR on the character device
sets the (notional) "remote" ethernet address. Submitted by: vsilyaev@mindspring.com
Diffstat (limited to 'sys/net/if_tap.c')
-rw-r--r--sys/net/if_tap.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/net/if_tap.c b/sys/net/if_tap.c
index 66af534..aad9101 100644
--- a/sys/net/if_tap.c
+++ b/sys/net/if_tap.c
@@ -284,6 +284,8 @@ tapopen(dev, flag, mode, p)
if (tp->tap_flags & TAP_OPEN)
return (EBUSY);
+ bcopy(tp->arpcom.ac_enaddr, tp->ether_addr, sizeof(tp->ether_addr));
+
tp->tap_pid = p->p_pid;
tp->tap_flags |= TAP_OPEN;
taprefcnt ++;
@@ -610,15 +612,13 @@ tapioctl(dev, cmd, data, flag, p)
splx(s);
} break;
- case OSIOCGIFADDR: /* get MAC address */
+ case OSIOCGIFADDR: /* get MAC address of the remote side */
case SIOCGIFADDR:
- bcopy(tp->arpcom.ac_enaddr, data, ETHER_ADDR_LEN);
+ bcopy(tp->ether_addr, data, sizeof(tp->ether_addr));
break;
- case SIOCSIFADDR: /* set MAC address */
- s = splimp();
- bcopy(data, tp->arpcom.ac_enaddr, ETHER_ADDR_LEN);
- splx(s);
+ case SIOCSIFADDR: /* set MAC address of the remote side */
+ bcopy(data, tp->ether_addr, sizeof(tp->ether_addr));
break;
default:
OpenPOWER on IntegriCloud