Skip to content
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

Merged
merged 1 commit into from
Apr 14, 2014
Merged

Conversation

SlEePlEs5
Copy link
Contributor

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!).

@delroth
Copy link
Member

delroth commented Apr 12, 2014

@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.

@delroth
Copy link
Member

delroth commented Apr 12, 2014

Linter complains about trailing whitespaces, please fix.

@Sonicadvance1
Copy link
Contributor

Yea, there isn't a need for the #ifdef APPLE lines since this file is only compiled under OS X.

@Sonicadvance1
Copy link
Contributor

@dolphin-emu-bot rebuild

@Sonicadvance1
Copy link
Contributor

If the commits are squashed then LGTM

@SlEePlEs5
Copy link
Contributor Author

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.

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.

@neobrain
Copy link
Member

Has this code been tested with games which use BBA?

@delroth
Copy link
Member

delroth commented Apr 12, 2014

@dolphin-emu-bot rebuild

@SlEePlEs5
Copy link
Contributor Author

@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.

@Sonicadvance1
Copy link
Contributor

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.

@SlEePlEs5
Copy link
Contributor Author

@Sonicadvance1 jmc?

@Sonicadvance1
Copy link
Contributor

JMC47, he's our super tester extraordinaire

@SlEePlEs5
Copy link
Contributor Author

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?

@SlEePlEs5
Copy link
Contributor Author

Any chance this'll get merged in, or does something else need to happen first?

@Sonicadvance1
Copy link
Contributor

Needs someone other than myself to say LGTM.

delroth added a commit that referenced this pull request Apr 14, 2014
Added BBA TAP backend for OS X.
@delroth delroth merged commit f034983 into dolphin-emu:master Apr 14, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

6 participants