Description

vrouter_agent restarted caused by agent crash



Symptoms

vrouter agent crashed due to Agent did not receive any delete event from controller, however it received delete even from vrouter as below

This causes to have stale route entries in the vrouter agent causing the crash.


Back trace analysis

>>>>>>>>

#10 0x0000000000fc4931 in PktFlowInfo::Add (this=this@entry=0x7fbd7c96a800, pkt=0x1e87a540, in=in@entry=0x7fbd7c96a780, out=out@entry=0x7fbd7c96a7c0) at controller/src/vnsw/agent/pkt/pkt_flow_info.cc:2160

    update = false

    sip = {type = <optimized out>, ipv4_address = {addr = {s_addr = 703638678}}, ipv6_address = {addr_ = {in6_u = {u6_addr8 = {<optimized out> <repeats 16 times>}, u6_addr16 = {<optimized out>,

         <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}, u6_addr32 = {<optimized out>, <optimized out>, <optimized out>,

         <optimized out>}}}, scope_id = <optimized out>}}

    dip = {type = <optimized out>, ipv4_address = {addr = {s_addr = 753970326}}, ipv6_address = {addr = {in6_u = {u6_addr8 = {<optimized out> <repeats 16 times>}, u6_addr16 = {<optimized out>,

         <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}, u6_addr32 = {<optimized out>, <optimized out>, <optimized out>,

         <optimized out>}}}, scope_id = 0}}

    key = {family = Address::INET, nh = 676, src_addr = {type = boost::asio::ip::address::ipv4, ipv4_address = {addr = {s_addr = 703638678}}, ipv6_address = {addr = {in6_u = {

         u6_addr8 = '\000' <repeats 15 times>, u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, u6_addr32 = {0, 0, 0, 0}}}, scope_id = 0}}, dst_addr = {type = boost::asio::ip::address::ipv4,

      ipv4_address = {addr = {s_addr = 753970326}}, ipv6_address = {addr = {in6_u = {u6_addr8 = '\000' <repeats 15 times>, u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, u6_addr32 = {0, 0, 0, 0}}},

       scope_id = 0}}, protocol = 6 '\006', src_port = 65437, dst_port = 1433}

    flow = {px = 0x4facd00}

    rflow = {px = 0x5772d00}

    PRETTY_FUNCTION = "void PktFlowInfo::Add(const PktInfo*, PktControlInfo*, PktControlInfo*)"

    r_sport = <optimized out>

    r_dport = <optimized out>

    swap_flows = false

    tmp = <optimized out>


>>>>>>>>>



Solution

This is a known bug

 

 

And is fixed in 21.4.L4

Modification History

2025-03-03 : Article Created