-
Notifications
You must be signed in to change notification settings - Fork 3k
UBLOX_EVK_ODIN_W2 bridge implementation #9204
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
UBLOX_EVK_ODIN_W2 bridge implementation #9204
Conversation
@AmmadRehmat, thank you for your changes. |
@AmmadRehmat Please review travis astyle job failures |
travis astyle job failures fixed |
#if MBED_EMAC_LWIP_L2_BRIDGE | ||
macinit.PromiscuousMode = ETH_PROMISCUOUS_MODE_ENABLE, | ||
#else | ||
macinit.PromiscuousMode = ETH_PROMISCUOUS_MODE_DISABLE, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should be aligned the same as the line 1608 and above
#define EMAC_LWIP_L2B_ENTRY_TIMEOUT (120) //timer ticks before removing inactive L2B entry | ||
#endif | ||
|
||
err_t emac_lwip_l2b_register_interface(struct netif *netif); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These should have doxygen?
@0xc0170 Modified according to review comments |
@ARMmbed/mbed-os-ipcore Please review |
@AmmadRehmat I cannot justify the LwIP specific API changes. Why cannot this be implemented in EMAC layer without touching any existing public APIs? I think you could, at least in theory, create a device that takes in EMAC interface, and is EMAC interface itself. Using this kind of approach does not force you to pull in the LwIP stack. You could use it, but you are not required to. Also, would not require any API changes. |
@SeppoTakalo
|
Yes, I would prefer the design to be revised. I do like the fact that you did it without touching the driver API, but I don't like that it touches the LwIPInterface making this work only on LwIP. I strongly feel that this could have been done in separate class that sits between EMAC driver and the network stack. That would make it work for both stacks that we have (LwIP and Nanostack). |
@SeppoTakalo the latest version of lwip has a bridge interface available, is there any plan to move lwip to latest version? |
@AmmadRehmat We have plan to update LwIP to latest version very soon. However, there are some refactorings ongoing, so I cannot promise that it will come in 5.12 timeframe but that is our target. Still the proposal is the same, I prefer that this work is going to be done without the IP stack and in the EMAC interface. It would allow bridge devices even without IP stack at all, or it would allow bridge devices with Nanostack as well. |
Based on the latest comments, this PR should be closed and a solution further discussed here (even PR is closed) ? This feels like a good candidate for new design document https://github.com/ARMmbed/mbed-os/tree/master/docs/design-documents |
@0xc0170 I'll hold on a bit while there are product level discussions on this. |
@screamerbg Any updates/outcomes from those discussions? |
Removed 5.12 release label for now. If not, and this will is targeting 5.12, let us know |
@0xc0170 @screamerbg We are waiting for new version of lwIP to be introduced in 5.12 and will be using that bridge in our release. Meanwhile lets keep this PR open until the latest lwIP version is integrated |
@AmmadRehmat Checking, do you know when the PR to update LWIP will be opened? |
@cmonr according to above discussion with ARM team , it looks like its going to be in release 5.12 |
@AmmadRehmat Has there been any progress on either this PR or the LWIP dependency? |
@cmonr we are in touch with Pasi Pikkarainen , he is yet to provide a date for lwip release |
@AmmadRehmat Any update? |
@cmonr we dont have any commitment for date for latest lwip version from ARM team |
@AmmadRehmat @SeppoTakalo As this is not progressing, can we take this offline if still needed? |
@0xc0170 let me have a look at the lwip version, is the 5.13 mbed-os out? it contains this PR you refered? |
It's not - it's only on master so use that one as your base. We are going to release 5.12.2 the next week (few more patch releases until we get to 5.13). |
@SeppoTakalo this looks quite similar to what we were trying to do. Correct me if i am wrong. It looks like bridging is already supported |
@AmmadRehmat 5.13 is out. Shall this be closed and reopen with an update ? @SeppoTakalo will be back in a week. |
@AmmadRehmat, no I don't think the bridging is implemented. |
@AmmadRehmat Would the issue suit better here or rather a new PR with suggestions implemented? It looks like this PR won't progress for a while. |
I am closing this PR @AmmadRehmat . Let's create an issue for further discussion or keep it here. |
@0xc0170 sorry for not replying earlier. Yes its OK to close it. |
Description
Bridge functionality added
To enable the bridge add the below macro and increase the lwIP pbuf pool size in mbed_app.json, for example:
"macros": ["MBED_EMAC_LWIP_L2_BRIDGE=1"],
"lwip-pbuf-pool-size":
{ "help": "Number of pbuf pool buffers", "value": "80" }
Tests performed
mbed_os_tests_arm.txt
mbed_os_tests_gcc.txt
mbed_os_tests_iar.txt
Pull request type
Reviewers