diff options
author | Sean Tranchetti <quic_stranche@quicinc.com> | 2021-10-12 15:30:05 -0700 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2021-10-14 15:20:54 +0200 |
commit | 043f4755eaf66c17ed13eb92e9093fb0ae7768b0 (patch) | |
tree | 46ed204ff2db17a9875c9d30275328c09d5f9b90 | |
parent | 653b3b847d451d1ce6657ab5b628be1540ce2575 (diff) |
qmi-device: add QMAPv5 link creation flags
Allows use of the QMAPv5 checksum offload format for both TX and RX paths.
-rw-r--r-- | src/libqmi-glib/kernel/if_link_rmnet.h | 2 | ||||
-rw-r--r-- | src/libqmi-glib/qmi-device.h | 4 | ||||
-rw-r--r-- | src/libqmi-glib/qmi-net-port-manager-rmnet.c | 7 |
3 files changed, 13 insertions, 0 deletions
diff --git a/src/libqmi-glib/kernel/if_link_rmnet.h b/src/libqmi-glib/kernel/if_link_rmnet.h index 7800e6b..71a1e3e 100644 --- a/src/libqmi-glib/kernel/if_link_rmnet.h +++ b/src/libqmi-glib/kernel/if_link_rmnet.h @@ -15,6 +15,8 @@ #define RMNET_FLAGS_INGRESS_MAP_COMMANDS (1U << 1) #define RMNET_FLAGS_INGRESS_MAP_CKSUMV4 (1U << 2) #define RMNET_FLAGS_EGRESS_MAP_CKSUMV4 (1U << 3) +#define RMNET_FLAGS_INGRESS_MAP_CKSUMV5 (1U << 4) +#define RMNET_FLAGS_EGRESS_MAP_CKSUMV5 (1U << 5) enum { IFLA_RMNET_UNSPEC, diff --git a/src/libqmi-glib/qmi-device.h b/src/libqmi-glib/qmi-device.h index 4fb71b5..ce45cca 100644 --- a/src/libqmi-glib/qmi-device.h +++ b/src/libqmi-glib/qmi-device.h @@ -953,6 +953,8 @@ gchar *qmi_device_add_link_finish (QmiDevice *self, * @QMI_DEVICE_ADD_LINK_FLAGS_NONE: none. * @QMI_DEVICE_ADD_LINK_FLAGS_INGRESS_MAP_CKSUMV4: checksum offload (v4) is enabled in ingress path. * @QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV4: checksum offload (v4) is enabled in egress path. + * @QMI_DEVICE_ADD_LINK_FLAGS_INGRESS_MAP_CKSUMV5: checksum offload (v5) is enabled in ingress path. Since 1.32. + * @QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV5: checksum offload (v5) is enabled in egress path. Since 1.32. * * Flags specifying the behavior of the new link. * @@ -962,6 +964,8 @@ typedef enum { /*< since=1.30 >*/ QMI_DEVICE_ADD_LINK_FLAGS_NONE = 0, QMI_DEVICE_ADD_LINK_FLAGS_INGRESS_MAP_CKSUMV4 = 1 << 1, QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV4 = 1 << 2, + QMI_DEVICE_ADD_LINK_FLAGS_INGRESS_MAP_CKSUMV5 = 1 << 3, + QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV5 = 1 << 4, } QmiDeviceAddLinkFlags; /** diff --git a/src/libqmi-glib/qmi-net-port-manager-rmnet.c b/src/libqmi-glib/qmi-net-port-manager-rmnet.c index f10862f..887ad7e 100644 --- a/src/libqmi-glib/qmi-net-port-manager-rmnet.c +++ b/src/libqmi-glib/qmi-net-port-manager-rmnet.c @@ -543,8 +543,15 @@ net_port_manager_add_link (QmiNetPortManager *_self, rmnet_flags |= RMNET_FLAGS_INGRESS_MAP_CKSUMV4; if (flags & QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV4) rmnet_flags |= RMNET_FLAGS_EGRESS_MAP_CKSUMV4; + if (flags & QMI_DEVICE_ADD_LINK_FLAGS_INGRESS_MAP_CKSUMV5) + rmnet_flags |= RMNET_FLAGS_INGRESS_MAP_CKSUMV5; + if (flags & QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV5) + rmnet_flags |= RMNET_FLAGS_EGRESS_MAP_CKSUMV5; + rmnet_mask = (RMNET_FLAGS_EGRESS_MAP_CKSUMV4 | RMNET_FLAGS_INGRESS_MAP_CKSUMV4 | + RMNET_FLAGS_EGRESS_MAP_CKSUMV5 | + RMNET_FLAGS_INGRESS_MAP_CKSUMV5 | RMNET_FLAGS_INGRESS_DEAGGREGATION); msg = netlink_message_new_link (ctx->mux_id, ctx->ifname, base_if_index, rmnet_flags, rmnet_mask); |