Subject: Re: [PATCHv3 net-next 2/2] selftests: add a selftest for directed broadcast forwarding

From: David Ahern <[email-masked]>
Date: Tue, 24 Jul 2018 11:37:05 -0600

On 7/24/18 11:24 AM, Xin Long wrote:
> On Mon, Jul 23, 2018 at 11:17 PM, David Ahern <[email-masked]> wrote:
>> On 7/23/18 5:51 AM, Xin Long wrote:
>>> +ping_ipv4()
>>> +{
>>> +     sysctl_set net.ipv4.icmp_echo_ignore_broadcasts 0
>>> +
>>> +     bc_forwarding_disable
>>> +     ping_test_from $h1 198.51.100.255 192.0.2.1
>>> +     ping_test_from $h1 198.51.200.255 192.0.2.1
>>> +     ping_test_from $h1 192.0.2.255 192.0.2.1
>>> +     ping_test_from $h1 255.255.255.255 192.0.2.1
>>> +
>>> +     ping_test_from $h2 192.0.2.255 198.51.100.1
>>> +     ping_test_from $h2 198.51.200.255 198.51.100.1
>>> +     ping_test_from $h2 198.51.100.255 198.51.100.1
>>> +     ping_test_from $h2 255.255.255.255 198.51.100.1
>>> +     bc_forwarding_restore
>>> +
>>> +     bc_forwarding_enable
>>> +     ping_test_from $h1 198.51.100.255 198.51.100.2
>>> +     ping_test_from $h1 198.51.200.255 198.51.200.2
>>> +     ping_test_from $h1 192.0.2.255 192.0.2.1 1
>>> +     ping_test_from $h1 255.255.255.255 192.0.2.1
>>> +
>>> +     ping_test_from $h2 192.0.2.255 192.0.2.2
>>> +     ping_test_from $h2 198.51.200.255 198.51.200.2
>>> +     ping_test_from $h2 198.51.100.255 198.51.100.1 1
>>> +     ping_test_from $h2 255.255.255.255 198.51.100.1
>>> +     bc_forwarding_restore
>>> +
>>> +     sysctl_restore net.ipv4.icmp_echo_ignore_broadcasts
>>
>> You need a better description for each test. This output:
>> TEST: ping_test_from                            [PASS]
>> TEST: ping_test_from                            [PASS]
>> TEST: ping_test_from                            [PASS]
>> TEST: ping_test_from                            [PASS]
>> ...
>>
>> does not help in understanding which cases are working and which are not.
> # ./router_broadcast.sh
> INFO: bc_forwarding disabled on r1=>
> INFO: h1 -> net2: reply from r1 (not forwarding)
> TEST: ping_test_from                                                [PASS]
> INFO: h1 -> net3: reply from r1 (not forwarding)
> TEST: ping_test_from                                                [PASS]
> INFO: h1 -> net1: reply from r1 (not dropping)
> TEST: ping_test_from                                                [PASS]
> INFO: h1 -> 255.255.255.255: reply from r1 (not forwarding)
> TEST: ping_test_from                                                [PASS]
> INFO: h2 -> net1: reply from r1 (not forwarding)
> TEST: ping_test_from                                                [PASS]
> INFO: h2 -> net3: reply from r1 (not forwarding)
> TEST: ping_test_from                                                [PASS]
> INFO: h2 -> net2: reply from r1 (not dropping)
> TEST: ping_test_from                                                [PASS]
> INFO: h2 -> 255.255.255.255: reply from r1 (not forwarding)
> TEST: ping_test_from                                                [PASS]
> INFO: bc_forwarding enabled on r1 =>
> INFO: h1 -> net2: reply from h2 (forwarding)
> TEST: ping_test_from                                                [PASS]
> INFO: h1 -> net3: reply from h3 (forwarding)
> TEST: ping_test_from                                                [PASS]
> INFO: h1 -> net1: no reply (dropping)
> TEST: ping_test_from                                                [PASS]
> INFO: h1 -> 255.255.255.255: reply from r1 (not forwarding)
> TEST: ping_test_from                                                [PASS]
> INFO: h2 -> net1: reply from h3 (forwarding)
> TEST: ping_test_from                                                [PASS]
> INFO: h2 -> net3: reply from h1 (forwarding)
> TEST: ping_test_from                                                [PASS]
> INFO: h2 -> net2: no reply (dropping)
> TEST: ping_test_from                                                [PASS]
> INFO: h2 -> 255.255.255.255: reply from r1 (not forwarding)
> TEST: ping_test_from                                                [PASS]
> 
> I hope this log looks good to you?
> 

The extra INFO is good, but the TEST line needs a better description.