pkarashchenko commented on code in PR #1456:
URL: https://github.com/apache/nuttx-apps/pull/1456#discussion_r1047614581


##########
examples/netlink_route/netlink_route_main.c:
##########
@@ -217,28 +217,23 @@ static void dump_arp(void)
 
   for (i = 0; i < nentries; i++)
     {
-      FAR struct arp_entry_s *arp = &arptab[i];
+      FAR struct arpreq *arp = &arptab[i];
+      FAR struct sockaddr_in *addr = (FAR struct sockaddr_in *)&arp->arp_pa;
 
-      inet_ntop(AF_INET, &arp->at_ipaddr, buffer, INET_ADDRSTRLEN);
+      inet_ntop(AF_INET, &addr->sin_addr.s_addr, buffer, INET_ADDRSTRLEN);
       printf("  Dest: %s MAC Addr: ", buffer);
 
       for (j = 0; j < ETHER_ADDR_LEN; j++)
         {
           if (j == (ETHER_ADDR_LEN - 1))
             {
-              printf("%02x", arp->at_ethaddr.ether_addr_octet[j]);
+              printf("%02x", (uint8_t)arp->arp_ha.sa_data[j]);
             }
           else
             {
-              printf("%02x.", arp->at_ethaddr.ether_addr_octet[j]);
+              printf("%02x.", (uint8_t)arp->arp_ha.sa_data[j]);

Review Comment:
   ```suggestion
                 printf("%02x.", arp->arp_ha.sa_data[j]);
   ```



##########
nshlib/nsh_netcmds.c:
##########
@@ -1092,95 +1132,98 @@ int cmd_arp(FAR struct nsh_vtbl_s *vtbl, int argc, FAR 
char **argv)
        * xx.xx.xx.xx xx:xx:xx:xx:xx:xx xxxxxxxx[xxxxxxxx]
        */
 
-      nsh_output(vtbl, "%-12s %-17s Last Access Time\n",
-                 "IP Address", "Ethernet Address");
+      nsh_output(vtbl, "%-12s %-17s %s\n",
+                 "IP Address", "Ethernet Address", "Interface");
 
       for (i = 0; i < nentries; i++)
         {
+          FAR struct sockaddr_in *addr;
           FAR uint8_t *ptr;
 
+          if (ifname != NULL &&
+              strcmp(ifname, (FAR char *)arptab[i].arp_dev) != 0)
+            {
+              continue;
+            }
+
           /* Convert the IPv4 address to a string */
 
-          ptr = (FAR uint8_t *)&arptab[i].at_ipaddr;
+          addr = (FAR struct sockaddr_in *)&arptab[i].arp_pa;
+          ptr = (FAR uint8_t *)&addr->sin_addr.s_addr;
           snprintf(ipaddr, 16, "%u.%u.%u.%u",
                    ptr[0], ptr[1], ptr[2], ptr[3]);
 
           /* Convert the MAC address string to a binary */
 
           snprintf(ethaddr, 24, "%02x:%02x:%02x:%02x:%02x:%02x",
-                   arptab[i].at_ethaddr.ether_addr_octet[0],
-                   arptab[i].at_ethaddr.ether_addr_octet[1],
-                   arptab[i].at_ethaddr.ether_addr_octet[2],
-                   arptab[i].at_ethaddr.ether_addr_octet[3],
-                   arptab[i].at_ethaddr.ether_addr_octet[4],
-                   arptab[i].at_ethaddr.ether_addr_octet[5]);
-
-#ifdef CONFIG_SYSTEM_TIME64
-          nsh_output(vtbl, "%-12s %-17s 0x%" PRIx64 "\n",
-                     ipaddr, ethaddr, (uint64_t)arptab[i].at_time);
-#else
-          nsh_output(vtbl, "%-12s %-17s 0x%" PRIx32 "\n",
-                     ipaddr, ethaddr, (uint32_t)arptab[i].at_time);
-#endif
+                   (uint8_t)arptab[i].arp_ha.sa_data[0],
+                   (uint8_t)arptab[i].arp_ha.sa_data[1],
+                   (uint8_t)arptab[i].arp_ha.sa_data[2],
+                   (uint8_t)arptab[i].arp_ha.sa_data[3],
+                   (uint8_t)arptab[i].arp_ha.sa_data[4],
+                   (uint8_t)arptab[i].arp_ha.sa_data[5]);

Review Comment:
   I think cast is not needed for `%02x`?



##########
examples/netlink_route/netlink_route_main.c:
##########
@@ -182,7 +182,7 @@ static void dump_neighbor(void)
 #if defined(CONFIG_NET_ARP) && !defined(CONFIG_NETLINK_DISABLE_GETNEIGH)
 static void dump_arp(void)
 {
-  FAR struct arp_entry_s *arptab;
+  FAR struct arpreq *arptab;
   FAR char buffer[INET_ADDRSTRLEN];

Review Comment:
   ```suggestion
     char buffer[INET_ADDRSTRLEN];
   ```



##########
examples/netlink_route/netlink_route_main.c:
##########
@@ -217,28 +217,23 @@ static void dump_arp(void)
 
   for (i = 0; i < nentries; i++)
     {
-      FAR struct arp_entry_s *arp = &arptab[i];
+      FAR struct arpreq *arp = &arptab[i];
+      FAR struct sockaddr_in *addr = (FAR struct sockaddr_in *)&arp->arp_pa;
 
-      inet_ntop(AF_INET, &arp->at_ipaddr, buffer, INET_ADDRSTRLEN);
+      inet_ntop(AF_INET, &addr->sin_addr.s_addr, buffer, INET_ADDRSTRLEN);
       printf("  Dest: %s MAC Addr: ", buffer);
 
       for (j = 0; j < ETHER_ADDR_LEN; j++)
         {
           if (j == (ETHER_ADDR_LEN - 1))
             {
-              printf("%02x", arp->at_ethaddr.ether_addr_octet[j]);
+              printf("%02x", (uint8_t)arp->arp_ha.sa_data[j]);

Review Comment:
   ```suggestion
                 printf("%02x", arp->arp_ha.sa_data[j]);
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to