0

I have an ECU sending ARP request to another ECU destination and it's working fine. the problem arises when I use an automotive switch in between. the source IP address is 192.168.0.12

the switch forwards the ARP frame from source to destination but set source IP address to 0.0.0.0 instead of the correct source address

at the response, the target address is 0.0.0.0 instead of the real address or ECU that initiated the ARP request.

my question is :

when a switch route an ARP frame, what's the address the switch set in source field?

Frame 1: 60 bytes on wire (480 bits), 60 bytes captured (480 bits)
Ethernet II, Src: 02:00:00:00:00:02 (02:00:00:00:00:02), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
    Destination: Broadcast (ff:ff:ff:ff:ff:ff)
    Source: 02:00:00:00:00:02 (02:00:00:00:00:02)
    Type: ARP (0x0806)
    Padding: 000000000000000000000000000000000000
Address Resolution Protocol (request)
    Hardware type: Ethernet (1)
    Protocol type: IPv4 (0x0800)
    Hardware size: 6
    Protocol size: 4
    Opcode: request (1)
    Sender MAC address: 02:00:00:00:00:02 (02:00:00:00:00:02)
    Sender IP address: 0.0.0.0
    Target MAC address: Broadcast (ff:ff:ff:ff:ff:ff)
    Target IP address: 192.168.0.10


    Frame 2: 60 bytes on wire (480 bits), 60 bytes captured (480 bits)
    Ethernet II, Src: 02:84:cf:3b:be:01 (02:84:cf:3b:be:01), Dst: 02:00:00:00:00:02 (02:00:00:00:00:02)
        Destination: 02:00:00:00:00:02 (02:00:00:00:00:02)
        Source: 02:84:cf:3b:be:01 (02:84:cf:3b:be:01)
        Type: ARP (0x0806)
        Padding: 000000000000000000000000000000000000
    Address Resolution Protocol (reply)
        Hardware type: Ethernet (1)
        Protocol type: IPv4 (0x0800)
        Hardware size: 6
        Protocol size: 4
        Opcode: reply (2)
        Sender MAC address: 02:84:cf:3b:be:01 (02:84:cf:3b:be:01)
        Sender IP address: 192.168.0.10
        Target MAC address: 02:00:00:00:00:02 (02:00:00:00:00:02)
        Target IP address: 0.0.0.0
1
  • As @Zac67 explained, switches are transparent devices that do not modify packets. Your question is really too broad to answer without more information. For example, the network device models and configurations. You can refer to the Network Engineering Question Checklist for guidance, then edit your question to include enough information for someone to be able to answer the question. – Ron Maupin Jul 11 '19 at 13:51
3

An Ethernet switch is a transparent L2 bridge - it forwards frames without changing them. A switch forwards frames based on the destination MAC address. At the same time, it learns from the source MAC address which port a host is located on.

That said, it's completely transparent to ARP and IP. If there's no connectivity you need to check the (managed) switch's configuration. Using VLANs, it's quite possible that the ports you're using are not in the same segment.

From your capture, ARP is working as expected. However, the source doesn't have a valid IP address (0.0.0.0) and requires configuration or a DHCP server.

Both source and destination also use LAA, locally administered MAC addresses (02:...) - if you use those you need to make sure that no address in your network is used more than once. If it is, you won't be able to establish a reasonable communication across a switch. Either change the device's LAA to a unique value or use its "hardware" MAC (UAA, with 0, 1, 4, 5, 8, 9, c, d as the second hex digit).

With a decent, managed switch you should see a "flapping" MAC in the log with duplicate addresses.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.