From: Bernd Moessner <berndmoessne...@gmail.com> The compiler issues a couple of warnings as the Xilinx code omits to cast pointers ip_addr_t to the required ip4_addr_t or ip6_addr_t tpye.
Note, ip_addr_t can hold ip4_addr_t and ip6_addr_t. Therefore, the complaints by GCC are correct, but do not indicate a major bug. --- .../contrib/ports/xilinx/netif/xemacpsif.c | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/netif/xemacpsif.c b/embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/netif/xemacpsif.c index 1bf3abb..70c72ee 100644 --- a/embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/netif/xemacpsif.c +++ b/embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/netif/xemacpsif.c @@ -61,14 +61,24 @@ #if LWIP_IGMP static err_t xemacpsif_mac_filter_update (struct netif *netif, +#ifndef __rtems__ ip_addr_t *group, u8_t action); +#else /* __rtems__ */ + const ip4_addr_t *group, + enum netif_mac_filter_action action); +#endif static u8_t xemacps_mcast_entry_mask = 0; #endif #if LWIP_IPV6 && LWIP_IPV6_MLD static err_t xemacpsif_mld6_mac_filter_update (struct netif *netif, +#ifndef __rtems__ ip_addr_t *group, u8_t action); +#else /* __rtems__ */ + const ip6_addr_t *group, + enum netif_mac_filter_action action); +#endif static u8_t xemacps_mld6_mcast_entry_mask; #endif @@ -236,10 +246,18 @@ static struct pbuf * low_level_input(struct netif *netif) */ static err_t xemacpsif_output(struct netif *netif, struct pbuf *p, +#ifndef __rtems__ const ip_addr_t *ipaddr) +#else /* __rtems__ */ + const ip4_addr_t *ipaddr) +#endif { /* resolve hardware address, then send (or queue) packet */ +#ifndef __rtems__ return etharp_output(netif, p, ipaddr); +#else /* __rtems__ */ + return etharp_output(netif, p, (const ip4_addr_t*) ipaddr); +#endif } /* @@ -514,7 +532,11 @@ static u8_t xemacpsif_ip6_addr_ismulticast(ip6_addr_t* ip_addr) } static void xemacpsif_mld6_mac_hash_update (struct netif *netif, u8_t *ip_addr, +#ifndef __rtems__ u8_t action) +#else /* __rtems__ */ + enum netif_mac_filter_action action) +#endif { u8_t multicast_mac_addr[6]; struct xemac_s *xemac = (struct xemac_s *) (netif->state); @@ -557,14 +579,24 @@ static void xemacpsif_mld6_mac_hash_update (struct netif *netif, u8_t *ip_addr, SYS_ARCH_UNPROTECT(lev); } +#ifndef __rtems__ static err_t xemacpsif_mld6_mac_filter_update (struct netif *netif, ip_addr_t *group, u8_t action) +#else /* __rtems__ */ +static err_t xemacpsif_mld6_mac_filter_update (struct netif *netif, + const ip6_addr_t *group, + enum netif_mac_filter_action action) +#endif { u8_t temp_mask; unsigned int i; u8_t * ip_addr = (u8_t *) group; +#ifndef __rtems__ if(!(xemacpsif_ip6_addr_ismulticast((ip6_addr_t*) ip_addr))) { +#else /* __rtems__ */ + if(!(xemacpsif_ip6_addr_ismulticast((ip6_addr_t*) group ))) { +#endif LWIP_DEBUGF(NETIF_DEBUG, ("%s: The requested MAC address is not a multicast address.\r\n", __func__)); LWIP_DEBUGF(NETIF_DEBUG, ("Multicast address add operation failure !!\r\n")); @@ -620,8 +652,13 @@ static err_t xemacpsif_mld6_mac_filter_update (struct netif *netif, ip_addr_t *g #endif #if LWIP_IGMP +#ifndef __rtems__ static void xemacpsif_mac_hash_update (struct netif *netif, u8_t *ip_addr, u8_t action) +#else /* __rtems__ */ +static void xemacpsif_mac_hash_update (struct netif *netif, u8_t *ip4_addr_t, + enum netif_mac_filter_action action) +#endif { u8_t multicast_mac_addr[6]; struct xemac_s *xemac = (struct xemac_s *) (netif->state); -- 2.34.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel