Lines Matching refs:q
108 struct etharp_q_entry *q;
111 struct pbuf *q;
152 * @param q a qeueue of etharp_q_entry's to free
155 free_etharp_q(struct etharp_q_entry *q)
158 LWIP_ASSERT("q != NULL", q != NULL);
159 LWIP_ASSERT("q->p != NULL", q->p != NULL);
160 while (q) {
161 r = q;
162 q = q->next;
171 #define free_etharp_q(q) pbuf_free(q)
182 if (arp_table[i].q != NULL) {
184 LWIP_DEBUGF(ETHARP_DEBUG, ("etharp_free_entry: freeing entry %"U16_F", packet queue %p.\n", (u16_t)i, (void *)(arp_table[i].q)));
185 free_etharp_q(arp_table[i].q);
186 arp_table[i].q = NULL;
310 if (arp_table[i].q != NULL) {
369 LWIP_ASSERT("arp_table[i].q == NULL", arp_table[i].q == NULL);
379 LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_find_entry: selecting oldest pending entry %"U16_F", freeing packet queue %p\n", (u16_t)i, (void *)(arp_table[i].q)));
493 while (arp_table[i].q != NULL) {
496 struct etharp_q_entry *q = arp_table[i].q;
498 arp_table[i].q = q->next;
500 p = q->p;
502 memp_free(MEMP_ARP_QUEUE, q);
504 if (arp_table[i].q != NULL) {
505 struct pbuf *p = arp_table[i].q;
506 arp_table[i].q = NULL;
842 etharp_output_to_arp_index(struct netif *netif, struct pbuf *q, u8_t arp_idx)
856 return etharp_send_ip(netif, q, (struct eth_addr*)(netif->hwaddr),
871 * @param q The pbuf(s) containing the IP packet to be sent.
879 etharp_output(struct netif *netif, struct pbuf *q, ip_addr_t *ipaddr)
886 LWIP_ASSERT("q != NULL", q != NULL);
890 if (pbuf_header(q, sizeof(struct eth_hdr)) != 0) {
924 struct ip_hdr *iphdr = (struct ip_hdr*)((u8_t*)q->payload +
954 return etharp_output_to_arp_index(netif, q, etharp_cached_entry);
968 return etharp_output_to_arp_index(netif, q, i);
973 return etharp_query(netif, dst_addr, q);
979 return etharp_send_ip(netif, q, (struct eth_addr*)(netif->hwaddr), dest);
1001 * @param q If non-NULL, a pbuf that must be delivered to the IP address.
1002 * q is not freed by this function.
1004 * @note q must only be ONE packet, not a packet queue!
1016 etharp_query(struct netif *netif, ip_addr_t *ipaddr, struct pbuf *q)
1036 if (q) {
1054 if ((arp_table[i].state == ETHARP_STATE_PENDING) || (q == NULL)) {
1063 if (q == NULL) {
1069 LWIP_ASSERT("q != NULL", q != NULL);
1075 result = etharp_send_ip(netif, q, srcaddr, &(arp_table[i].ethaddr));
1078 /* entry is still pending, queue the given packet 'q' */
1081 /* IF q includes a PBUF_REF, PBUF_POOL or PBUF_RAM, we have no choice but
1084 p = q;
1097 if (pbuf_copy(p, q) != ERR_OK) {
1104 p = q;
1117 if(arp_table[i].q != NULL) {
1120 r = arp_table[i].q;
1127 arp_table[i].q = new_entry;
1129 LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_query: queued packet %p on ARP entry %"S16_F"\n", (void *)q, (s16_t)i));
1134 LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_query: could not queue a copy of PBUF_REF packet %p (out of memory)\n", (void *)q));
1139 if (arp_table[i].q != NULL) {
1140 LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_query: dropped previously queued packet %p for ARP entry %"S16_F"\n", (void *)q, (s16_t)i));
1141 pbuf_free(arp_table[i].q);
1143 arp_table[i].q = p;
1145 LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_query: queued packet %p on ARP entry %"S16_F"\n", (void *)q, (s16_t)i));
1149 LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_query: could not queue a copy of PBUF_REF packet %p (out of memory)\n", (void *)q));