On Tue, Jun 28, 2022 at 4:41 PM Dumitru Ceara <dce...@redhat.com> wrote:
> On 6/27/22 11:56, Ales Musil wrote: > > The ip6.src or nd.sll does not have to be always set. > > According to rfc4861: > > > > Source Address > > Either an address assigned to the interface from > > which this message is sent or (if Duplicate Address > > Detection is in progress [ADDRCONF]) the > > unspecified address. > > > > Source link-layer address > > The link-layer address for the sender. MUST NOT be > > included when the source IP address is the > > unspecified address. Otherwise, on link layers > > that have addresses this option MUST be included in > > multicast solicitations and SHOULD be included in > > unicast solicitations. > > > > Add rule that avoids adding MAC binding is either of those > > is 0. This is continuation after discussion during review on > > 80187a803 (ovn-northd: Add flow to use eth.src if nd.tll is 0 > > in put_nd() action.) > > > > Signed-off-by: Ales Musil <amu...@redhat.com> > > --- > > Hi Ales, > > Thanks for the follow up! > > > northd/northd.c | 3 +++ > > northd/ovn-northd.8.xml | 6 ++++++ > > tests/ovn-northd.at | 3 +++ > > 3 files changed, 12 insertions(+) > > > > diff --git a/northd/northd.c b/northd/northd.c > > index 6997c280c..6634edb0f 100644 > > --- a/northd/northd.c > > +++ b/northd/northd.c > > @@ -11022,6 +11022,9 @@ build_neigh_learning_flows_for_lrouter( > > ovn_lflow_add(lflows, od, S_ROUTER_IN_LEARN_NEIGHBOR, 100, > > ds_cstr(match), "next;"); > > > > + ovn_lflow_add(lflows, od, S_ROUTER_IN_LEARN_NEIGHBOR, 95, > > + "nd_ns && (ip6.src == 0 || nd.sll == 0)", > "next;"); > > + > > Nit: I'd move this lower, I think the flows are grouped per IP family > right now. > Moved in v2. > > ovn_lflow_metered(lflows, od, S_ROUTER_IN_LEARN_NEIGHBOR, 90, > > "arp", "put_arp(inport, arp.spa, arp.sha); > next;", > > copp_meter_get(COPP_ARP, od->nbr->copp, > > diff --git a/northd/ovn-northd.8.xml b/northd/ovn-northd.8.xml > > index 59c584710..5df74a410 100644 > > --- a/northd/ovn-northd.8.xml > > +++ b/northd/ovn-northd.8.xml > > @@ -2332,6 +2332,12 @@ next; > > to learn the neighbor. > > </li> > > > > + <li> > > + A priority-95 flow with the match <code>nd_ns && > > + (ip6.src == 0 || nd.sll == 0)</code> and applies the action > > + <code>next;</code> > > + </li> > > + > > <li> > > A priority-90 flow with the match <code>arp</code> and > > applies the action > > diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at > > index 033b58b8c..fe97bedad 100644 > > --- a/tests/ovn-northd.at > > +++ b/tests/ovn-northd.at > > @@ -6707,6 +6707,7 @@ AT_CHECK([ovn-sbctl dump-flows DR | grep -e > lr_in_unsnat -e lr_out_snat -e lr_in > > > > AT_CLEANUP > > > > +OVN_FOR_EACH_NORTHD([ > > This is unrelated. > I've moved this change to a separate commit. > > > AT_SETUP([LR NB Static_MAC_Binding table]) > > ovn_start > > > > @@ -6730,6 +6731,7 @@ ovn-nbctl --may-exist static-mac-binding-add > lr0-p0 192.168.10.100 00:00:22:33:5 > > wait_row_count Static_MAC_Binding 1 logical_port=lr0-p0 > ip=192.168.10.100 mac="00\:00\:22\:33\:55\:66" > > > > AT_CLEANUP > > +]) > > This too. > > > > > OVN_FOR_EACH_NORTHD([ > > AT_SETUP([LR neighbor lookup and learning flows]) > > @@ -6751,6 +6753,7 @@ AT_CHECK([cat lrflows | grep -e > lr_in_lookup_neighbor -e lr_in_learn_neighbor | > > table=2 (lr_in_learn_neighbor), priority=90 , match=(nd_na), > action=(put_nd(inport, nd.target, nd.tll); next;) > > table=2 (lr_in_learn_neighbor), priority=90 , match=(nd_ns), > action=(put_nd(inport, ip6.src, nd.sll); next;) > > table=2 (lr_in_learn_neighbor), priority=95 , match=(nd_na && > nd.tll == 0), action=(put_nd(inport, nd.target, eth.src); next;) > > + table=2 (lr_in_learn_neighbor), priority=95 , match=(nd_ns && > (ip6.src == 0 || nd.sll == 0)), action=(next;) > > ]) > > > > AT_CLEANUP > > Thanks, > Dumitru > > Thanks, Ales -- Ales Musil Senior Software Engineer - OVN Core Red Hat EMEA <https://www.redhat.com> amu...@redhat.com IM: amusil <https://red.ht/sig> _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev