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

ng_tapnet: initial import of a pure Ethernet device for native #2558

Closed
wants to merge 13 commits into from

Conversation

miri64
Copy link
Member

@miri64 miri64 commented Mar 8, 2015

This introduces ng_tapnet which is basically nativenet without all the RIOT-proprietary headers (so pure Ethernet frames) but with full ng_netdev support.

Depends on #2661 (merged).
Depends on #2706 (merged).
Depends on #2600 for multicast.

Open issues:

  • No messages are delivered

@miri64 miri64 added Platform: native Platform: This PR/issue effects the native platform Area: network Area: Networking Type: new feature The issue requests / The PR implemements a new feature for RIOT Discussion: RFC The issue/PR is used as a discussion starting point about the item of the issue/PR Process: API change Integration Process: PR contains or issue proposes an API change. Should be handled with care. NSTF labels Mar 8, 2015
@miri64 miri64 added this to the Network Stack Task Force milestone Mar 8, 2015
}
#endif

static int _marshall_ethernet(ng_tapnet_t *dev, uint8_t *buffer, ng_pktsnip_t *pkt)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reversed packet order for sending in ng_pktbuf makes this very clunky, since I basically need to start at the end of a single linked list and than have to work my way up to the front. Any idea @haukepetersen?

@miri64
Copy link
Member Author

miri64 commented Mar 9, 2015

Tested with adapted version of #2525.

@OlegHahm OlegHahm added the CI: needs squashing Commits in this PR need to be squashed; If set, CI systems will mark this PR as unmergable label Mar 9, 2015
@miri64 miri64 mentioned this pull request Mar 10, 2015
36 tasks
@miri64
Copy link
Member Author

miri64 commented Mar 11, 2015

Rebased to #2579.

@miri64 miri64 added the State: waiting for other PR State: The PR requires another PR to be merged first label Mar 11, 2015
@OlegHahm
Copy link
Member

I think you're eager to get an award for using the most labels. ;)

@miri64
Copy link
Member Author

miri64 commented Mar 11, 2015

Sure, just let me add a Windows implementation and some Make system changes for this and I'm good to go ;-P

@miri64 miri64 force-pushed the ng_tapnet/feat/initial branch 2 times, most recently from 0dec700 to 367ca79 Compare March 13, 2015 23:07
@miri64
Copy link
Member Author

miri64 commented Mar 13, 2015

added #2598 as a dependency

@miri64 miri64 force-pushed the ng_tapnet/feat/initial branch 3 times, most recently from 644d9c3 to 2a712cb Compare March 19, 2015 20:22
@miri64
Copy link
Member Author

miri64 commented Mar 19, 2015

Rebased to current master

@miri64 miri64 force-pushed the ng_tapnet/feat/initial branch 2 times, most recently from bb0116d to 7ba0fd0 Compare March 24, 2015 00:37
@miri64
Copy link
Member Author

miri64 commented Apr 3, 2015

Can you describe this in more detail?

@LudwigKnuepfer
Copy link
Member

Can't reproduce.. today no packets are received at all.

@LudwigKnuepfer
Copy link
Member

I just noticed: If I don't rebase on master, it doesn't build at all:

$ make clean all
Building application "driver_tapnet" for "native" with MCU "native".

/home/ludwig/RIOT/tests/driver_tapnet/main.c: In function ‘main’:
/home/ludwig/RIOT/tests/driver_tapnet/main.c:74:16: error: too few arguments to function ‘ng_pktdump_init’
     dump.pid = ng_pktdump_init();
                ^
In file included from /home/ludwig/RIOT/tests/driver_tapnet/main.c:30:0:
/home/ludwig/RIOT/sys/include/net/ng_pktdump.h:42:14: note: declared here
 kernel_pid_t ng_pktdump_init(char *stack, int stacksize,
              ^
/home/ludwig/RIOT/Makefile.base:60: recipe for target '/home/ludwig/RIOT/tests/driver_tapnet/bin/native/driver_tapnet/main.o' failed
make[1]: *** [/home/ludwig/RIOT/tests/driver_tapnet/bin/native/driver_tapnet/main.o] Error 1
/home/ludwig/RIOT/tests/driver_tapnet/../../Makefile.include:162: recipe for target 'all' failed
make: *** [all] Error 2

@miri64
Copy link
Member Author

miri64 commented Apr 3, 2015

Needs rebase I guess :-)

@miri64
Copy link
Member Author

miri64 commented Apr 3, 2015

Rebased to current #2600 and addressed some comments. (#2558 (comment) needs a bigger overhaul).

@LudwigKnuepfer
Copy link
Member

Is the test working for you? (On a set of interfaces freshly created with tapsetup.sh?)

}
}
else {
errx(EXIT_FAILURE, "internal error _rx_event");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compare #2686

@kaspar030
Copy link
Contributor

I'd like to take this over, working on it right now.

@miri64
Copy link
Member Author

miri64 commented Apr 8, 2015

Please do :-)

@miri64
Copy link
Member Author

miri64 commented Apr 21, 2015

Superseded by #2776

@miri64 miri64 closed this Apr 21, 2015
@miri64 miri64 deleted the ng_tapnet/feat/initial branch April 21, 2015 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: network Area: Networking CI: needs squashing Commits in this PR need to be squashed; If set, CI systems will mark this PR as unmergable Discussion: RFC The issue/PR is used as a discussion starting point about the item of the issue/PR Platform: native Platform: This PR/issue effects the native platform Process: API change Integration Process: PR contains or issue proposes an API change. Should be handled with care. State: waiting for other PR State: The PR requires another PR to be merged first Type: new feature The issue requests / The PR implemements a new feature for RIOT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants