AM4376: br0 bridge not working in AM437X custom board

Part Number: AM4376

On our TI-AM437x platform, the network bridge (br0) setup causes a system crash. The device completely hangs the moment we create the bridge over the PRU interfaces. Please advise on how to resolve this lockup issue."
oot@am437x-evm:~# ifconfig eth0 0.0.0.0 promisc up
[  158.373568] prueth pruss1-eth eth0: entered promiscuous mode
root@am437x-evm:~# ifconfig eth1 0.0.0.0 promisc up
[  163.628779] prueth pruss1-eth eth1: entered promiscuous mode
root@am437x-evm:~# brctl addbr br0
root@am437x-evm:~# brctl addif br0 eth0
[  173.989453] br0: port 1(eth0) entered blocking state
[  173.994546] br0: port 1(eth0) entered disabled state
[  173.999694] prueth pruss1-eth eth0: entered allmulticast mode
root@am437x-evm:~# brctl addif br0 eth1
[  179.177445] br0: port 2(eth1) entered blocking state
[  179.182511] br0: port 2(eth1) entered disabled state
[  179.187660] prueth pruss1-eth eth1: entered allmulticast mode
[  179.193991] prueth pruss1-eth eth0: Link is Down
[  179.209593] remoteproc remoteproc1: stopped remote processor 54434000.pru
[  179.219003] remoteproc remoteproc2: stopped remote processor 54438000.pru
[  179.234000] remoteproc remoteproc1: powering up 54434000.pru
[  179.240015] remoteproc remoteproc1: Direct firmware load for ti-pruss/am437x-pru0-prusw-fw.elf failed with error -2
[  179.250629] remoteproc remoteproc1: request_firmware failed: -2
[  179.256680] prueth pruss1-eth eth0: failed to boot PRU: -2
[  179.308650] prueth pruss1-eth eth0: failed to start: -2
root@am437x-evm:~# ^C
root@am437x-evm:~# dmesg | grep pru
[   71.213282] mdio_bus 54432400.mdio: using DT '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400' for 'reset' GPIO lookup
[   71.213418] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400[0]'
[   71.213507] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400[0]'
[   71.511373] mdio_bus 54432400.mdio:00: using DT '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400/ethernet-phy@0' for 'reset' GPIO lookup
[   71.511531] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400/ethernet-phy@0[0]' - status (0)
[   71.616623] mdio_bus 54432400.mdio:01: using DT '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400/ethernet-phy@1' for 'reset' GPIO lookup
[   71.616783] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400/ethernet-phy@1[0]' - status (0)
[   72.024792] remoteproc remoteproc1: 54434000.pru is available
[   72.031733] remoteproc remoteproc2: 54438000.pru is available
[   72.038525] remoteproc remoteproc3: 54474000.pru is available
[   72.045103] remoteproc remoteproc4: 54478000.pru is available
[   72.934663] prueth pruss1-eth: could not get ptp tx irq. Skipping PTP support
[   72.942002] prueth pruss1-eth: could not get ptp tx irq. Skipping PTP support
[   72.970573] prueth pruss1-eth: could not get ptp tx irq. Skipping PTP support
[   72.977880] prueth pruss1-eth: could not get ptp tx irq. Skipping PTP support
[   72.985346] prueth pruss1-eth: port 2: using random MAC addr: d6:49:65:7e:aa:a8
[   73.027759] prueth pruss1-eth: TI PRU ethernet driver initialized: dual EMAC mode
[   74.675513] remoteproc remoteproc2: powering up 54438000.pru
[   74.721203] remoteproc remoteproc2: Booting fw image ti-pruss/am437x-pru1-prueth-fw.elf, size 6872
[   74.736315] remoteproc remoteproc2: remote processor 54438000.pru is now up
[   74.841888] remoteproc remoteproc1: powering up 54434000.pru
[   74.863317] remoteproc remoteproc1: Booting fw image ti-pruss/am437x-pru0-prueth-fw.elf, size 7048
[   74.878357] remoteproc remoteproc1: remote processor 54434000.pru is now up
[   75.919218] prueth pruss1-eth eth0: Link is Up - 100Mbps/Full - flow control off
[  158.373568] prueth pruss1-eth eth0: entered promiscuous mode
[  163.628779] prueth pruss1-eth eth1: entered promiscuous mode
[  173.999694] prueth pruss1-eth eth0: entered allmulticast mode
[  179.187660] prueth pruss1-eth eth1: entered allmulticast mode
[  179.193991] prueth pruss1-eth eth0: Link is Down
[  179.209593] remoteproc remoteproc1: stopped remote processor 54434000.pru
[  179.219003] remoteproc remoteproc2: stopped remote processor 54438000.pru
[  179.234000] remoteproc remoteproc1: powering up 54434000.pru
[  179.240015] remoteproc remoteproc1: Direct firmware load for ti-pruss/am437x-pru0-prusw-fw.elf failed with error -2
[  179.256680] prueth pruss1-eth eth0: failed to boot PRU: -2
[  179.308650] prueth pruss1-eth eth0: failed to start: -2
root@am437x-evm:~# cd /lib/firmware/
root@am437x-evm:/lib/firmware# ls
am335x-bone-scale-data.bin  am335x-evm-scale-data.bin   am335x-pm-firmware.elf      am43x-evm-scale-data.bin    ti-pruss
root@am437x-evm:/lib/firmware# cd ti-pruss/
root@am437x-evm:/lib/firmware/ti-pruss# ls
am335x-pru0-prueth-fw.elf       am437x-pru1-pruprp-fw.elf       am64x-sr2-pru1-pruhsr-fw.elf    am64x-sr2-txpru1-prueth-fw.elf  am65x-sr2-rtu0-prueth-fw.elf
am335x-pru0-pruhsr-fw.elf       am57xx-pru0-prueth-fw.elf       am64x-sr2-pru1-pruprp-fw.elf    am64x-sr2-txpru1-pruhsr-fw.elf  am65x-sr2-rtu0-pruhsr-fw.elf
am335x-pru0-pruprp-fw.elf       am57xx-pru0-pruhsr-fw.elf       am64x-sr2-rtu0-prueth-fw.elf    am64x-sr2-txpru1-pruprp-fw.elf  am65x-sr2-rtu1-prueth-fw.elf
am335x-pru1-prueth-fw.elf       am57xx-pru0-pruprp-fw.elf       am64x-sr2-rtu0-pruhsr-fw.elf    am65x-pru0-prueth-fw.elf        am65x-sr2-rtu1-pruhsr-fw.elf
am335x-pru1-pruhsr-fw.elf       am57xx-pru1-prueth-fw.elf       am64x-sr2-rtu0-pruprp-fw.elf    am65x-pru1-prueth-fw.elf        am65x-sr2-txpru0-prueth-fw.elf
am335x-pru1-pruprp-fw.elf       am57xx-pru1-pruhsr-fw.elf       am64x-sr2-rtu1-prueth-fw.elf    am65x-rtu0-prueth-fw.elf        am65x-sr2-txpru0-pruhsr-fw.elf
am437x-pru0-prueth-fw.elf       am57xx-pru1-pruprp-fw.elf       am64x-sr2-rtu1-pruhsr-fw.elf    am65x-rtu1-prueth-fw.elf        am65x-sr2-txpru1-prueth-fw.elf
am437x-pru0-pruhsr-fw.elf       am64x-sr2-pru0-prueth-fw.elf    am64x-sr2-rtu1-pruprp-fw.elf    am65x-sr2-pru0-prueth-fw.elf    am65x-sr2-txpru1-pruhsr-fw.elf
am437x-pru0-pruprp-fw.elf       am64x-sr2-pru0-pruhsr-fw.elf    am64x-sr2-txpru0-prueth-fw.elf  am65x-sr2-pru0-pruhsr-fw.elf
am437x-pru1-prueth-fw.elf       am64x-sr2-pru0-pruprp-fw.elf    am64x-sr2-txpru0-pruhsr-fw.elf  am65x-sr2-pru1-prueth-fw.elf
am437x-pru1-pruhsr-fw.elf       am64x-sr2-pru1-prueth-fw.elf    am64x-sr2-txpru0-pruprp-fw.elf  am65x-sr2-pru1-pruhsr-fw.elf
root@am437x-evm:/lib/firmware/ti-pruss# cd ..
root@am437x-evm:/lib/firmware# cd ..
root@am437x-evm:/lib# cd modules
root@am437x-evm:/lib/modules# ls
6.12.49
root@am437x-evm:/lib/modules# cd 6.12.49/
root@am437x-evm:/lib/modules/6.12.49# ls
build                    modules.alias            modules.builtin          modules.builtin.modinfo  modules.dep.bin          modules.order            modules.symbols
kernel                   modules.alias.bin        modules.builtin.bin      modules.dep              modules.devname          modules.softdep          modules.symbols.bin
root@am437x-evm:/lib/modules/6.12.49# cd build
-sh: cd: build: No such file or directory
root@am437x-evm:/lib/modules/6.12.49# l
-sh: l: command not found
root@am437x-evm:/lib/modules/6.12.49#
root@am437x-evm:/lib/modules/6.12.49# cd /lib/firmware/
root@am437x-evm:/lib/firmware# cp am437x-pru0-prueth-fw.elf am437x-pru0-prusw-fwf
cp: can't stat 'am437x-pru0-prueth-fw.elf': No such file or directory
root@am437x-evm:/lib/firmware# dmesg | grep pru
[   71.213282] mdio_bus 54432400.mdio: using DT '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400' for 'reset' GPIO lookup
[   71.213418] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400[0]'
[   71.213507] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400[0]'
[   71.511373] mdio_bus 54432400.mdio:00: using DT '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400/ethernet-phy@0' for 'reset' GPIO lookup
[   71.511531] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400/ethernet-phy@0[0]' - status (0)
[   71.616623] mdio_bus 54432400.mdio:01: using DT '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400/ethernet-phy@1' for 'reset' GPIO lookup
[   71.616783] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/ocp@44000000/target-module@54400000/pruss@0/mdio@32400/ethernet-phy@1[0]' - status (0)
[   72.024792] remoteproc remoteproc1: 54434000.pru is available
[   72.031733] remoteproc remoteproc2: 54438000.pru is available
[   72.038525] remoteproc remoteproc3: 54474000.pru is available
[   72.045103] remoteproc remoteproc4: 54478000.pru is available
[   72.934663] prueth pruss1-eth: could not get ptp tx irq. Skipping PTP support
[   72.942002] prueth pruss1-eth: could not get ptp tx irq. Skipping PTP support
[   72.970573] prueth pruss1-eth: could not get ptp tx irq. Skipping PTP support
[   72.977880] prueth pruss1-eth: could not get ptp tx irq. Skipping PTP support
[   72.985346] prueth pruss1-eth: port 2: using random MAC addr: d6:49:65:7e:aa:a8
[   73.027759] prueth pruss1-eth: TI PRU ethernet driver initialized: dual EMAC mode
[   74.675513] remoteproc remoteproc2: powering up 54438000.pru
[   74.721203] remoteproc remoteproc2: Booting fw image ti-pruss/am437x-pru1-prueth-fw.elf, size 6872
[   74.736315] remoteproc remoteproc2: remote processor 54438000.pru is now up
[   74.841888] remoteproc remoteproc1: powering up 54434000.pru
[   74.863317] remoteproc remoteproc1: Booting fw image ti-pruss/am437x-pru0-prueth-fw.elf, size 7048
[   74.878357] remoteproc remoteproc1: remote processor 54434000.pru is now up
[   75.919218] prueth pruss1-eth eth0: Link is Up - 100Mbps/Full - flow control off
[  158.373568] prueth pruss1-eth eth0: entered promiscuous mode
[  163.628779] prueth pruss1-eth eth1: entered promiscuous mode
[  173.999694] prueth pruss1-eth eth0: entered allmulticast mode
[  179.187660] prueth pruss1-eth eth1: entered allmulticast mode
[  179.193991] prueth pruss1-eth eth0: Link is Down
[  179.209593] remoteproc remoteproc1: stopped remote processor 54434000.pru
[  179.219003] remoteproc remoteproc2: stopped remote processor 54438000.pru
[  179.234000] remoteproc remoteproc1: powering up 54434000.pru
[  179.240015] remoteproc remoteproc1: Direct firmware load for ti-pruss/am437x-pru0-prusw-fw.elf failed with error -2
[  179.256680] prueth pruss1-eth eth0: failed to boot PRU: -2
[  179.308650] prueth pruss1-eth eth0: failed to start: -2
root@am437x-evm:/lib/firmware# ^C
root@am437x-evm:/lib/firmware#
 
  • Hi,

    Based on what you are showing it looks like the fw that is asked to be loaded is not shown in the directory. I will need to request assistance from the dev team which may take a day or two. The fw that is listed in the console is this something that you are specifying? 

    Best Regards,

    Schuyler

  • Hi Schuyler,

    Thanks for your reply.

    I am not specifying any firmware manually. I am simply using the command to initialize the bridge, and the firmware version shown in the console is generated automatically during that process.

    Please let me know if you need any additional logs or information from my side .

  • Our team will share the script for enabling the software bridge using ICSS Dual MAC.

    BR
    JC

  • Mahesh, 

    This is similar approach what you had on the 08.xx SDK.

    BR
    JC

  • Hi,

    Can you please use the following script to enable the software bridge using ICSS Dual MAC.

    ethtool -K eth1 l2-fwd-offload off
    ethtool -K eth2 l2-fwd-offload off
    
    ip link set dev eth1 down
    ip link set dev eth2 down
    ip link add name br0 type bridge
    ip link set dev eth1 master br0
    ip link set dev eth2 master br0
    ip link set dev br0 up
    bridge vlan add dev br0 vid 1 pvid untagged self
    ip link set dev eth1 up
    ip link set dev eth2 up
    
    ip link set dev br0 address $(cat /sys/class/net/eth2/address)

    Thank you,

    Rishi Kumar
    ICSS India

  • Hi Roshi
    , After using this command, the br0 interface is working fine now. Thank you for your reply. Please find the command log below for your reference.

    ethtool -K eth0 l2-fwd-offload off
    ethtool -K eth1 l2-fwd-offload off

    ip link set dev eth0 down
    ip link set dev eth1 down
    ip link add name br0 type bridge
    ip link set dev eth0 master br0
    ip link set dev eth1 master br0
    ip link set dev br0 up
    bridge vlan add dev br0 vid 1 pvid untagged self
    ip link set dev eth0 up
    ip link set dev eth1 up

    ip link set dev br0 address $(cat /sys/class/net/eth0/address)
    ip addr flush dev br0
    ip addr flush dev br0
    2
    ip addr add 169.254.217.162/24 dev br0
    3
    ip link set br0 up

    also remove the dependent packages as well
    ***************************************************************
    ***************************************************************
    [ 67.481820] remoteproc remoteproc0: wkup_m3 is available
    [ 67.626694] at24 2-0050: supply vcc not found, using dummy regulator
    [ 67.650093] remoteproc remoteproc0: powering up wkup_m3
    [ 67.683477] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 120008
    [ 67.692574] remoteproc remoteproc0: remote processor wkup_m3 is now up
    [ 67.699259] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x192
    [ 67.796372] at24 0-0050: supply vcc not found, using dummy regulator
    [ 71.560971] PM: no-rtc available, rtc-only mode disabled.
    [ 71.566668] PM: Leaving EFUSE power domain active
    [ 71.633187] omap-aes 53501000.aes: OMAP AES hw accel rev: 0.1
    [ 71.681441] davinci_mdio 54432400.mdio: davinci mdio revision 1.6, bus freq 1000000
    [ 71.693597] omap-aes 53501000.aes: will run requests pump with realtime priority
    [ 71.759806] omap-sham 53100000.sham: hw accel on OMAP rev 0.0
    [ 71.795312] omap-des 53701000.des: OMAP DES hw accel rev: 0.33
    [ 71.846300] omap-sham 53100000.sham: will run requests pump with realtime priority
    [ 71.905641] omap-des 53701000.des: will run requests pump with realtime priority
    [ 72.000568] davinci_mdio 54432400.mdio: phy[0]: device 54432400.mdio:00, driver TI DP83822
    [ 72.009006] davinci_mdio 54432400.mdio: phy[1]: device 54432400.mdio:01, driver TI DP83822
    [ 72.267089] remoteproc remoteproc1: 54434000.pru is available
    [ 72.273854] remoteproc remoteproc2: 54438000.pru is available
    [ 72.280613] remoteproc remoteproc3: 54474000.pru is available
    [ 72.287324] remoteproc remoteproc4: 54478000.pru is available
    [ 73.215562] prueth pruss1-eth: could not get ptp tx irq. Skipping PTP support
    [ 73.222891] prueth pruss1-eth: could not get ptp tx irq. Skipping PTP support
    [ 73.257455] prueth pruss1-eth: could not get ptp tx irq. Skipping PTP support
    [ 73.264691] prueth pruss1-eth: could not get ptp tx irq. Skipping PTP support
    [ 73.272251] prueth pruss1-eth: port 2: using random MAC addr: 06:54:eb:60:b4:7b
    [ 73.314668] prueth pruss1-eth: TI PRU ethernet driver initialized: dual EMAC mode
    [ 74.858023] remoteproc remoteproc2: powering up 54438000.pru
    [ 74.937042] remoteproc remoteproc2: Booting fw image ti-pruss/am437x-pru1-prueth-fw.elf, size 6872
    [ 74.946202] remoteproc remoteproc2: unsupported resource 5
    [ 74.952033] remoteproc remoteproc2: remote processor 54438000.pru is now up
    [ 75.048222] 8021q: adding VLAN 0 to HW filter on device eth1
    [ 75.099649] remoteproc remoteproc1: powering up 54434000.pru
    [ 75.112471] remoteproc remoteproc1: Booting fw image ti-pruss/am437x-pru0-prueth-fw.elf, size 7048
    [ 75.121627] remoteproc remoteproc1: unsupported resource 5
    [ 75.127486] remoteproc remoteproc1: remote processor 54434000.pru is now up
    [ 75.145894] 8021q: adding VLAN 0 to HW filter on device eth0
    [ 76.159043] prueth pruss1-eth eth0: Link is Up - 100Mbps/Full - flow control off

    am437x-evm login: root
    root@am437x-evm:~# ethtool -K eth0 l2-fwd-offload off
    root@am437x-evm:~# ethtool -K eth1 l2-fwd-offload off
    root@am437x-evm:~# ip link set dev eth0 down
    [ 128.217429] prueth pruss1-eth eth0: Link is Down
    [ 128.224637] remoteproc remoteproc1: stopped remote processor 54434000.pru
    root@am437x-evm:~# ip link set dev eth1 down
    [ 143.093855] remoteproc remoteproc2: stopped remote processor 54438000.pru
    root@am437x-evm:~# ip link add name br0 type bridge
    root@am437x-evm:~# ip link set dev eth0 master br0
    [ 152.562018] br0: port 1(eth0) entered blocking state
    [ 152.567165] br0: port 1(eth0) entered disabled state
    [ 152.572230] prueth pruss1-eth eth0: entered allmulticast mode
    [ 152.578600] prueth pruss1-eth eth0: entered promiscuous mode
    root@am437x-evm:~# ip link set dev eth1 master br0
    [ 159.031532] br0: port 2(eth1) entered blocking state
    [ 159.036677] br0: port 2(eth1) entered disabled state
    [ 159.041741] prueth pruss1-eth eth1: entered allmulticast mode
    [ 159.048085] prueth pruss1-eth eth1: entered promiscuous mode
    root@am437x-evm:~# ip link set dev br0 up
    root@am437x-evm:~# bridge vlan add dev br0 vid 1 pvid untagged self
    RTNETLINK answers: Operation not supported
    root@am437x-evm:~# ip link set dev eth0 up
    [ 255.632500] remoteproc remoteproc1: powering up 54434000.pru
    [ 255.647227] remoteproc remoteproc1: Booting fw image ti-pruss/am437x-pru0-prueth-fw.elf, size 7048
    [ 255.656407] remoteproc remoteproc1: unsupported resource 5
    [ 255.662196] remoteproc remoteproc1: remote processor 54434000.pru is now up
    [ 255.709477] 8021q: adding VLAN 0 to HW filter on device eth0
    root@am437x-evm:~# [ 258.879047] prueth pruss1-eth eth0: Link is Up - 100Mbps/Full - flow control off
    [ 258.887052] br0: port 1(eth0) entered blocking state
    [ 258.892098] br0: port 1(eth0) entered forwarding state
    ip link set dev eth1 up
    [ 262.320951] remoteproc remoteproc2: powering up 54438000.pru
    [ 262.327181] remoteproc remoteproc2: Booting fw image ti-pruss/am437x-pru1-prueth-fw.elf, size 6872
    [ 262.336366] remoteproc remoteproc2: unsupported resource 5
    [ 262.342154] remoteproc remoteproc2: remote processor 54438000.pru is now up
    [ 262.363417] 8021q: adding VLAN 0 to HW filter on device eth1
    root@am437x-evm:~# ip link set dev br0 address $(cat /sys/class/net/eth0/address)
    root@am437x-evm:~# ip addr flush dev br0
    root@am437x-evm:~# ip addr flush dev br0
    root@am437x-evm:~# ip addr add 169.254.217.162/24 dev br0
    root@am437x-evm:~# ip link set br0 up
    root@am437x-evm:~# ifconfig
    br0 Link encap:Ethernet HWaddr 90:06:F2:45:E7:CD
    inet addr:169.254.217.162 Bcast:0.0.0.0 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:25 errors:0 dropped:0 overruns:0 frame:0
    TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:2601 (2.5 KiB) TX bytes:836 (836.0 B)

    eth0 Link encap:Ethernet HWaddr 90:06:F2:45:E7:CD
    inet6 addr: fe80::9206:f2ff:fe45:e7cd/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:39 errors:0 dropped:3 overruns:0 frame:0
    TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:3869 (3.7 KiB) TX bytes:5658 (5.5 KiB)

    eth1 Link encap:Ethernet HWaddr FA:12:3B:E5:06:31
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:65536 Metric:1
    RX packets:34 errors:0 dropped:0 overruns:0 frame:0
    TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:1700 (1.6 KiB) TX bytes:1700 (1.6 KiB)

  • Ping log from PC to device 
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=3ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=3ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=3ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=1ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=1ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=1ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=1ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=2ms TTL=64
    Reply from 169.254.217.162: bytes=32 time=1ms TTL=64