AltraMayor / gatekeeper

The first open-source DDoS protection system
https://github.com/AltraMayor/gatekeeper/wiki
GNU General Public License v3.0
1.34k stars 232 forks source link

1.2dev The link status is up and port down logs should not be output. #683

Closed ShawnLeung87 closed 5 months ago

ShawnLeung87 commented 7 months ago

i40e_check_write_global_reg(): i40e device 0000:5e:00.1 changed global register [0x0026774c]. original: 0x0007fff8, new: 0x0007fffe i40e_check_write_global_reg(): i40e device 0000:5e:00.1 changed global register [0x0026775c]. original: 0x0007fff8, new: 0x0007fffe Main/0 2024-03-31 22:50:00 ERR net: querying port 1, and link is down Main/0 2024-03-31 22:50:04 ERR net: querying port 0, and link is down Main/0 2024-03-31 22:50:05 NOTICE ethertype_flow_add(front): EtherType=0x806 flow supported Main/0 2024-03-31 22:50:05 NOTICE ethertype_flow_add(back): EtherType=0x806 flow supported Main/0 2024-03-31 22:50:05 NOTICE Back interface link speed: 5000000000 bytes per second Main/0 2024-03-31 22:50:05 NOTICE Cycles per byte (9.577504) represented as a rational: 24097 / 2516 Main/0 2024-03-31 22:50:05 NOTICE ipv4_flow_add(back, DstIP=10.11.10.196 UDP SrcPort=41120/0xffff DstPort=45232/0xffff): cannot validate IPv4 flow, errno=22 (Invalid argument), rte_flow_error_type=13: Invalid ETH item Main/0 2024-03-31 22:50:05 NOTICE Cannot register IPv4 flow on the back interface; falling back to software filters Main/0 2024-03-31 22:50:05 NOTICE ipv4_flow_add(front, DstIP=10.12.11.3 TCP SrcPort=0/0x0 DstPort=0/0x0): cannot validate IPv4 flow, errno=22 (Invalid argument), rte_flow_error_type=13: Invalid ETH item Main/0 2024-03-31 22:50:05 NOTICE Cannot register IPv4 flow on the front interface; falling back to software filters Main/0 2024-03-31 22:50:05 NOTICE ipv4_flow_add(back, DstIP=10.11.10.196 TCP SrcPort=0/0x0 DstPort=0/0x0): cannot validate IPv4 flow, errno=22 (Invalid argument), rte_flow_error_type=13: Invalid ETH item Main/0 2024-03-31 22:50:05 NOTICE Cannot register IPv4 flow on the back interface; falling back to software filters

The link status is up and port down logs should not be output. lib/net.c

    /* Link is up. */
    if (link.link_status)
        break;

    G_LOG(ERR, "net: querying port %hhu, and link is down\n",
        port_id);
AltraMayor commented 7 months ago

The code above comes from lib/net.c:start_port() and is within a do..while loop. The loop tests the port again a couple of times. The log entries following each "net: querying port %hhu, and link is down\n" shows that both ports are up.