Commit Graph

22 Commits

Author SHA1 Message Date
Naveen Ramaraj 27defab71d net: rmnet_data: Reduce log level for unsupported IOCTLs
Avoid spamming the kernel logs when clients query for the
presence of wireless extensions.

Also fix a typo in the original log message.

Change-Id: I1b56e787624ea2b7e4294d25bd33052a5189f645
Signed-off-by: Naveen Ramaraj <nramaraj@codeaurora.org>
2015-09-14 19:56:42 +00:00
Harout Hedeshian 894f0d0373 net: rmnet_data: Handle VND level MAP flow control with flow ID 0xFFFFFFFF
Flow control the entire RmNet Data virtual network device whenever
we receive a MAP flow control command with flow ID 0xFFFFFFFF. Since
it is guaranteed that we will never mix 0xFFFFFFFF with other flow IDs
(e.g.. disable 0xFFFFFFFF enable 0x00000001), TC based flow control
is not required. Instead netif stop/wake queue APIs are used in immediate
context.

CRs-Fixed: 767337
Change-Id: I8eff0988fa38726284789b70e045cc4b1dbb5d4e
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2015-01-23 14:15:34 -08:00
Sivan Reinstein 506aa8ec18 net: rmnet_data: add support to UL checksum offload for IPv6 over UDP
Set rmnet_data virtual network devices with NETIF_F_IPV6_UDP_CSUM
to support uplink checksum offloading to HW for IPv6 over UDP
packets.

CRs-fixed: 731693
Change-Id: I6c06fb4d137d4e96a813894802e3096c26e88da4
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
2014-11-24 10:25:29 +02:00
Sivan Reinstein 6b9a08570c net: rmnet_data: add support for UL MAP based checksum offload
Add UL checksum offload routines for MAPv3. Can bypass checksum software
for IPv4/IPv6 TCP/UDP protocols.
Set rmnet_data VNDs hw_flags to NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM to
define the checksum offload abilities.
Add UL checksum meta-info header for IPv4/IPv6 TCP/UDP packets for which
UL checksum is being offloaded.

CRs-fixed: 731693
Change-Id: Ief139d357b528aead66acfe39a5227328b8fbf93
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
2014-11-24 10:07:31 +02:00
Subash Abhinov Kasiviswanathan c90c79c634 net: rmnet_data: Fix potential memory corruption
Fix an out of bounds array access during virtual
net device creation

CRs-fixed: 695032
Change-Id: Ie8ae1f25122f685c22d139d1abf06acf55d46782
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2014-07-15 20:51:52 -06:00
Harout Hedeshian c4c80c5459 net: rmnet_data: Move MAP header definition to UAPI
Expose the MAP header to the rest of the kernel and user space. Useful for
making various parts of the kernel MAP aware. Keeping consistency with
other networking procols by exposing protocol headers to user space with
a header file in UAPI.

CRs-Fixed: 681280
Change-Id: Ic7f414f926f68531418725f971ab2b44459f5ea1
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2014-06-23 07:45:21 -06:00
Harout Hedeshian a148f90880 net: rmnet_data: adding new trace points
Added new trace points for flow control events and
aggregation/deaggregation.

CRs-Fixed: 661459
Change-Id: I22e5b441f5bb8ff055b0577954cc9f6285b68a74
Acked-by: Sivan Reinstein <sivanr@qti.qualcomm.com>
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2014-05-29 11:21:59 -06:00
Harout Hedeshian acba8da49f net: rmnet_data: Support for NETLINK getters
Added support for RMNET_NETLINK_GET_LOGICAL_EP_CONFIG
and RMNET_NETLINK_GET_NETWORK_DEVICE_ASSOCIATED in the
rmnet_data configuration module.

CRs-fixed: 599231
Change-Id: Ib5eeb4a37f80a4df19cb3c1ef02ec477f5445740
Acked-by: David Arinzon <darinzon@qti.qualcomm.com>
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2014-04-01 08:57:28 -06:00
Harout Hedeshian 25cc820560 net: rmnet_data: Clear VNDs upon physical device unregistration
Clear out VNDs which have their egress device pointing to an interface
which is trying to unregister from the network stack. Required to prevent
systems hangs on unexpected shutdown/reboot of the device.

CRs-Fixed: 638324
Change-Id: I406270fee9feb1f9673b3391ce51c11e8e6c9d81
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2014-04-01 08:53:44 -06:00
Subash Abhinov Kasiviswanathan 527974b6bd net: rmnet_data: remove NOARP flags for the virtual net device
When IFF_NOARP flag is set for a device, the kernel automatically
sets the accept_dad flag to -1 even though autoconf is enabled.
As a result, nodes on that link were not receiving neighbour
solicitations. Removed the setting of IFF_NOARP during net device
setup.

CRs-Fixed: 629099
Change-Id: Ia8b5d1163196cc0518a20beba643930b4f439771
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2014-03-13 19:08:23 -06:00
Subash Abhinov Kasiviswanathan 315b37ee66 net: rmnet_data: modify 8-byte QoS Header
Clients consuming the 8-byte QoS header expect the flowID
in a different position in the header thus causing random address
dereference and a potential crash. Update the 8-byte QoS header
format structure as specified in the mandated QOS specification

CRs-Fixed: 625709
Change-Id: I58c662ff2f3adfe9584d19891339ea31ce0c8bd3
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2014-03-11 14:43:54 -06:00
Harout Hedeshian 7627243455 net: rmnet_data: Add support for ftrace events
Adding initial support for ftrace events in order to help with
profiling and debugging. This initial set of events covers the
ingress and egress handlers.

Change-Id: I296d6fb9d009d8fdc2061e17d25e1275ee0a8a12
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2014-02-10 18:53:27 -07:00
Harout Hedeshian 8f8a436a52 net: rmnet_data: new structure for rmnet ioctls
This patch modifies the rmnet ioctls RMNET_IOCTL_GET_LLP,
RMNET_IOCTL_GET_QOS, RMNET_IOCTL_GET_OPMODE, RMNET_IOCTL_FLOW_ENABLE
and RMNET_IOCTL_FLOW_DISABLE to avoid putting integral data in pointers
and avoid casting between 32 and 64 bits types.

CRs-Fixed: 601207
Change-Id: I66edb785f6204f38b6f0ecccb2ceab36d5e38188
Acked-by: Sivan Reinstein <sivanr@qti.qualcomm.com>
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2014-02-05 15:58:45 -07:00
Linux Build Service Account 27672d1a62 Merge "net: rmnet_data: Add default value for tx_queue_len" 2014-02-01 18:02:02 -08:00
Harout Hedeshian b6ca4b8030 net: rmnet_data: Enhanced counters
Added performance counters to various key places in RmNet Data
data path.

CRs-Fixed: 600629
Change-Id: Iba50c86665e181e09525e9538a540e09e526e16f
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2014-01-31 10:29:33 -07:00
Subash Abhinov Kasiviswanathan 5f1473cc30 net: rmnet_data: Add default value for tx_queue_len
The default value of tx_queue_len was 0 which was causing packet
drops because of queueing in tc.
This patch sets a fixed value for the tx_queue_len

CRs-Fixed: 609873
Change-Id: I51739e63223b563f7cf8838d88908db7dcc9bf3e
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2014-01-31 10:24:30 -07:00
Harout Hedeshian 1070484ab7 net: rmnet_data: Enhance logging macros to remove duplicated code
Logging macros now enforce that function names are printed, and
newlines are inserted at the end. The start of log messages are
now standardize.

CRs-Fixed: 600629
Change-Id: I91dae00c331af80954b93eba1f7be2889c569276
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2014-01-24 08:15:03 -07:00
Harout Hedeshian 96b90ce3b0 net: rmnet_data: Enhancements to support SSR
Cleaned up refcount on get_dev_by_name.
Added new APIs to support cleanup of configuration and virtual devices.
Added explicit reference managment in association/un-association
and when setting/unsetting logical EP.

CRs-Fixed: 596227
Change-Id: Ic67bb649b0f0420d9a1e4bf5664ed63c0ff7d8bf
Signed-off-by: Harout Hadeshian <harouth@codeaurora.org>
2014-01-18 10:16:54 -07:00
Harout Hedeshian d5834bde5b net: rmnet_data: 8-byte QoS Header Support
Implement 8-byte QoS header support in order to fix alignment
issues on HSIC transport and increase throughput

CRs-Fixed: 579132
Change-Id: I3e53571d36bd71705abcb1473290929f8227e6f3
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2014-01-18 10:16:33 -07:00
Harout Hedeshian c9132a2781 net: rmnet_data: In-band flow control
Implement MAP based in-band flow control. Added 2 new configuration
messages to allow adding and deleting flow handles. Added handlers
in VND for flow control events. Added flow control command handler
in rmnet_map_commands.

CRs-fixed: 568534
Change-Id: Ica52e4ad89430c9fa5e2b38e389ee6bc91de2e9b
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2013-11-19 13:12:47 -08:00
Harout Hedeshian bc0019b052 net: rmnet_data: Add support for user defined device name prefix
Run-time user space components can now specify virtual network device
name prefix at device creation. This will be used to support legacy
data services.

CRs-Fixed: 555507
Change-Id: Id34c2761f2060e66b05c521304d5151620ba5665
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2013-10-21 14:43:13 -06:00
Harout Hedeshian 3858fdc45c RmNet Data: Initial release
RmNet Data driver provides a transport agnostic MAP (multiplexing and
aggregation protocol) support in embedded and bridge modes. Module
provides virtual network devices which can be attached to any IP-mode
physical device. This will be used to provide all MAP functionality
on future hardware in a single consistent location.

CRs-Fixed: 525675
Change-Id: I739947c9c3de008974dd485a74e9953ba2cbb75e
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
2013-09-27 15:48:02 -06:00