Skip to content

Commit

Permalink
Assigned broadcast dhcpoffer to another queue.
Browse files Browse the repository at this point in the history
Signed-off-by: David Lin <dlin@marvell.com>
  • Loading branch information
yuhhaurlin committed Jan 24, 2018
1 parent 33e6068 commit 75fbac0
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 2 deletions.
Empty file modified hif/pcie/tx.c
100755 → 100644
Empty file.
7 changes: 7 additions & 0 deletions hif/pcie/tx_ndp.c
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -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 *
Expand Down
3 changes: 2 additions & 1 deletion utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
}
}
Expand Down
2 changes: 1 addition & 1 deletion utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down

0 comments on commit 75fbac0

Please sign in to comment.