On Mon, 16 Aug 2021 at 08:35, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > The ipx.h header files are being removed from the kernel, and support > for them was long removed from the tree, so remove all references to it > in the r8188eu driver as well, to allow it to continue to build properly > in linux-next > > Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > --- > drivers/staging/r8188eu/core/rtw_br_ext.c | 228 ---------------------- > 1 file changed, 228 deletions(-) > > diff --git a/drivers/staging/r8188eu/core/rtw_br_ext.c b/drivers/staging/r8188eu/core/rtw_br_ext.c > index fb2bb36f9e2c..8be025992270 100644 > --- a/drivers/staging/r8188eu/core/rtw_br_ext.c > +++ b/drivers/staging/r8188eu/core/rtw_br_ext.c > @@ -5,7 +5,6 @@ > > #include "../include/linux/if_arp.h" > #include "../include/net/ip.h" > -#include "../include/net/ipx.h" > #include "../include/linux/atalk.h" > #include "../include/linux/udp.h" > #include "../include/linux/if_pppox.h" > @@ -133,36 +132,6 @@ static void __nat25_generate_ipv4_network_addr(unsigned char *networkAddr, > memcpy(networkAddr+7, (unsigned char *)ipAddr, 4); > } > > -static void __nat25_generate_ipx_network_addr_with_node(unsigned char *networkAddr, > - __be32 *ipxNetAddr, unsigned char *ipxNodeAddr) > -{ > - memset(networkAddr, 0, MAX_NETWORK_ADDR_LEN); > - > - networkAddr[0] = NAT25_IPX; > - memcpy(networkAddr+1, ipxNetAddr, 4); > - memcpy(networkAddr+5, ipxNodeAddr, 6); > -} > - > -static void __nat25_generate_ipx_network_addr_with_socket(unsigned char *networkAddr, > - __be32 *ipxNetAddr, __be16 *ipxSocketAddr) > -{ > - memset(networkAddr, 0, MAX_NETWORK_ADDR_LEN); > - > - networkAddr[0] = NAT25_IPX; > - memcpy(networkAddr+1, ipxNetAddr, 4); > - memcpy(networkAddr+5, ipxSocketAddr, 2); > -} > - > -static void __nat25_generate_apple_network_addr(unsigned char *networkAddr, > - __be16 *network, unsigned char *node) > -{ > - memset(networkAddr, 0, MAX_NETWORK_ADDR_LEN); > - > - networkAddr[0] = NAT25_APPLE; > - memcpy(networkAddr+1, network, 2); > - networkAddr[3] = *node; > -} > - > static void __nat25_generate_pppoe_network_addr(unsigned char *networkAddr, > unsigned char *ac_mac, __be16 *sid) > { > @@ -584,203 +553,6 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method) > default: > return -1; > } > - } else if ((protocol == ETH_P_IPX) || > - (protocol <= ETH_FRAME_LEN)) { > - /*---------------------------------------------------*/ > - /* Handle IPX and Apple Talk frame */ > - /*---------------------------------------------------*/ > - unsigned char ipx_header[2] = {0xFF, 0xFF}; > - struct ipxhdr *ipx = NULL; > - struct elapaarp *ea = NULL; > - struct ddpehdr *ddp = NULL; > - unsigned char *framePtr = skb->data + ETH_HLEN; > - > - if (protocol == ETH_P_IPX) { > - DEBUG_INFO("NAT25: Protocol = IPX (Ethernet II)\n"); > - ipx = (struct ipxhdr *)framePtr; > - } else if (protocol <= ETH_FRAME_LEN) { > - if (!memcmp(ipx_header, framePtr, 2)) { > - DEBUG_INFO("NAT25: Protocol = IPX (Ethernet 802.3)\n"); > - ipx = (struct ipxhdr *)framePtr; > - } else { > - unsigned char ipx_8022_type = 0xE0; > - unsigned char snap_8022_type = 0xAA; > - > - if (*framePtr == snap_8022_type) { > - unsigned char ipx_snap_id[5] = {0x0, 0x0, 0x0, 0x81, 0x37}; /* IPX SNAP ID */ > - unsigned char aarp_snap_id[5] = {0x00, 0x00, 0x00, 0x80, 0xF3}; /* Apple Talk AARP SNAP ID */ > - unsigned char ddp_snap_id[5] = {0x08, 0x00, 0x07, 0x80, 0x9B}; /* Apple Talk DDP SNAP ID */ > - > - framePtr += 3; /* eliminate the 802.2 header */ > - > - if (!memcmp(ipx_snap_id, framePtr, 5)) { > - framePtr += 5; /* eliminate the SNAP header */ > - > - DEBUG_INFO("NAT25: Protocol = IPX (Ethernet SNAP)\n"); > - ipx = (struct ipxhdr *)framePtr; > - } else if (!memcmp(aarp_snap_id, framePtr, 5)) { > - framePtr += 5; /* eliminate the SNAP header */ > - > - ea = (struct elapaarp *)framePtr; > - } else if (!memcmp(ddp_snap_id, framePtr, 5)) { > - framePtr += 5; /* eliminate the SNAP header */ > - > - ddp = (struct ddpehdr *)framePtr; > - } else { > - DEBUG_WARN("NAT25: Protocol = Ethernet SNAP %02x%02x%02x%02x%02x\n", framePtr[0], > - framePtr[1], framePtr[2], framePtr[3], framePtr[4]); > - return -1; > - } > - } else if (*framePtr == ipx_8022_type) { > - framePtr += 3; /* eliminate the 802.2 header */ > - > - if (!memcmp(ipx_header, framePtr, 2)) { > - DEBUG_INFO("NAT25: Protocol = IPX (Ethernet 802.2)\n"); > - ipx = (struct ipxhdr *)framePtr; > - } else { > - return -1; > - } > - } else { > - return -1; > - } > - } > - } else { > - return -1; > - } > - > - /* IPX */ > - if (ipx) { > - switch (method) { > - case NAT25_CHECK: > - if (!memcmp(skb->data+ETH_ALEN, ipx->ipx_source.node, ETH_ALEN)) > - DEBUG_INFO("NAT25: Check IPX skb_copy\n"); > - return 0; > - case NAT25_INSERT: > - DEBUG_INFO("NAT25: Insert IPX, Dest =%08x,%02x%02x%02x%02x%02x%02x,%04x Source =%08x,%02x%02x%02x%02x%02x%02x,%04x\n", > - ipx->ipx_dest.net, > - ipx->ipx_dest.node[0], > - ipx->ipx_dest.node[1], > - ipx->ipx_dest.node[2], > - ipx->ipx_dest.node[3], > - ipx->ipx_dest.node[4], > - ipx->ipx_dest.node[5], > - ipx->ipx_dest.sock, > - ipx->ipx_source.net, > - ipx->ipx_source.node[0], > - ipx->ipx_source.node[1], > - ipx->ipx_source.node[2], > - ipx->ipx_source.node[3], > - ipx->ipx_source.node[4], > - ipx->ipx_source.node[5], > - ipx->ipx_source.sock); > - > - if (!memcmp(skb->data+ETH_ALEN, ipx->ipx_source.node, ETH_ALEN)) { > - DEBUG_INFO("NAT25: Use IPX Net, and Socket as network addr\n"); > - > - __nat25_generate_ipx_network_addr_with_socket(networkAddr, &ipx->ipx_source.net, &ipx->ipx_source.sock); > - > - /* change IPX source node addr to wlan STA address */ > - memcpy(ipx->ipx_source.node, GET_MY_HWADDR(priv), ETH_ALEN); > - } else { > - __nat25_generate_ipx_network_addr_with_node(networkAddr, &ipx->ipx_source.net, ipx->ipx_source.node); > - } > - __nat25_db_network_insert(priv, skb->data+ETH_ALEN, networkAddr); > - __nat25_db_print(priv); > - return 0; > - case NAT25_LOOKUP: > - if (!memcmp(GET_MY_HWADDR(priv), ipx->ipx_dest.node, ETH_ALEN)) { > - DEBUG_INFO("NAT25: Lookup IPX, Modify Destination IPX Node addr\n"); > - > - __nat25_generate_ipx_network_addr_with_socket(networkAddr, &ipx->ipx_dest.net, &ipx->ipx_dest.sock); > - > - __nat25_db_network_lookup_and_replace(priv, skb, networkAddr); > - > - /* replace IPX destination node addr with Lookup destination MAC addr */ > - memcpy(ipx->ipx_dest.node, skb->data, ETH_ALEN); > - } else { > - __nat25_generate_ipx_network_addr_with_node(networkAddr, &ipx->ipx_dest.net, ipx->ipx_dest.node); > - > - __nat25_db_network_lookup_and_replace(priv, skb, networkAddr); > - } > - return 0; > - default: > - return -1; > - } > - } else if (ea) { > - /* Sanity check fields. */ > - if (ea->hw_len != ETH_ALEN || ea->pa_len != AARP_PA_ALEN) { > - DEBUG_WARN("NAT25: Appletalk AARP Sanity check fail!\n"); > - return -1; > - } > - > - switch (method) { > - case NAT25_CHECK: > - return 0; > - case NAT25_INSERT: > - /* change to AARP source mac address to wlan STA address */ > - memcpy(ea->hw_src, GET_MY_HWADDR(priv), ETH_ALEN); > - > - DEBUG_INFO("NAT25: Insert AARP, Source =%d,%d Destination =%d,%d\n", > - ea->pa_src_net, > - ea->pa_src_node, > - ea->pa_dst_net, > - ea->pa_dst_node); > - > - __nat25_generate_apple_network_addr(networkAddr, &ea->pa_src_net, &ea->pa_src_node); > - > - __nat25_db_network_insert(priv, skb->data+ETH_ALEN, networkAddr); > - > - __nat25_db_print(priv); > - return 0; > - case NAT25_LOOKUP: > - DEBUG_INFO("NAT25: Lookup AARP, Source =%d,%d Destination =%d,%d\n", > - ea->pa_src_net, > - ea->pa_src_node, > - ea->pa_dst_net, > - ea->pa_dst_node); > - > - __nat25_generate_apple_network_addr(networkAddr, &ea->pa_dst_net, &ea->pa_dst_node); > - > - __nat25_db_network_lookup_and_replace(priv, skb, networkAddr); > - > - /* change to AARP destination mac address to Lookup result */ > - memcpy(ea->hw_dst, skb->data, ETH_ALEN); > - return 0; > - default: > - return -1; > - } > - } else if (ddp) { > - switch (method) { > - case NAT25_CHECK: > - return -1; > - case NAT25_INSERT: > - DEBUG_INFO("NAT25: Insert DDP, Source =%d,%d Destination =%d,%d\n", > - ddp->deh_snet, > - ddp->deh_snode, > - ddp->deh_dnet, > - ddp->deh_dnode); > - > - __nat25_generate_apple_network_addr(networkAddr, &ddp->deh_snet, &ddp->deh_snode); > - > - __nat25_db_network_insert(priv, skb->data+ETH_ALEN, networkAddr); > - > - __nat25_db_print(priv); > - return 0; > - case NAT25_LOOKUP: > - DEBUG_INFO("NAT25: Lookup DDP, Source =%d,%d Destination =%d,%d\n", > - ddp->deh_snet, > - ddp->deh_snode, > - ddp->deh_dnet, > - ddp->deh_dnode); > - __nat25_generate_apple_network_addr(networkAddr, &ddp->deh_dnet, &ddp->deh_dnode); > - __nat25_db_network_lookup_and_replace(priv, skb, networkAddr); > - return 0; > - default: > - return -1; > - } > - } > - > - return -1; > } else if ((protocol == ETH_P_PPP_DISC) || > (protocol == ETH_P_PPP_SES)) { > /*---------------------------------------------------*/ > -- > 2.32.0 > Acked-by: Phillip Potter <phil@xxxxxxxxxxxxxxxx> Regards, Phil