nss-packages-breeze303/qca-nss-drv/patches-11.4/0013-backport-12.4-docs.patch
Sean Khan c5340b8d58 qca-nss: Bump 11.4 FW to 11.4.0.5-6
This bumps NSS 11.4.0.5-5 to 11.4.0.5-6 along with the driver and client
packages.

This is the actual final release of 11.4.0.5 series. It brings in
changes related to mesh dummy paths and wifi.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-08-04 01:42:54 -04:00

984 lines
42 KiB
Diff

--- a/exports/nss_wifi_mesh.h
+++ b/exports/nss_wifi_mesh.h
@@ -102,7 +102,7 @@ enum nss_wifi_mesh_pre_header_type {
/*
* nss_wifi_mesh_extended_data_pkt_types
- * Wi-Fi mesh extended data pkt types.
+ * Wi-Fi mesh extended data packet types.
*/
enum nss_wifi_mesh_extended_data_pkt_types {
WIFI_MESH_EXT_DATA_PKT_TYPE_NONE, /**< No packet type. */
@@ -114,13 +114,13 @@ enum nss_wifi_mesh_extended_data_pkt_typ
* Wi-Fi header
*/
struct nss_wifi_mesh_ieee80211_hdr {
- uint16_t frame_ctl; /* Frame control. */
- uint16_t duration_id; /* Duration ID. */
- uint8_t addr1[ETH_ALEN]; /* Address 1. */
- uint8_t addr2[ETH_ALEN]; /* Address 2. */
- uint8_t addr3[ETH_ALEN]; /* Address 3. */
- uint16_t seq_ctrl; /* Sequence control. */
- uint8_t addr4[ETH_ALEN]; /* Address 4. */
+ uint16_t frame_ctl; /**< Frame control. */
+ uint16_t duration_id; /**< Duration ID. */
+ uint8_t addr1[ETH_ALEN]; /**< Address 1. */
+ uint8_t addr2[ETH_ALEN]; /**< Address 2. */
+ uint8_t addr3[ETH_ALEN]; /**< Address 3. */
+ uint16_t seq_ctrl; /**< Sequence control. */
+ uint8_t addr4[ETH_ALEN]; /**< Address 4. */
}__packed;
/*
@@ -128,16 +128,16 @@ struct nss_wifi_mesh_ieee80211_hdr {
* Wi-Fi mesh header
*/
struct nss_wifi_mesh_ieee80211s_hdr {
- uint8_t flags; /* Mesh flags. */
- uint8_t ttl; /* TTL. */
- uint32_t seq_num; /* Sequence number. */
- uint8_t eaddr1[ETH_ALEN]; /* Mesh Address1. */
- uint8_t eaddr2[ETH_ALEN]; /* Mesh Address2. */
+ uint8_t flags; /**< Mesh flags. */
+ uint8_t ttl; /**< TTL. */
+ uint32_t seq_num; /**< Sequence number. */
+ uint8_t eaddr1[ETH_ALEN]; /**< Mesh Address1. */
+ uint8_t eaddr2[ETH_ALEN]; /**< Mesh Address2. */
}__packed;
/*
* nss_wifi_mesh_per_packet_metadata
- * Wi-Fi mesh per packet metadata structure.
+ * Wi-Fi mesh per packet metadata structure.
*/
struct nss_wifi_mesh_per_packet_metadata {
uint16_t pkt_type; /* Packet type of the metadata. */
@@ -150,8 +150,8 @@ struct nss_wifi_mesh_per_packet_metadata
* NSS-to-host path will be seen by ECM for rules.
*/
enum nss_wifi_mesh_dp_type {
- NSS_WIFI_MESH_DP_INNER, /**< Inner/Encapsulation Interface. */
- NSS_WIFI_MESH_DP_OUTER, /**< Outer/Decapsulation Interface. */
+ NSS_WIFI_MESH_DP_INNER, /**< Inner/encapsulation interface. */
+ NSS_WIFI_MESH_DP_OUTER, /**< Outer/decapsulation interface. */
};
/**
@@ -353,7 +353,7 @@ struct nss_wifi_mesh_proxy_path_del_msg
/**
* nss_wifi_mesh_mpath_not_found_msg
- * Wi-Fi mesh path not found meesage.
+ * Wi-Fi mesh path not found message.
*/
struct nss_wifi_mesh_mpath_not_found_msg {
uint8_t dest_mac_addr[ETH_ALEN]; /**< Destination MAC address. */
@@ -389,28 +389,28 @@ struct nss_wifi_mesh_path_expiry_msg {
* Encapsulation statistics.
*/
struct nss_wifi_mesh_encap_stats {
- uint32_t expiry_notify_sent; /* Number of times expiry notification sent to host. */
- uint32_t mc_count; /* Number of multicast packets. */
- uint32_t mp_not_found; /* Number of times mesh path is not found. */
- uint32_t mp_active; /* Number of times mesh path is active. */
- uint32_t mpp_not_found; /* Number of times proxy path is not found. */
- uint32_t mpp_found; /* Number of times proxy path is found. */
- uint32_t encap_hdr_fail; /* Number of times encapsulating mesh header failed. */
- uint32_t mp_del_notify_fail; /* Number of times notifying mesh path delete failed. */
- uint32_t link_enqueue; /* Number of packets enqueued to the link VAP. */
- uint32_t link_enq_fail; /* Number of times enqueue to link vap failed. */
- uint32_t ra_lup_fail; /* Number of times receiver address look up is failed. */
- uint32_t dummy_add_count; /* Number of times dummy path is added. */
- uint32_t encap_mp_add_notify_fail; /* Number of times add notification failed. */
- uint32_t dummy_add_fail; /* Number of times dummy addition failed. */
- uint32_t dummy_lup_fail; /* Number of times dummy lookup failed. */
- uint32_t send_to_host_failed; /* Number of packets failed to be sent to host. */
- uint32_t sent_to_host; /* Number of packets sent to host. */
- uint32_t expiry_notify_fail; /* Number of times expiry notification to host failed. */
- uint32_t no_headroom; /* Number of packets dropped because there is no headroom. */
- uint32_t path_refresh_sent; /* Number of times path refresh is sent to host. */
- uint32_t linearise_failed; /* Number of packets dropped because pb_linearise. */
- uint32_t mp_exception_event_rl_dropped; /* Number of packets dropped due to rate limit. */
+ uint32_t expiry_notify_sent; /**< Number of times expiry notification sent to host. */
+ uint32_t mc_count; /**< Number of multicast packets. */
+ uint32_t mp_not_found; /**< Number of times mesh path is not found. */
+ uint32_t mp_active; /**< Number of times mesh path is active. */
+ uint32_t mpp_not_found; /**< Number of times proxy path is not found. */
+ uint32_t mpp_found; /**< Number of times proxy path is found. */
+ uint32_t encap_hdr_fail; /**< Number of times encapsulating mesh header failed. */
+ uint32_t mp_del_notify_fail; /**< Number of times notifying mesh path delete failed. */
+ uint32_t link_enqueue; /**< Number of packets enqueued to the link VAP. */
+ uint32_t link_enq_fail; /**< Number of times enqueue to link vap failed. */
+ uint32_t ra_lup_fail; /**< Number of times receiver address look up is failed. */
+ uint32_t dummy_add_count; /**< Number of times dummy path is added. */
+ uint32_t encap_mp_add_notify_fail; /**< Number of times add notification failed. */
+ uint32_t dummy_add_fail; /**< Number of times dummy addition failed. */
+ uint32_t dummy_lup_fail; /**< Number of times dummy lookup failed. */
+ uint32_t send_to_host_failed; /**< Number of packets failed to be sent to host. */
+ uint32_t sent_to_host; /**< Number of packets sent to host. */
+ uint32_t expiry_notify_fail; /**< Number of times expiry notification to host failed. */
+ uint32_t no_headroom; /**< Number of packets dropped because there is no headroom. */
+ uint32_t path_refresh_sent; /**< Number of times path refresh is sent to host. */
+ uint32_t linearise_failed; /**< Number of packets dropped because pb_linearise. */
+ uint32_t mp_exception_event_rl_dropped; /**< Number of packets dropped due to rate limit. */
};
/*
@@ -532,22 +532,22 @@ struct nss_wifi_mesh_path_stats {
* Wi-Fi mesh proxy path statistics.
*/
struct nss_wifi_mesh_proxy_path_stats {
- uint32_t alloc_failures; /**< Mesh proxy path alloc failure count. */
- uint32_t entry_exist_failures; /**< Mesh proxy path entry already exists. */
- uint32_t add_success; /**< Mesh proxy path add success count. */
- uint32_t table_full_errors; /**< Mesh proxy path table full count. */
- uint32_t insert_failures; /**< Mesh proxy path insert failure count. */
- uint32_t not_found; /**< Mesh proxy path not found count. */
- uint32_t unhashed_errors; /**< Mesh proxy path unhased erorr count. */
- uint32_t delete_failures; /**< Mesh proxy path delete failure count. */
- uint32_t delete_success; /**< Mesh proxy path delete success count. */
- uint32_t update_success; /**< Mesh proxy path update success count. */
- uint32_t lookup_success; /**< Mesh proxy path lookup success count. */
- uint32_t add_requests; /**< Mesh proxy path addition requests. */
- uint32_t del_requests; /**< Mesh proxy path deletion requests. */
- uint32_t update_requests; /**< Mesh proxy path updation requests. */
- uint32_t mda_updations; /**< Mesh proxy path mda updations. */
- uint32_t flag_updations; /**< Mesh proxy path flags updations. */
+ uint32_t alloc_failures; /**< Mesh proxy path allocation failure count. */
+ uint32_t entry_exist_failures; /**< Mesh proxy path entry already exists. */
+ uint32_t add_success; /**< Mesh proxy path add success count. */
+ uint32_t table_full_errors; /**< Mesh proxy path table full count. */
+ uint32_t insert_failures; /**< Mesh proxy path insert failure count. */
+ uint32_t not_found; /**< Mesh proxy path not found count. */
+ uint32_t unhashed_errors; /**< Mesh proxy path unhased erorr count. */
+ uint32_t delete_failures; /**< Mesh proxy path delete failure count. */
+ uint32_t delete_success; /**< Mesh proxy path delete success count. */
+ uint32_t update_success; /**< Mesh proxy path update success count. */
+ uint32_t lookup_success; /**< Mesh proxy path lookup success count. */
+ uint32_t add_requests; /**< Mesh proxy path addition requests. */
+ uint32_t del_requests; /**< Mesh proxy path deletion requests. */
+ uint32_t update_requests; /**< Mesh proxy path updation requests. */
+ uint32_t mda_updations; /**< Mesh proxy path mda updations. */
+ uint32_t flag_updations; /**< Mesh proxy path flags updations. */
uint32_t mesh_proxy_path_dummy_lookup_success; /**< Mesh proxy path dummy entry lookup successes. */
uint32_t mesh_proxy_path_dummy_lookup_failures; /**< Mesh proxy path dummy entry lookup failures. */
uint32_t mesh_proxy_path_dummy_add_failures; /**< Mesh proxy path dummy entry add failures. */
@@ -975,7 +975,7 @@ nss_tx_status_t nss_wifi_mesh_tx_msg_ext
/**
* nss_wifi_mesh_verify_if_num
- * Verify Wi-Fi mesh interface number.
+ * Verifies the Wi-Fi mesh interface number.
*
* @datatypes
* interface number \n
@@ -1014,4 +1014,9 @@ extern int nss_wifi_mesh_stats_register_
* 0 on success or non-zero on failure.
*/
extern int nss_wifi_mesh_stats_unregister_notifier(struct notifier_block *nb);
+
+/**
+ * @}
+ */
+
#endif /* __NSS_WIFI_MESH_H */
--- a/exports/nss_c2c_rx.h
+++ b/exports/nss_c2c_rx.h
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
@@ -36,7 +36,7 @@ enum nss_c2c_rx_stats_types {
/**< Number of received simple pbufs. */
NSS_C2C_RX_STATS_PBUF_SG, /**< Number of scatter-gather pbufs received. */
NSS_C2C_RX_STATS_PBUF_RETURNING, /**< Number of returning scatter-gather pbufs. */
- NSS_C2C_RX_STATS_INVAL_DEST, /**< Number of pbuf enqueue failures because of destination is invalid. */
+ NSS_C2C_RX_STATS_INVAL_DEST, /**< Number of pbuf enqueue failures because destination is invalid. */
NSS_C2C_RX_STATS_MAX, /**< Maximum message type. */
};
--- a/exports/nss_c2c_tx.h
+++ b/exports/nss_c2c_tx.h
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
@@ -72,9 +72,9 @@ enum nss_c2c_tx_test_type {
*/
enum nss_c2c_tx_stats_types {
NSS_C2C_TX_STATS_PBUF_SIMPLE = NSS_STATS_NODE_MAX,
- /**< Number of received simple pbuf. */
- NSS_C2C_TX_STATS_PBUF_SG, /**< Number of scatter-gather pbuf received. */
- NSS_C2C_TX_STATS_PBUF_RETURNING, /**< Number of returning scatter-gather pbuf. */
+ /**< Number of received simple pbufs. */
+ NSS_C2C_TX_STATS_PBUF_SG, /**< Number of scatter-gather pbufs received. */
+ NSS_C2C_TX_STATS_PBUF_RETURNING, /**< Number of returning scatter-gather pbufs. */
NSS_C2C_TX_STATS_MAX, /**< Maximum message type. */
};
--- a/exports/nss_cmn.h
+++ b/exports/nss_cmn.h
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2014, 2016-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014, 2016-2021, The Linux Foundation. All rights reserved.
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
@@ -27,7 +27,7 @@
* @{
*/
-/*
+/**
* Interface Number 1 Valid 7 Core 8 Type 16 Index
*/
typedef int32_t nss_if_num_t;
--- a/exports/nss_gre.h
+++ b/exports/nss_gre.h
@@ -1,6 +1,9 @@
/*
****************************************************************************
* Copyright (c) 2017-2019, 2021, The Linux Foundation. All rights reserved.
+ *
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
@@ -101,16 +104,16 @@ enum nss_gre_msg_types {
};
/**
- * GRE Mode Types
+ * GRE mode types.
*/
enum nss_gre_mode {
- NSS_GRE_MODE_TUN, /**< GRE Tunnel interface. */
- NSS_GRE_MODE_TAP, /**< GRE Tap interface. */
+ NSS_GRE_MODE_TUN, /**< GRE tunnel interface. */
+ NSS_GRE_MODE_TAP, /**< GRE TAP interface. */
NSS_GRE_MODE_MAX /**< Maxmum GRE mode. */
};
/**
- * GRE IP Types
+ * GRE IP types.
*/
enum nss_gre_ip_types {
NSS_GRE_IP_IPV4, /**< Outer Tunnel is IPV4. */
@@ -168,11 +171,11 @@ enum nss_gre_session_types {
* GRE create message structure.
*/
struct nss_gre_config_msg {
- uint32_t src_ip[4]; /**< Source IPv4 or IPv6 Adddress. */
- uint32_t dest_ip[4]; /**< Destination IPv4 or IPv6 Adddress. */
+ uint32_t src_ip[4]; /**< Source IPv4 or IPv6 address. */
+ uint32_t dest_ip[4]; /**< Destination IPv4 or IPv6 address. */
uint32_t flags; /**< GRE Flags. */
- uint32_t ikey; /**< GRE rx KEY.*/
- uint32_t okey; /**< GRE tx KEY. */
+ uint32_t ikey; /**< GRE Rx key.*/
+ uint32_t okey; /**< GRE Tx key. */
uint32_t mode; /**< GRE TUN or TAP. */
uint32_t ip_type; /**< IPv4 or IPv6 type. */
uint32_t next_node_if_num; /**< To whom to forward packets. */
@@ -185,7 +188,7 @@ struct nss_gre_config_msg {
};
/**
- * GRE link up message structure
+ * GRE link up message structure.
*/
struct nss_gre_linkup_msg {
int if_number; /**< Interface number. */
@@ -202,11 +205,11 @@ struct nss_gre_linkdown_msg {
* GRE deconfig message structure
*/
struct nss_gre_deconfig_msg {
- int if_number; /**< Interface number */
+ int if_number; /**< Interface number. */
};
/**
- * GRE session statistics message
+ * GRE session statistics message.
*/
struct nss_gre_session_stats_msg {
struct nss_cmn_node_stats node_stats; /**< Common node statistics. */
@@ -214,7 +217,7 @@ struct nss_gre_session_stats_msg {
};
/**
- * GRE base statistics message
+ * GRE base statistics message.
*/
struct nss_gre_base_stats_msg {
uint32_t stats[NSS_GRE_BASE_DEBUG_MAX]; /**< Base debug statistics. */
@@ -241,10 +244,10 @@ struct nss_gre_session_stats_notificatio
/**
* nss_gre_msg
- * Message structure to send/receive GRE messages
+ * Message structure to send/receive GRE messages.
*/
struct nss_gre_msg {
- struct nss_cmn_msg cm; /**< Common message header */
+ struct nss_cmn_msg cm; /**< Common message header. */
/**
* Payload of a GRE message.
@@ -304,7 +307,7 @@ extern nss_tx_status_t nss_gre_tx_msg_sy
/**
* nss_gre_tx_buf
- * Sends packet to the NSS
+ * Sends a packet to the NSS.
*
* @datatypes
* nss_ctx_instance \n
--- a/exports/nss_gre_redir.h
+++ b/exports/nss_gre_redir.h
@@ -302,7 +302,7 @@ struct nss_gre_redir_stats_sync_msg {
/**
* nss_gre_redir_tun_stats
- * GRE redirect statistics to accumulate all the stats values.
+ * GRE redirect statistics to accumulate all stats values.
*/
struct nss_gre_redir_tun_stats {
uint64_t rx_packets; /**< Number of packets received. */
--- a/exports/nss_if.h
+++ b/exports/nss_if.h
@@ -321,6 +321,23 @@ extern struct nss_ctx_instance *nss_if_r
extern nss_tx_status_t nss_if_tx_buf(struct nss_ctx_instance *nss_ctx, struct sk_buff *os_buf, uint32_t if_num);
/**
+ * nss_if_tx_msg_with_size
+ * Sends a message to the NSS interface.
+ *
+ * @datatypes
+ * nss_ctx_instance \n
+ * nss_if_msg
+ *
+ * @param[in,out] nss_ctx Pointer to the NSS context.
+ * @param[in] nim Pointer to the NSS interface message.
+ * @param[in] size Total message buffer size.
+ *
+ * @return
+ * Status of the Tx operation.
+ */
+nss_tx_status_t nss_if_tx_msg_with_size(struct nss_ctx_instance *nss_ctx, struct nss_if_msg *nim, uint32_t size);
+
+/**
* nss_if_tx_msg
* Sends a message to the NSS interface.
*
@@ -338,7 +355,7 @@ nss_tx_status_t nss_if_tx_msg(struct nss
/**
* nss_if_msg_sync
- * Sends a message to the NSS interface and wait for the response.
+ * Sends a message to the NSS interface and waits for the response.
*
* @datatypes
* nss_ctx_instance \n
@@ -385,7 +402,7 @@ nss_tx_status_t nss_if_reset_nexthop(str
/**
* nss_if_change_mtu
- * Change the MTU of the interface.
+ * Changes the MTU of the interface.
*
* @datatypes
* nss_ctx_instance
@@ -401,7 +418,7 @@ nss_tx_status_t nss_if_change_mtu(struct
/**
* nss_if_change_mac_addr
- * Change the MAC address of the interface.
+ * Changes the MAC address of the interface.
*
* @datatypes
* nss_ctx_instance
@@ -417,7 +434,7 @@ nss_tx_status_t nss_if_change_mac_addr(s
/**
* nss_if_vsi_unassign
- * Detach the VSI ID from the given interface.
+ * Detaches the VSI ID from the given interface.
*
* @datatypes
* nss_ctx_instance
@@ -433,7 +450,7 @@ nss_tx_status_t nss_if_vsi_unassign(stru
/**
* nss_if_vsi_assign
- * Attach the VSI ID to the given interface.
+ * Attaches the VSI ID to the given interface.
*
* @datatypes
* nss_ctx_instance
--- a/exports/nss_ipv4.h
+++ b/exports/nss_ipv4.h
@@ -1,9 +1,12 @@
/*
**************************************************************************
* Copyright (c) 2014-2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
@@ -55,16 +58,16 @@ struct nss_ipv4_create {
/**< Source interface number (virtual or physical). */
int32_t dest_interface_num;
/**< Destination interface number (virtual or physical). */
- int32_t protocol; /**< L4 protocol (e.g., TCP or UDP). */
- uint32_t flags; /**< Flags (if any) associated with this rule. */
+ int32_t protocol; /**< L4 protocol, e.g., TCP or UDP. */
+ uint32_t flags; /**< Flags associated with this rule. */
uint32_t from_mtu; /**< MTU of the incoming interface. */
uint32_t to_mtu; /**< MTU of the outgoing interface. */
uint32_t src_ip; /**< Source IP address. */
- int32_t src_port; /**< Source L4 port (e.g., TCP or UDP port). */
+ int32_t src_port; /**< Source L4 port, e.g., TCP or UDP port. */
uint32_t src_ip_xlate; /**< Translated source IP address (used with SNAT). */
int32_t src_port_xlate; /**< Translated source L4 port (used with SNAT). */
uint32_t dest_ip; /**< Destination IP address. */
- int32_t dest_port; /**< Destination L4 port (e.g., TCP or UDP port). */
+ int32_t dest_port; /**< Destination L4 port, e.g., TCP or UDP port. */
uint32_t dest_ip_xlate;
/**< Translated destination IP address (used with DNAT). */
int32_t dest_port_xlate;
@@ -82,7 +85,7 @@ struct nss_ipv4_create {
uint32_t flow_end; /**< TCP window end. */
uint32_t flow_max_end; /**< TCP window maximum end. */
uint32_t flow_pppoe_if_exist;
- /**< Flow direction: PPPoE interface exist flag. */
+ /**< Flow direction: PPPoE interface existence flag. */
int32_t flow_pppoe_if_num;
/**< Flow direction: PPPoE interface number. */
uint16_t ingress_vlan_tag; /**< Ingress VLAN tag expected for this flow. */
@@ -131,9 +134,9 @@ struct nss_ipv4_create {
struct nss_ipv4_destroy {
int32_t protocol; /**< L4 protocol ID. */
uint32_t src_ip; /**< Source IP address. */
- int32_t src_port; /**< Source L4 port (e.g., TCP or UDP port). */
+ int32_t src_port; /**< Source L4 port, e.g., TCP or UDP port. */
uint32_t dest_ip; /**< Destination IP address. */
- int32_t dest_port; /**< Destination L4 port (e.g., TCP or UDP port). */
+ int32_t dest_port; /**< Destination L4 port, e.g., TCP or UDP port. */
};
/**
@@ -956,10 +959,10 @@ struct nss_ipv4_node_sync {
/**< Number of multicast connection flushes. */
uint32_t ipv4_connection_create_invalid_mirror_ifnum;
- /**< Number of create request failed with an invalid mirror interface number. */
+ /**< Number of failed create requests with an invalid mirror interface number. */
uint32_t ipv4_connection_create_invalid_mirror_iftype;
- /**< Number of create request failed with an invalid mirror interface type. */
+ /**< Number of failed create requests with an invalid mirror interface type. */
uint32_t ipv4_mirror_failures;
/**< Mirror packet failed. */
--- a/exports/nss_ipv6.h
+++ b/exports/nss_ipv6.h
@@ -1,9 +1,12 @@
/*
**************************************************************************
* Copyright (c) 2014-2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
@@ -82,14 +85,14 @@ struct nss_ipv6_create {
/**< Source interface number (virtual or physical). */
int32_t dest_interface_num;
/**< Destination interface number (virtual or physical). */
- int32_t protocol; /**< L4 protocol (e.g., TCP or UDP). */
- uint32_t flags; /**< Flags (if any) associated with this rule. */
+ int32_t protocol; /**< L4 protocol, e.g., TCP or UDP,. */
+ uint32_t flags; /**< Flags associated with this rule. */
uint32_t from_mtu; /**< MTU of the incoming interface. */
uint32_t to_mtu; /**< MTU of the outgoing interface. */
uint32_t src_ip[4]; /**< Source IP address. */
- int32_t src_port; /**< Source L4 port (e.g., TCP or UDP port). */
+ int32_t src_port; /**< Source L4 port, e.g., TCP or UDP port. */
uint32_t dest_ip[4]; /**< Destination IP address. */
- int32_t dest_port; /**< Destination L4 port (e.g., TCP or UDP port). */
+ int32_t dest_port; /**< Destination L4 port, e.g., TCP or UDP port. */
uint8_t src_mac[ETH_ALEN]; /**< Source MAC address. */
uint8_t dest_mac[ETH_ALEN]; /**< Destination MAC address. */
uint8_t flow_window_scale; /**< Window scaling factor (TCP). */
@@ -111,7 +114,7 @@ struct nss_ipv6_create {
uint32_t return_max_end;
/**< Maximum end for the return direction. */
uint32_t return_pppoe_if_exist;
- /**< Return direction: PPPoE interface exist flag. */
+ /**< Return direction: PPPoE interface existence flag. */
int32_t return_pppoe_if_num;
/**< Return direction: PPPoE interface number. */
uint16_t egress_vlan_tag; /**< Egress VLAN tag expected for this flow. */
@@ -139,11 +142,11 @@ struct nss_ipv6_create {
* Information for an IPv6 flow or connection destroy rule.
*/
struct nss_ipv6_destroy {
- int32_t protocol; /**< L4 protocol (e.g., TCP or UDP). */
+ int32_t protocol; /**< L4 protocol, e.g., TCP or UDP. */
uint32_t src_ip[4]; /**< Source IP address. */
- int32_t src_port; /**< Source L4 port (e.g., TCP or UDP port). */
+ int32_t src_port; /**< Source L4 port, e.g., TCP or UDP port. */
uint32_t dest_ip[4]; /**< Destination IP address. */
- int32_t dest_port; /**< Destination L4 port (e.g., TCP or UDP port). */
+ int32_t dest_port; /**< Destination L4 port, e.g., TCP or UDP port. */
};
/**
@@ -951,10 +954,10 @@ struct nss_ipv6_node_sync {
/**< Number of multicast connection flushes. */
uint32_t ipv6_connection_create_invalid_mirror_ifnum;
- /**< Number of create request failed with an invalid mirror interface number. */
+ /**< Number of failed create requests with an invalid mirror interface number. */
uint32_t ipv6_connection_create_invalid_mirror_iftype;
- /**< Number of create request failed with an invalid mirror interface type. */
+ /**< Number of failed create requests with an invalid mirror interface type. */
uint32_t ipv6_mirror_failures;
/**< Mirror packet failed. */
--- a/exports/nss_lso_rx.h
+++ b/exports/nss_lso_rx.h
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -17,7 +17,7 @@
*/
/*
- * nss_lso_rx.h
+ * @file nss_lso_rx.h
* NSS driver LSO (Large Send Offload) Rx header file.
*/
--- a/exports/nss_map_t.h
+++ b/exports/nss_map_t.h
@@ -36,14 +36,18 @@
*/
#define NSS_MAX_MAP_T_DYNAMIC_INTERFACES 4
+/**
+ * MAP-T metadata flag.
+ */
#define NSS_MAPT_MDATA_FLAG_DF_BIT (1 << 0)
-/*
- * mapt meta data
+/**
+ * nss_map_t_mdata
+ * MAP-T metadata
*/
struct nss_map_t_mdata {
- uint16_t flags;
- uint16_t res[6];
+ uint16_t flags; /**< Metadata flags. */
+ uint16_t res[6]; /**< Reserved for future use. */
};
/**
--- a/exports/nss_virt_if.h
+++ b/exports/nss_virt_if.h
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2014-2017, 2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014-2017, 2019, 2021, The Linux Foundation. All rights reserved.
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
@@ -93,8 +93,8 @@ struct nss_virt_if_interface_stats {
* Virtual interface statistics received from the NSS.
*/
struct nss_virt_if_stats {
- struct nss_virt_if_base_node_stats base_stats;
- struct nss_virt_if_interface_stats if_stats;
+ struct nss_virt_if_base_node_stats base_stats; /**< Virtual interface statistics of NSS base node. */
+ struct nss_virt_if_interface_stats if_stats; /**< Virtual interface statistics of each pair of interfaces. */
};
/**
--- a/nss_c2c_rx.c
+++ b/nss_c2c_rx.c
@@ -1,9 +1,12 @@
/*
**************************************************************************
* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
--- a/nss_c2c_tx.c
+++ b/nss_c2c_tx.c
@@ -1,9 +1,12 @@
/*
**************************************************************************
* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
--- a/nss_coredump.c
+++ b/nss_coredump.c
@@ -1,6 +1,8 @@
/*
**************************************************************************
* Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
--- a/nss_dynamic_interface.c
+++ b/nss_dynamic_interface.c
@@ -1,9 +1,12 @@
/*
**************************************************************************
* Copyright (c) 2014-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
--- a/nss_hal/ipq806x/nss_hal_pvt.c
+++ b/nss_hal/ipq806x/nss_hal_pvt.c
@@ -1,9 +1,12 @@
/*
**************************************************************************
* Copyright (c) 2013, 2015-2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
--- a/nss_meminfo.c
+++ b/nss_meminfo.c
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
--- a/nss_phys_if.h
+++ b/nss_phys_if.h
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2014-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014-2021, The Linux Foundation. All rights reserved.
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
--- a/nss_profiler.c
+++ b/nss_profiler.c
@@ -1,9 +1,12 @@
/*
**************************************************************************
* Copyright (c) 2013-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
--- a/nss_qrfs.c
+++ b/nss_qrfs.c
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
--- a/nss_rmnet_rx.c
+++ b/nss_rmnet_rx.c
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
--- a/nss_stats.c
+++ b/nss_stats.c
@@ -1,9 +1,12 @@
/*
**************************************************************************
* Copyright (c) 2013-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
--- a/nss_stats.h
+++ b/nss_stats.h
@@ -1,9 +1,12 @@
/*
**************************************************************************
* Copyright (c) 2016-2017, 2019-2020 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
--- a/nss_vxlan.c
+++ b/nss_vxlan.c
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
--- a/nss_data_plane/include/nss_data_plane.h
+++ b/nss_data_plane/include/nss_data_plane.h
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2014-2017,2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014-2017,2020-2021, The Linux Foundation. All rights reserved.
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
--- a/nss_data_plane/nss_data_plane.c
+++ b/nss_data_plane/nss_data_plane.c
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
--- a/exports/nss_wifi_vdev.h
+++ b/exports/nss_wifi_vdev.h
@@ -1069,13 +1069,13 @@ struct nss_wifi_vdev_msg {
struct nss_wifi_vdev_me_snptbl_deny_grp_add_msg vdev_deny_member_add;
/**< Add a snooplist member to the deny list. */
struct nss_wifi_vdev_me_hmmc_add_msg vdev_hmmc_member_add;
- /**< Adds a new member into the HMMC list. */
+ /**< Adds a member to the HMMC list. */
struct nss_wifi_vdev_me_hmmc_del_msg vdev_hmmc_member_del;
- /**< Delete a member from the HMMC list. */
+ /**< Deletes a member from the HMMC list. */
struct nss_wifi_vdev_me_deny_ip_add_msg vdev_deny_list_member_add;
- /**< Adds a new member into the deny list. */
+ /**< Adds a member to the denylist. */
struct nss_wifi_vdev_me_deny_ip_del_msg vdev_deny_list_member_del;
- /**< Delete a member from the deny list. */
+ /**< Deletes a member from the denylist. */
struct nss_wifi_vdev_txmsg vdev_txmsgext;
/**< Transmits special data. */
struct nss_wifi_vdev_vow_dbg_cfg_msg vdev_vow_dbg_cfg;
--- a/exports/nss_wifi_ext_vdev_if.h
+++ b/exports/nss_wifi_ext_vdev_if.h
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2020, 2021, The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -26,6 +26,11 @@
#define NSS_WIFI_EXT_VDEV_MAX 16
+/**
+ * @addtogroup nss_wifi_ext_vdev_subsystem
+ * @{
+ */
+
/*
* nss_wifi_ext_vdev_msg_types
* WiFi extension virtual device mesage types.
@@ -294,4 +299,8 @@ extern struct nss_ctx_instance *nss_wifi
nss_wifi_ext_vdev_data_callback_t cb_func_data, nss_wifi_ext_vdev_ext_data_callback_t cb_func_ext,
nss_wifi_ext_vdev_msg_callback_t cb_func_msg, struct net_device *netdev, uint32_t features,
void *app_ctx);
+/**
+ * @}
+ */
+
#endif
--- a/exports/nss_wifili_if.h
+++ b/exports/nss_wifili_if.h
@@ -1,16 +1,19 @@
/*
**************************************************************************
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
- * Permission to use, copy, modify, and/or distribute this software for
- * any purpose with or without fee is hereby granted, provided that the
- * above copyright notice and this permission notice appear in all copies.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
- * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
**************************************************************************
*/
@@ -711,7 +714,7 @@ struct nss_wifili_hal_srng_soc_msg {
uint32_t shadow_wrptr_mem_addr;
/**< Shadow write pointer address. */
uint32_t lmac_rings_start_id;
- /**< start id of LMAC rings. */
+ /**< Start ID of LMAC rings. */
};
/**
--- a/exports/nss_wifi_mac_db_if.h
+++ b/exports/nss_wifi_mac_db_if.h
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2020, 2021, The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -25,6 +25,11 @@
#define NSS_WIFI_MAC_DB_ENTRY_IF_LOCAL 0x1
+ /**
+ * @addtogroup nss_wifi_mac_db_if_subsystem
+ * @{
+ */
+
/*
* MAX Wi-Fi MAC database entries sent in group
* is chosen considering the entry size and
@@ -72,6 +77,7 @@ enum nss_wifi_mac_db_if_opmode {
};
/**
+ * nss_wifi_mac_db_err_types
* Wi-Fi MAC database errors.
*/
enum nss_wifi_mac_db_err_types {
@@ -274,4 +280,9 @@ struct nss_ctx_instance *nss_register_wi
*/
void nss_unregister_wifi_mac_db_if(uint32_t if_num);
struct nss_ctx_instance *nss_wifi_mac_db_get_context(void);
+
+/**
+ * @}
+ */
+
#endif /* __NSS_WIFI_MAC_DB_H */
--- a/nss_wifili_stats.c
+++ b/nss_wifili_stats.c
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
--- a/nss_wifili_strings.c
+++ b/nss_wifili_strings.c
@@ -1,6 +1,6 @@
/*
**************************************************************************
- * Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -71,10 +71,10 @@ struct nss_stats_info nss_wifili_strings
* wifili tx comp stats
*/
struct nss_stats_info nss_wifili_strings_stats_tx_comp[NSS_WIFILI_STATS_TX_DESC_FREE_MAX] = {
- {"tx_desc_free_inv_bufsrc" , NSS_STATS_TYPE_ERROR},
- {"tx_desc_free_inv_cookie" , NSS_STATS_TYPE_SPECIAL},
- {"tx_desc_free_hw_ring_empty" , NSS_STATS_TYPE_SPECIAL},
- {"tx_desc_free_reaped" , NSS_STATS_TYPE_SPECIAL}
+ {"tx_desc_free_inv_bufsrc" , NSS_STATS_TYPE_ERROR},
+ {"tx_desc_free_inv_cookie" , NSS_STATS_TYPE_SPECIAL},
+ {"tx_desc_free_hw_ring_empty" , NSS_STATS_TYPE_SPECIAL},
+ {"tx_desc_free_reaped" , NSS_STATS_TYPE_SPECIAL}
};
/*