• Ralf Baechle's avatar
    NET: Fix /proc/net/arp for AX.25 · d914dc3b
    Ralf Baechle authored
    [ Upstream commit 4872e57c ]
    
    When sending ARP requests over AX.25 links the hwaddress in the neighbour
    cache are not getting initialized.  For such an incomplete arp entry
    ax2asc2 will generate an empty string resulting in /proc/net/arp output
    like the following:
    
    $ cat /proc/net/arp
    IP address       HW type     Flags       HW address            Mask     Device
    192.168.122.1    0x1         0x2         52:54:00:00:5d:5f     *        ens3
    172.20.1.99      0x3         0x0              *        bpq0
    
    The missing field will confuse the procfs parsing of arp(8) resulting in
    incorrect output for the device such as the following:
    
    $ arp
    Address                  HWtype  HWaddress           Flags Mask            Iface
    gateway                  ether   52:54:00:00:5d:5f   C                     ens3
    172.20.1.99                      (incomplete)                              ens3
    
    This changes the content of /proc/net/arp to:
    
    $ cat /proc/net/arp
    IP address       HW type     Flags       HW address            Mask     Device
    172.20.1.99      0x3         0x0         *                     *        bpq0
    192.168.122.1    0x1         0x2         52:54:00:00:5d:5f     *        ens3
    
    To do so it change ax2asc to put the string "*" in buf for a NULL address
    argument.  Finally the HW address field is left aligned in a 17 character
    field (the length of an ethernet HW address in the usual hex notation) for
    readability.
    Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarSasha Levin <alexander.levin@verizon.com>
    d914dc3b
arp.c 33.2 KB