Sample Header Ad - 728x90

Why 802.1q protocal packet auto dropped by interface?

1 vote
0 answers
83 views
I transfer a series of test packet with IEC61850_SV protocal in my host as follows: > 01 0C CD 04 00 03 00 0C CD 04 00 00 81 00 80 01 88 BA 40 03 01 24 00 00 00 00 60 82 01 18 80 01 01 A2 82 01 11 30 82 01 0D 80 1B 50 53 53 43 36 30 31 4D 55 53 56 2F 4C 4C 4E 30 24 4D 53 24 4D 53 56 43 42 30 31 82 02 0B C6 83 04 00 00 00 01 85 01 00 87 81 E0 00 00 00 FA 00 00 00 00 FF EC C5 D9 00 00 00 00 FF EC C5 D9 00 00 00 00 00 12 19 12 00 00 00 00 00 12 19 12 00 00 00 00 00 01 21 24 00 00 00 00 00 01 21 24 00 00 00 00 FF EC C5 D9 00 00 00 00 00 12 19 12 00 00 00 00 00 01 21 24 00 00 00 00 FF 90 FD E8 00 00 00 00 FF 90 FD E8 00 00 00 00 00 68 7C DF 00 00 00 00 00 68 7C DF 00 00 00 00 00 06 85 39 00 00 00 00 00 06 85 39 00 00 00 00 FF 90 FD E8 00 00 00 00 FF 90 FD E8 00 00 00 00 00 00 00 0F 00 00 00 00 00 00 00 0F 00 00 00 00 FF 90 FD E8 00 00 00 00 FF 90 FD E8 00 00 00 00 00 68 7C DF 00 00 00 00 00 68 7C DF 00 00 00 00 00 06 85 39 00 00 00 00 00 06 85 39 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Num                                  000001
    Length                               314
    Capture Length                       310
    time difference                      0.000000000 sec
ethernet - II                                [0/14]
    target                               01:0C:CD:04:00:03  [0/6]
    source                               00:0C:CD:04:00:00  [6/6]
    protocal                             0x8100  (VLAN)  [12/2]
802.1Q vlan protocal                        [14/4]
    Label                                [14/2]
    User priority                        100. ....    [14/1]  0x00E0
    CFI                                  ...0 ....    [14/1]  0x0010
    VlAN num                             .... 0000 0000 0001  (1)  [14/2]  0x0FFF
    protocal                             0x88ba  (IEC61850_SV)  [16/2]
IEC61850 sample value                       [18/21]
    Id                                   0x4003  [18/2]
    length                               292  [20/2]
    reserved bit1                        0x0  [22/2]
    reserved bit2                        0x0  [24/2]
    savPdu                              [30/0]
        application service data units                       1  [32/1]
        Sequence ASDU                   [37/0]
            ASDU                        [37/0]
Additional data                                    [39/271]
    bytes                                271 bytes  [39/271]
FCs
    FCs                                  0x2F0CA2EA
Then I use tcpdump in my target machine to capture the packets. The log is shown as follows:
09:06:02.562846 00:0c:cd:04:00:00 (oui Unknown) > 01:0c:cd:04:00:03 (oui Unknown), 802.1Q, length 310: 
09:06:02.574656 00:0c:cd:04:00:00 (oui Unknown) > 01:0c:cd:04:00:03 (oui Unknown), 802.1Q, length 310: 
09:06:02.589684 00:0c:cd:04:00:00 (oui Unknown) > 01:0c:cd:04:00:03 (oui Unknown), 802.1Q, length 310: 
09:06:02.605706 00:0c:cd:04:00:00 (oui Unknown) > 01:0c:cd:04:00:03 (oui Unknown), 802.1Q, length 310: 
09:06:02.620610 00:0c:cd:04:00:00 (oui Unknown) > 01:0c:cd:04:00:03 (oui Unknown), 802.1Q, length 310: 
09:06:02.635996 00:0c:cd:04:00:00 (oui Unknown) > 01:0c:cd:04:00:03 (oui Unknown), 802.1Q, length 310: 
09:06:02.650857 00:0c:cd:04:00:00 (oui Unknown) > 01:0c:cd:04:00:03 (oui Unknown), 802.1Q, length 310: 
09:06:02.665517 00:0c:cd:04:00:00 (oui Unknown) > 01:0c:cd:04:00:03 (oui Unknown), 802.1Q, length 310: 
09:06:02.680210 00:0c:cd:04:00:00 (oui Unknown) > 01:0c:cd:04:00:03 (oui Unknown), 802.1Q, length 310: 
09:06:02.695342 00:0c:cd:04:00:00 (oui Unknown) > 01:0c:cd:04:00:03 (oui Unknown), 802.1Q, length 310: 
10 packets captured
10 packets received by filter
0 packets dropped by kernel
10 packets dropped by interface
It's werid that all vlan protocal packets was dropped by interfaces. Then I use
add eth0 1
to add eth0.1 port, and use eth0.1 to receive the packet, and it shows packets was received properly. Since other packets like ARP will be received by interface properly. I wonder why packets with vlan protocal will be dropped automatically by interface rather than received by interface but can not be resolved by network layer. It sames that data link layer dropped it directly and kernel did not get any data.
cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
  eth1:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
    lo:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  eth0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
Besides adding vlan, is there any way for the kernel to directly receive these packets?
Asked by Sun Caelus (11 rep)
Sep 21, 2022, 07:37 AM