On Thu, Apr 4, 2024 at 3:56 PM Vladislav Odintsov <odiv...@gmail.com> wrote:
> Thanks Ihar for the patch. > > It definitely triggers the bug mentioned in Fixes commit, but how do you > like next diff as an alternative? > It seems a little easier to me, because it shows the real limit and the > situation where the problem was (separate ls-add): > Is it a diff from main? I don't think it will trigger the issue. The key is to trigger northd to change its max cap for tunnel ids AFTER it bumped hint beyond the "vxlan mode max tun_id" (which is why I have to create vxlan chassis AFTER I create enough LSs to get into unsafe territory.) Note: I haven't tried your version yet; I may check your version some time later. So it's the initial thought only. > > diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at > index 6edb1129e..cef144f10 100644 > --- a/tests/ovn-northd.at > +++ b/tests/ovn-northd.at > @@ -2862,13 +2862,18 @@ ovn-sbctl \ > > cmd="ovn-nbctl --wait=sb" > > -for i in {1..4097}; do > +for i in {1..4095}; do > cmd="${cmd} -- ls-add lsw-${i}" > done > > eval $cmd > > -check_row_count nb:Logical_Switch 4097 > +check_row_count nb:Logical_Switch 4095 > +wait_row_count sb:Datapath_Binding 4095 > + > +ovn-nbctl ls-add lsw-exhausted > + > +check_row_count nb:Logical_Switch 4096 > wait_row_count sb:Datapath_Binding 4095 > > OVS_WAIT_UNTIL([grep "all datapath tunnel ids exhausted" > northd/ovn-northd.log]) > > > On 4 Apr 2024, at 20:13, Ihar Hrachyshka <ihrac...@redhat.com> wrote: > > The original version of the scenario passed with or without the fix. > > Fixes: a1f165a7b807 ("northd: fix infinite loop in ovn_allocate_tnlid()") > Signed-off-by: Ihar Hrachyshka <ihrac...@redhat.com> > --- > tests/ovn-northd.at | 17 +++++++++++------ > 1 file changed, 11 insertions(+), 6 deletions(-) > > diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at > index fc2c972a4..e8ea8b050 100644 > --- a/tests/ovn-northd.at > +++ b/tests/ovn-northd.at > @@ -2826,11 +2826,6 @@ OVN_FOR_EACH_NORTHD_NO_HV([ > AT_SETUP([check tunnel ids exhaustion]) > ovn_start > > -# Create a fake chassis with vxlan encap to lower MAX DP tunnel key to > 2^12 > -ovn-sbctl \ > - --id=@e create encap chassis_name=hv1 ip="192.168.0.1" type="vxlan" \ > - -- --id=@c create chassis name=hv1 encaps=@e > - > cmd="ovn-nbctl --wait=sb" > > for i in {1..4097}; do > @@ -2840,7 +2835,17 @@ done > eval $cmd > > check_row_count nb:Logical_Switch 4097 > -wait_row_count sb:Datapath_Binding 4095 > +wait_row_count sb:Datapath_Binding 4097 > + > +# Now create a fake chassis with vxlan encap to lower MAX DP tunnel key > to 2^12 > +ovn-sbctl \ > + --id=@e create encap chassis_name=hv1 ip="192.168.0.1" type="vxlan" \ > + -- --id=@c create chassis name=hv1 encaps=@e > + > +ovn-nbctl --wait=sb ls-add lsw-exhausted > + > +check_row_count nb:Logical_Switch 4098 > +wait_row_count sb:Datapath_Binding 4097 > > OVS_WAIT_UNTIL([grep "all datapath tunnel ids exhausted" > northd/ovn-northd.log]) > > -- > 2.41.0 > > _______________________________________________ > dev mailing list > d...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > > > > > Regards, > Vladislav Odintsov > > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev