-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added BBA TAP backend for OS X. #262
Conversation
@dolphin-emu-bot rebuild |
if (IsActivated()) | ||
return true; | ||
|
||
// Assumes that there is a TAP device named "Dolphin" preconfigured for |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
Linter complains about trailing whitespaces, please fix. |
Yea, there isn't a need for the #ifdef APPLE lines since this file is only compiled under OS X. |
@dolphin-emu-bot rebuild |
If the commits are squashed then LGTM |
Squashed the commits. |
} | ||
|
||
bool CEXIETHERNET::IsActivated() | ||
{ | ||
return false; | ||
return fd != -1 ? true : false; | ||
} |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
TUN/TAP OS X needs to be installed, and /dev/tap0 chown’d to the user. The tap0 network interface doesn’t appear until /dev/tap0 is opened by the program, so all bridging must be done once the game is already running. Unfortunately, bridging seems to be broken on OS X, so this does not actually work over LAN (yet!).
if (IsActivated()) | ||
return true; | ||
|
||
// Assumes TunTap OS X is installed, and /dev/tun0 is not in use |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
Has this code been tested with games which use BBA? |
@dolphin-emu-bot rebuild |
@neobrain I've tested it with Mario Kart: Double Dash!!, Wireshark shows packets being transmitted and if I make two separate dolphin builds, one which uses tap0 and one which uses tap1, and bridge them together, the two games do find each other (but freeze when connecting, probably because of identical IP / MAC addresses). However, bridging tap0 and en0 didn't seen to work, and two emulators couldn't find each other over LAN. The code itself is fine (and probably functional), but I (or some kind soul) still need to figure out how to setup a proper network bridge on OS X. |
JMC hasn't ever been able to get a game to work over LAN via a network bridge either. So it may just be an issue somewhere else. |
@Sonicadvance1 jmc? |
JMC47, he's our super tester extraordinaire |
and he couldn't get it to work on linux or windows either? because the bba wiki page seems to suggest that it's fully working... If not, how would you suggest making two tap interfaces talk over the network? |
Any chance this'll get merged in, or does something else need to happen first? |
Needs someone other than myself to say LGTM. |
Added BBA TAP backend for OS X.
TUN/TAP OS X needs to be installed, and /dev/tap0 chown’d to the user.
The tap0 network interface doesn’t appear until /dev/tap0 is opened by
the program, so all bridging must be done once the game is already
running.
Unfortunately, bridging seems to be broken on OS X, so this does not
work over LAN (yet!).