qcacmn: Donot forward MDNS packets for NAN vdev

MDNS packets if forwarded for a NAN vdev can lead to potential flooding
of the air interface. Hence donot forward them.

Change-Id: Idfdedfb0b5b553745440587448230013f3b56a7d
CRs-Fixed: 2503360
此提交包含在:
Mohit Khanna
2019-08-08 18:44:17 -07:00
提交者 nshrivas
父節點 4b4e8b48cf
當前提交 c42d8036c9
共有 7 個檔案被更改,包括 76 行新增1 行删除

查看文件

@@ -777,6 +777,7 @@ bool __qdf_nbuf_data_is_ipv6_udp_pkt(uint8_t *data);
bool __qdf_nbuf_data_is_ipv6_tcp_pkt(uint8_t *data);
bool __qdf_nbuf_data_is_ipv4_dhcp_pkt(uint8_t *data);
bool __qdf_nbuf_data_is_ipv6_dhcp_pkt(uint8_t *data);
bool __qdf_nbuf_data_is_ipv6_mdns_pkt(uint8_t *data);
bool __qdf_nbuf_data_is_ipv4_eapol_pkt(uint8_t *data);
bool __qdf_nbuf_data_is_ipv4_arp_pkt(uint8_t *data);
bool __qdf_nbuf_is_bcast_pkt(__qdf_nbuf_t nbuf);

查看文件

@@ -1790,6 +1790,35 @@ bool __qdf_nbuf_data_is_ipv6_dhcp_pkt(uint8_t *data)
}
qdf_export_symbol(__qdf_nbuf_data_is_ipv6_dhcp_pkt);
/**
* __qdf_nbuf_data_is_ipv6_mdns_pkt() - check if skb data is a mdns packet
* @data: Pointer to network data buffer
*
* This api is for ipv6 packet.
*
* Return: true if packet is MDNS packet
* false otherwise
*/
bool __qdf_nbuf_data_is_ipv6_mdns_pkt(uint8_t *data)
{
uint16_t sport;
uint16_t dport;
sport = *(uint16_t *)(data + QDF_NBUF_TRAC_IPV6_OFFSET +
QDF_NBUF_TRAC_IPV6_HEADER_SIZE);
dport = *(uint16_t *)(data + QDF_NBUF_TRAC_IPV6_OFFSET +
QDF_NBUF_TRAC_IPV6_HEADER_SIZE +
sizeof(uint16_t));
if (sport == QDF_SWAP_U16(QDF_NBUF_TRAC_MDNS_SRC_N_DST_PORT) &&
dport == sport)
return true;
else
return false;
}
qdf_export_symbol(__qdf_nbuf_data_is_ipv6_mdns_pkt);
/**
* __qdf_nbuf_data_is_ipv4_mcast_pkt() - check if it is IPV4 multicast packet.
* @data: Pointer to IPV4 packet data buffer