Commit Graph

661 Commits (46ccded9b1d9ee6552bd7da220975c6fc2bcce15)

Author SHA1 Message Date
JojoS62 a4d5186f39 add config option for phy media interface 2020-04-02 12:16:57 +02:00
Kimmo Vaisanen 949856d967 Replace unique_ptr::reset() call with "= nullptr"
This is a workaround for IAR library bug.
2020-04-01 12:13:49 +03:00
Martin Kojtal 0eca8d38d0
Merge pull request #12715 from RyoheiHagimoto/rza1-eth-deprecation
RZ_A1H remove usage of ethernet hal API
2020-04-01 08:54:31 +02:00
Martin Kojtal dba3962f16
Merge pull request #12570 from kjbracey-arm/nsapics
Improve nsapi_create_stack
2020-03-31 16:34:20 +02:00
Antti Kauppila 7904ff05b3 more error handling added for ctr and hmac 2020-03-31 15:59:56 +03:00
Teppo Järvelin c5d5d21f05 Added missing optimizations based on mbedtls/baremetal.h config 2020-03-31 14:21:45 +03:00
Teppo Järvelin 0f889c3764 fixed ssl hostname handling 2020-03-31 14:21:44 +03:00
Teppo Järvelin 17e513891b Added new global rng, needed for MbedTLS optimisations 2020-03-31 14:21:44 +03:00
Teppo Järvelin 793837cafe Prepare for upcoming MbedTLS changes 2020-03-31 14:21:44 +03:00
Hugues Kamba 209f1e6a71 Netsocket/lwIP Stack: Remove support for ARM Compiler 5
ARM Compiler 5 is no longer actively supported and was superseded in
Mbed OS by ARM Compiler 6.
2020-03-31 10:54:36 +01:00
jeromecoutant dfeeb821dc STM32 EMAC : increase thread-stacksize 2020-03-31 11:41:51 +02:00
Martin Kojtal fea7c1abef
Merge pull request #12472 from praveenCY/pr/wpa3_support_merge
Add WPA3 support in mbed-os for green tea tests
2020-03-31 08:32:27 +02:00
RyoheiHagimoto 7794221c69 [RZ_A1H] remove usage of ethernet hal API 2020-03-30 14:54:35 +09:00
Anna Bridge 009ff7adf3
Merge pull request #12036 from kjbracey-arm/callback_fiddle
Callback extension and optimisation
2020-03-27 14:07:20 +00:00
Anna Bridge 1bbcaec04a
Merge pull request #12683 from kivaisan/socketaddress_refactor
SocketAddress rework
2020-03-27 11:30:12 +00:00
Dustin Crossman 56099951b5 Ran astyle on COMPONENT_SCL. 2020-03-26 11:50:58 -07:00
Martin Kojtal b62fdaed1f
Merge pull request #12685 from kivaisan/remove_deprecated_netsocket_methods
Remove deprecated netsocket methods
2020-03-25 10:12:55 +01:00
Kimmo Vaisanen 619a5a7bcc Netsocket: Remove deprecated constructor with open
Default constructor with separate open call should be used instead.
2020-03-24 12:46:30 +02:00
Kimmo Vaisanen 4918bc6aad TCPSocket: Remove deprecated contructor with open
Default constructor and separate open call should be used instead.
2020-03-24 12:46:30 +02:00
Kimmo Vaisanen 2cfee7be71 Netsocket: Remove deprecated InternetSocket::attach methods
InternetSocket::sigio should be used instead.
2020-03-24 12:46:30 +02:00
Kevin Bracey 4eda58893e SocketAddress rework
* Add optimised constexpr default constructor. Default construction
  was previously by a heavyweight defaulted `nsapi_addr_t` parameter.
* Remove deprecated resolving constructor.
* Take `nsapi_addr_t` inputs by constant reference rather than value.
* Inline the trivial getters and setters.
* Use `unique_ptr` to manage the text buffer.
* Make `operator bool` explicit.
* Optimise some methods.
* Update to C++11 style (default initialisers, nullptr etc)
2020-03-24 11:05:33 +02:00
Dustin Crossman 89c70fbd9a Fix licenses in COMPONENT_SCL. 2020-03-16 09:40:34 -07:00
jeromecoutant 488c9db81e STM32 EMAC : remove TIMEOUT issue when cablke is not plugged yet 2020-03-13 16:58:47 +01:00
Kevin Bracey bb733f1ee8 Callback updates
* Optimise clearing by adding `nullptr` overload. This overload means
  `Callback(NULL)` or `Callback(0)` will no longer work; users must
  use `Callback(nullptr)` or `Callback()`.
* Optimise clearing by not clearing storage - increases code size of
  comparison, but that is extremely rare.
* Reduce ROM used by trivial functors - share copy/destroy code.
* Config option to force trivial functors - major ROM saving by
  eliminating the "operations" table.
* Config option to eliminate comparison altogether - minor ROM saving by
  eliminating zero padding.
* Conform more to `std::function` API.
2020-03-11 15:46:03 +02:00
Anna Bridge da9f85b6af
Merge pull request #12580 from cy-arsm/cy-arsm/pr/PR_SoftAP_STA_Fix_revert
Reverting #12312 as it breaking current WiFI connect()->Disconnect() sequence
2020-03-10 12:50:27 +00:00
Dustin Crossman 05776d6f88 Update COMPONENT_SCL. 2020-03-09 10:07:12 -07:00
Dustin Crossman 6b6db89434 Improve documentation. 2020-03-09 10:07:12 -07:00
Dustin Crossman e754510cce Add COMPONENT_SCL. 2020-03-09 10:07:11 -07:00
Martin Kojtal 0692fc65bc
Merge pull request #12567 from jeromecoutant/PR_EMAC_TRACE
STM32 EMAC : increase thread size when mbed-trace is enabled
2020-03-09 15:01:20 +00:00
Kevin Bracey 4759e9d667 Remove unnecessary friends of NetworkInterface 2020-03-05 16:45:36 +02:00
Kevin Bracey 70a6701006 Improve nsapi_create_stack
Use tag dispatch to better handle both NetworkInterface and NetworkStack
pointers.

The previous design was intended to avoid ambiguities when presented
with a scenario like

    class MyDevice : public NetworkInterface, public NetworkStack {
    };

    TCPSocket(&MyDevice);
    // Need NetworkStack *: use NetworkInterface::get_stack or
    // cast to NetworkStack?

But the previous solution didn't actually work as intended. The overload
pair

    nsapi_create_stack(NetworkStack *);
    // versus
    template <class IF>
    nsapi_create_stack(IF *);

would only select the first form if passed an exact match -
`NetworkStack *`. If passed a derived class pointer, like `MyDevice *`,
it would select the template.

This meant that an ambiguity for MyDevice was at least avoided, but
in the wrong direction, potentially increasing code size.

But in other cases, the system just didn't work at all - you couldn't
pass a `MyStack *` pointer, unless you cast it to `NetworkStack *`.
Quite a few bits of test code do this.

Add a small bit of tag dispatch to prioritise the cast whenever the
supplied pointer is convertible to `NetworkStack *`.
2020-03-05 16:45:36 +02:00
Arun S 19cbfd7c15 Reverting #12312 as it breaking current WiFI
connect()->Disconnect() sequence

This reverts commit 18285e1fc1
2020-03-05 16:44:59 +05:30
Kevin Bracey 6f45e969b0 SocketStats: tighten up
* Avoid undefined behaviour when copying/clearing `mbed_stats_socket_t`.
  As it contains a `SocketAddress`, memset and memcpy should not be used.
* Avoid array overrun when `mbed_stats_socket_get_each` is passed a
  count greater than `nsapi.socket-stats-max-count`.
* Remove `const` from internal `stats_new_socket_entry` method to avoid
  const-losing cast.
2020-03-04 14:54:17 +02:00
Kevin Bracey eb10cc18c5 Optimise SocketStats
* Remove unnecessary virtual destructor.
* Use inline empty functions when disabled.
* Remove pointless `const`s from declarations.
2020-03-04 14:54:17 +02:00
Martin Kojtal 6137c98d6a
Merge pull request #12543 from kivaisan/remove_deprecated_connect
TLSSocket: Remove deprecated connect
2020-03-04 08:20:23 +00:00
jeromecoutant 3a02671028 STM32 EMAC : increase thread size when mbed-trace is enabled 2020-03-04 09:14:41 +01:00
Martin Kojtal 6677249a08
Merge pull request #12506 from kivaisan/fix_socketaddress_regression
Fix 2 string based IP address removal regressions
2020-03-04 07:52:31 +00:00
Martin Kojtal b3583f04cf
Merge pull request #12464 from jeromecoutant/PR_ETHERNET
STM32 EMAC : add configuration choice and connection check
2020-03-03 16:04:18 +00:00
Martin Kojtal eaac84be72
Merge pull request #12467 from kjbracey-arm/nsapics
Inline nsapi_create_stack(NetworkStack)
2020-03-03 14:13:28 +00:00
Kimmo Vaisanen 86dba54202 Fix L3IPInterface to use SocketAddress class for addresses
String based ip addresses has been deprecated and SocketAddress must be
used instead.
2020-03-03 12:13:51 +02:00
Kimmo Vaisanen 2987bedb68 TLSSocket: Remove deprecated connect
String based connect has been removed but was still defined in TLSSocket header for offloaded variant.

This is a regression fix for 458957d399
2020-03-03 12:08:32 +02:00
Martin Kojtal f4df4e75ea
Merge pull request #12487 from kjbracey-arm/override_nsapi
C++11-ify virtualisation in netsocket
2020-03-03 09:57:57 +00:00
jeromecoutant b15dffaef2 STM32 EMAC : add PHY ID information 2020-03-02 16:21:35 +01:00
jeromecoutant 01a186a952 STM32 EMAC : thread size is configurable 2020-03-02 16:21:23 +01:00
jeromecoutant c3c0928786 STM32 EMAC : enable mbed_trace 2020-03-02 16:21:11 +01:00
jeromecoutant 89a537b9a8 STM32 EMAC : check PHY_BSR value before connect status 2020-03-02 16:20:06 +01:00
jeromecoutant c3653c6813 STM32 EMAC : check driver function status before returning success 2020-03-02 16:19:58 +01:00
jeromecoutant 1b40076376 STM32 EMAC : more configurable
- PHY default configuration can be changed
  - AutoNegotiation
  - Speed
  - DuplexMode
- PHY register offset can be updated depending on chosen PHY

All unused parameters are cleaned.
2020-03-02 16:19:26 +01:00
Kevin Bracey d8d35eda9f C++11-ify virtualisation in netsocket
Use `override` and `final` where appropriate, and eliminate unnecessary
`virtual`.

Some other C++11 simplifications.

Reduces code size.
2020-02-28 13:34:18 +02:00
Kevin Bracey 695e872202 Correct NetworkStackWrapper::get_ip_address
Previous change that removed string-based APIs missed
`NetworkStackWrapper::get_ip_address`. Remove string-based method (which
is not overriding anything in `NetworkStack`) and add missing binary
form to implement `NetworkStack::get_ip_address`.
2020-02-28 13:29:16 +02:00
Martin Kojtal 1bf93039fb
Merge pull request #12457 from artokin/update_stm32_emac_ethernet_driver
Update STM32 EMAC driver - limit RX frame length
2020-02-28 08:45:24 +00:00
Praveen babu chandran 8b97e4c3ef Add WPA3 support for green tea tests 2020-02-25 10:14:30 -08:00
Kevin Bracey f40c5616e1 Inline nsapi_create_stack(NetworkStack)
The rather fiddly `nsapi_create_stack` template + overloads used during
socket formation don't inline their core, which is the identity operation
for `NetworkStack *` itself. Make code generation easier by having that
core be inline.
2020-02-21 15:13:14 +02:00
Martin Kojtal 8f1bf967d3
Merge pull request #11942 from michalpasztamobica/remove_deprecated_apis
IPCore String-based API removal
2020-02-21 12:14:06 +00:00
Arto Kinnunen da04cc3fcf Update STM32 EMAC driver based on review
-Fix len type
-Use ETH_RX_BUF_SIZE instead of hard-coded value 1500
2020-02-21 10:26:57 +02:00
Arto Kinnunen 6a410f89eb Update STM32 EMAC driver - limit RX frame length
DISCO_F769NI EMAC driver may return ethernet packet with illegal
length when driver is under heavy load. In one case, the received
bytes indicate frame length of 53 bytes but advertised data length
was 65518 bytes. In another case EMAC driver variable
`EthHandle.RxFrameInfos.length` contained value 0xFFFF FFFC.

As a work-around accept only 1-1500 bytes long ethernet packets.
2020-02-21 10:26:40 +02:00
Martin Kojtal 9f5ced30dc
Merge pull request #12415 from jeromecoutant/PR_H7README
STM32H7 : add readme file for dual core use
2020-02-19 12:52:10 +00:00
jeromecoutant 0c8add6e28 DISCO_H747I_CM4 compilation issue
SCB_DisableDCache() function is only available for M7 core.
2020-02-12 09:14:58 +01:00
Zhiyonh Li 128d5b5170 Update mbed_lib.json 2020-02-10 23:26:28 -08:00
Zhiyonh Li 884f9c99e3 Fixed bug that EthernetInterface doesn't detect change of connection status on ARCH_MAX board.
ARCH_MAX board uses 0x01 as PHY address, different from other NUCLEO STM32 boards. To faciliate change of PHY address of customized boards, a configuration entry eth-phyaddr was added and can be overriden as needed in mbed_app.json by adding "stm32-emac.eth-phyaddr": X. Macro ETH_ARCH_PHY_ADDRESS was also renamed to ETH_PHY_ADDRESS, because it is not only used by ARCH_MAX board but also other boards.
2020-02-10 17:56:09 -08:00
midd 5f496a694c Add missing error checks for emac power up. 2020-02-07 10:25:15 -08:00
Michal Paszta f21b8c7fc1 Remove remaining string-based API functions
This removes any compiler warnings.
2020-02-06 11:27:50 +02:00
Michal Paszta 458957d399 IPCore deprecated string-based API removal
String-based functions should be replaced with an explicit DNS hostname resolution and a SocketAddress-based API.
2020-02-06 11:27:49 +02:00
Martin Kojtal 8dc15ee6e1
Merge pull request #12293 from mirelachirica/remove_empty_api
Cellular: Remove API's empty default implemetations
2020-02-06 09:05:40 +00:00
Martin Kojtal 8b829e5c41
Merge pull request #12312 from cy-arsm/cy-arsm/pr/ipv6-fix-SoftAPmode
Fix to sending IPV6 UPD packet fails IPv6 enabled in SoftAP intf
2020-02-03 16:55:09 +00:00
Arun S 18285e1fc1 Pairing fails when IPv6 enabled in SoftAP intf
Issue: udp_sendto() Fails for multicast IPV6 packet when interface is switched from SoftAP to STA mode.
When SoftAP start is called,  add_ethernet_interface() will be called internally to add interface details into  netif_list.
When switching from SoftAP to STA mode,  add_ethernet_interface() will be called again to append the interace details into netif_list.
When udp_sendto() is called, ip6_route() will return interface as NULL since it consider device as single interface.
Fix: SoftAP mode Stop, call remove_ethernet_interface() to remove the interface from the netif_list.
2020-01-29 15:07:52 +05:30
Anna Bridge 80fe861f1d
Merge pull request #12035 from kjbracey-arm/callback_prep
Preparation for Callback changes
2020-01-21 11:50:43 +00:00
Mirela Chirica e2048b06b2 Cellular: Remove API's empty default implemetations 2020-01-21 10:45:09 +02:00
Caleb Szalacinski e4e0225a0e Add KSZ8041 as a supported PHY for the LPC17xx series 2020-01-14 19:46:39 -06:00
Kevin Bracey d6a48b5124 Turn NULLs into nullptr
Avoids overload problems with Callback(nullptr) versus Callback(fnptr).
2020-01-09 14:52:54 +02:00
Martin Kojtal d4c2fd56a9
Merge pull request #12195 from mikaleppanen/ppp_trace_disable
Corrected PPP debug trace flagging
2020-01-07 16:41:15 +01:00
Martin Kojtal 3e790cc9ab
Merge pull request #12065 from AriParkkila/cell-fea-nidd
Non-IP socket implementation for NIDD over CP
2020-01-07 15:55:15 +01:00
Martin Kojtal 9d16a17e7e
Merge pull request #11653 from tymoteuszblochmobica/multiple
Add  Getaddrinfo interface for multiple DNS adresses
2020-01-07 14:53:36 +01:00
Mika Leppänen 9e41f1fc7d Corrected PPP debug trace flagging
Some parts of PPP debug traces were enabled also on non-debug builds.
Now they are correctly disabled. Corrected also compiler warnings
that became visible when trace macros were flagged (if clauses without
brackets).
2020-01-07 12:07:50 +02:00
Ari Parkkila 033402d597 Cellular: Change CellularNonIPSocket to poll before timeout 2020-01-06 22:35:18 -08:00
Ari Parkkila 7374b22191 Cellular: Change CellularNonIPSocket to singleton 2020-01-06 22:33:49 -08:00
Martin Kojtal 7fd637b66b
Merge pull request #12095 from NXPmicro/Update_MXRT_SDK6
Update MXRT1050 to SDK 6.0
2020-01-03 15:22:13 +00:00
Antti Kauppila ca7848d854 Refactored away onboard_modem_api because it is not needed at all
All targets must implement soft_- and hard_power_on/off() functions which are practically same what onboard_modem_api offered.
These were seen as a duplicate features and therefore we removed this.
All targets involved have been updated to reflect the changes
2019-12-27 16:04:10 +01:00
Antti Kauppila 48cf631456 relocated NonIP related files to netsocket root folder 2019-12-27 16:04:10 +01:00
Anna Bridge 5bef46b71a
Merge pull request #12063 from michalpasztamobica/get_ip_address_if_fixed
Move get_ip_address_if() to NetworkStack and include it in multihoming test
2019-12-24 11:04:59 +00:00
Anna Bridge 81d4a72359
Merge pull request #12120 from mtomczykmobica/ONME-4433
ONME-4433 SocketAddress::operator== should also check port
2019-12-17 16:43:19 +00:00
Marcin Tomczyk 35e2c9d315 ONME-4433 SocketAddress::operator== should also check port 2019-12-16 15:38:49 +01:00
Antti Kauppila 6d0b2fae9b Moved CP Max recv len into mbed_lib.json
According to [3GPP-TS_24.008] the maximum size for Non-IP link MTU is 1358 octets to prevent fragmentation in the backbone network.
Therefore reduced the maximum size to follow the standard.
2019-12-16 15:48:46 +02:00
Tymoteusz Bloch 8b2f4c2e7e Getaddrinfo interface for multiple DNS adresses added.
New members are added to the network interface
-getaddrinfo
-getaddrinfo_async
gethostbyname is unchanged but gethostbyname_async  result param now contains results od DNS records found.
Test cases for sync/async added added to DNS test folder.
2019-12-16 13:59:46 +01:00
Martin Kojtal fd4288a0dc
Merge pull request #12027 from michalpasztamobica/dns_module_test
Modify nsapi_dns tests to be module tests
2019-12-16 09:49:16 +01:00
Mahesh Mahadevan c538919254 MIMXRT1050: Update the ENET driver to use wait_us
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-12-13 12:08:19 -06:00
Michal Paszta d5d04ebb90 Move get_ip_address_if to the right class
get_ip_address_if was wrongly added to OnboardNetworkStack::Interface, while it should in fact be placed directly in OnboardNetworkStack.
2019-12-12 09:20:27 +02:00
Martin Kojtal a996ea27f7
Merge pull request #12057 from OpenNuvoton/nuvoton_emac_max_recv
NUC472/M487: Limit EMAC receive frame length as 1518
2019-12-11 08:12:02 +01:00
Martin Kojtal 06da49984f
Merge pull request #12069 from jeromecoutant/PR_ASTYLE
STM32: astyle update
2019-12-11 08:01:19 +01:00
jeromecoutant 54aa300a3c STM32 EMAC astyle corrections 2019-12-10 14:39:47 +01:00
Michal Paszta fd46af67c6 Modify nsapi_dns tests to be module tests
The nsapi_dns tests were cross-class tests anyway, going through nsapi_dns and UDPSocket. Now they also include EthernetInterface and only mock the NetworkStack, which makes them the most cross-class module test we could think of in netsocket module.
2019-12-10 11:05:25 +02:00
cyliangtw 42103f089d Correct the definition of M487/NUC472 EMAC NU_ETH_MAX_FLEN & PACKET_BUFFER_SIZE 2019-12-10 10:40:03 +08:00
Antti Kauppila 30ea858f51 Disable APN lookup by default 2019-12-09 15:25:22 +02:00
Antti Kauppila e51230c5e4 Remove CellularBase and AT_CellularBase
Removed CellularBase and AT_CellularBase from cellular stack and updated both code and unittests accordingly.

Moved property handling into AT_CellularDevice
2019-12-09 15:25:22 +02:00
cyliangtw 54d8c40f96 Limit max of NUC472 EMAC recv frame len as 1518 2019-12-09 19:15:23 +08:00
cyliangtw 410e4173b1 Limit max of M487 EMAC RX frame len as 1518 2019-12-09 18:12:26 +08:00
Martin Kojtal e9cb9cb014
Merge pull request #12018 from jeromecoutant/PR_OLIMEX_EMAC
STM32_EMAC cleanup
2019-12-05 14:03:46 +01:00
Martin Kojtal 58da078df9
Merge pull request #12015 from jeromecoutant/PR_ETHERNET_ARMC5
STM EMAC: compilation issue with ARMC5
2019-12-05 08:23:11 +01:00
Martin Kojtal 4ae8984819
Merge pull request #11878 from michalpasztamobica/api_hardening
Improve API documentation and test coverage
2019-12-04 10:15:43 +01:00
Martin Kojtal 34c9cf93e5
Merge pull request #11975 from michalpasztamobica/pppinterface_pointer_checks
PPPinterface: remove faulty address getter check for invalid pointer
2019-12-04 10:14:30 +01:00