Skip to content
Permalink
Browse files

Assigned broadcast dhcpoffer to another queue.

Signed-off-by: David Lin <dlin@marvell.com>
  • Loading branch information
yuhhaurlin committed Jan 24, 2018
1 parent 33e6068 commit 75fbac00e264d0f596703aa1949d446d373c6a8e
Showing with 10 additions and 2 deletions.
  1. 0 hif/pcie/tx.c
  2. +7 −0 hif/pcie/tx_ndp.c
  3. +2 −1 utils.c
  4. +1 −1 utils.h
0 hif/pcie/tx.c 100755 → 100644
No changes.
7 hif/pcie/tx_ndp.c 100755 → 100644
@@ -626,8 +626,15 @@ void pcie_tx_xmit_ndp(struct ieee80211_hw *hw,

if (is_multicast_ether_addr(ieee80211_get_DA(wh))
&& (mwl_vif->macid != SYSADPT_NUM_OF_AP)) {
u8 dhcp_op;
u8 client[ETH_ALEN];

tx_que_priority = mwl_vif->macid * SYSADPT_MAX_TID;

if (utils_is_dhcp(skb->data, true, &dhcp_op, client))
if (dhcp_op == DHCPOFFER)
tx_que_priority += 7;

if (ieee80211_has_a4(wh->frame_control)) {
if (sta && sta_info->wds)
tx_que_priority = SYSADPT_MAX_TID *
@@ -275,7 +275,7 @@ bool utils_is_icmp_echo(const void *packet, bool mac80211, u8 *type)
return false;
}

bool utils_is_dhcp(const void *packet, bool mac80211, u8 *op)
bool utils_is_dhcp(const void *packet, bool mac80211, u8 *op, u8 *dhcp_client)
{
const u8 *data = packet;
struct ieee80211_hdr *wh;
@@ -306,6 +306,7 @@ bool utils_is_dhcp(const void *packet, bool mac80211, u8 *op)
(udph->dest == htons(68)))) {
data += sizeof(struct udphdr);
*op = *data;
ether_addr_copy(dhcp_client, data + 28);
return true;
}
}
@@ -138,7 +138,7 @@ bool utils_is_arp(const void *packet, bool mac80211, u16 *arp_op);

bool utils_is_icmp_echo(const void *packet, bool mac80211, u8 *type);

bool utils_is_dhcp(const void *packet, bool mac80211, u8 *op);
bool utils_is_dhcp(const void *packet, bool mac80211, u8 *op, u8 *dhcp_client);

void utils_dump_arp(const void *packet, bool mac80211, size_t len);

0 comments on commit 75fbac0

Please sign in to comment.
You can’t perform that action at this time.