Skip to content

gnrc: remove legacy GNRC code#8064

Merged
bergzand merged 2 commits intoRIOT-OS:gnrc_netif2_integration/masterfrom
miri64:gnrc/cleanup/rm-legacy
Nov 17, 2017
Merged

gnrc: remove legacy GNRC code#8064
bergzand merged 2 commits intoRIOT-OS:gnrc_netif2_integration/masterfrom
miri64:gnrc/cleanup/rm-legacy

Conversation

@miri64
Copy link
Copy Markdown
Member

@miri64 miri64 commented Nov 16, 2017

This removes (the old) gnrc_netif, gnrc_ipv6_netif, gnrc_sixlowpan_netif, and the old gnrc_ndp (with all its submodules). It is still WIP, but I don't want to mark it as such, since I want to let Murdock test it iteratively in case I missed something.

@miri64 miri64 added Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation GNRC Area: network Area: Networking CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Nov 16, 2017
@miri64 miri64 requested a review from bergzand November 16, 2017 16:13
@miri64 miri64 force-pushed the gnrc/cleanup/rm-legacy branch 7 times, most recently from c52823b to 69b72f8 Compare November 16, 2017 17:43
@miri64 miri64 changed the title gnrc: remove legacy code and rename gnrc_netif2 and gnrc_ndp2 gnrc: remove legacy GNRC code Nov 16, 2017
@miri64
Copy link
Copy Markdown
Member Author

miri64 commented Nov 16, 2017

I think this PR is big enough without the rename. Will provide the rename in a follow-up.

@miri64
Copy link
Copy Markdown
Member Author

miri64 commented Nov 16, 2017

This is not WIP anymore, when Murdock passes.

@miri64
Copy link
Copy Markdown
Member Author

miri64 commented Nov 16, 2017

Murdock likes it! :-)

# implicitly pulled in by gnrc_ipv6_netif (which is a dependency of gnrc_ipv6)
# already.
ifneq (,$(filter gnrc_icmpv6_echo,$(USEMODULE)))
ifneq (,$(filter xtimer,$(USEMODULE)))
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why the explicit check for xtimer?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

See the removed comment above. gnrc_netif2 doesn't have this dependency. gnrc_ipv6_nib has it, but less obvious and I also think that dependencies should be as explicit as possible.

Copy link
Copy Markdown
Member

@bergzand bergzand Nov 16, 2017

Choose a reason for hiding this comment

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

So only the shell command requires the xtimer (and not the icmpv6 echo code itself). From an end user perspective, I would be suprised not to get the shell command when enabling the gnrc_icmpv6_echo module. I don't think the explicit check here is bad, I'm mostly doubting whether instead of an ifneq check, just pulling in xtimer as an additional dependency makes more sense.

As an example, on this branch, the gnrc_networking example includes xtimer due to the inclusing of RPL, if say a user were to remove the RPL module, he suddenly loses the icmpv6 command for no immediatly visible reason.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

So only the shell command requires the xtimer (and not the icmpv6 echo code itself). From an end user perspective, I would be suprised not to get the shell command when enabling the gnrc_icmpv6_echo module. I don't think the explicit check here is bad, I'm mostly doubting whether instead of an ifneq check, just pulling in xtimer as an additional dependency makes more sense.

It would be very inconsistent to pull it in here, also: other shell commands do it like I do here as well (and this PR is not about changing that).

As an example, on this branch, the gnrc_networking example includes xtimer due to the inclusing of RPL, if say a user were to remove the RPL module, he suddenly loses the icmpv6 command for no immediatly visible reason.

Then still gnrc_ipv6_nib would (indirectly) include xtimer. It is very unlikely that a user using gnrc_ipv6 would not use xtimer as well. Anyone who does I assume knows what they are doing ;-).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It would be very inconsistent to pull it in here, also: other shell commands do it like I do here as well (and this PR is not about changing that).

Okay, I can live with this :)

Anyone who does I assume knows what they are doing ;-).

Lets hope so :)

@miri64 miri64 force-pushed the gnrc/cleanup/rm-legacy branch from 69b72f8 to 636ef2a Compare November 17, 2017 08:20
@miri64
Copy link
Copy Markdown
Member Author

miri64 commented Nov 17, 2017

Rebased to current #7925

@miri64
Copy link
Copy Markdown
Member Author

miri64 commented Nov 17, 2017

Go ahead and merge if you want! :-)

@bergzand bergzand merged commit 6980d82 into RIOT-OS:gnrc_netif2_integration/master Nov 17, 2017
@miri64 miri64 deleted the gnrc/cleanup/rm-legacy branch November 17, 2017 09:38
@aabadie aabadie added this to the Release 2018.01 milestone Jan 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: network Area: Networking CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants