On Fri, Sep 11, 2026 at 10:11 AM Dumitru Ceara <[email protected]> wrote:

> On 9/11/26 8:56 AM, Ales Musil via dev wrote:
> > There is a check if idle_age and duration are aligned.
> > However, the idle age can be -1 if unknown which could break
> > this. Use packet_count instead to check if flow received any traffic.
> >
> > Fixes: fbb501cc8b7d ("mac-cache: Handle never hit flows correctly.")
> > Signed-off-by: Ales Musil <[email protected]>
> > ---
> >  controller/mac-cache.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/controller/mac-cache.c b/controller/mac-cache.c
> > index 814da223b..67a220aa3 100644
> > --- a/controller/mac-cache.c
> > +++ b/controller/mac-cache.c
> > @@ -347,7 +347,7 @@ void
> >  mac_binding_stats_process_flow_stats(struct vector *stats_vec,
> >                                       struct ofputil_flow_stats
> *ofp_stats)
> >  {
> > -    if (ofp_stats->idle_age == ofp_stats->duration_sec) {
> > +    if (!ofp_stats->packet_count) {
>
> We use ofp_stats->idle_age just below to construct the stats structure.
> Maybe just to be on the safe side I'd change the structure
> initialization below to:
>
>     struct mac_cache_stats stats = (struct mac_cache_stats) {
>         .idle_age_ms = ofp_stats->idle_age >= 0
>                        ? ofp_stats->idle_age * 1000
>                        : 0,
>         .data.mb = (struct mac_binding_data) {
>             .cookie = ntohll(ofp_stats->cookie),
>             /* The port_key must be zero to match
>              * mac_binding_data_from_sbrec. */
>             .port_key = 0,
>             .dp_key = ntohll(ofp_stats->match.flow.metadata),
>             .mac = ofp_stats->match.flow.dl_src
>         },
>     };
>
>
> >          return;
> >      }
> >
> > @@ -452,7 +452,7 @@ void
> >  fdb_stats_process_flow_stats(struct vector *stats_vec,
> >                               struct ofputil_flow_stats *ofp_stats)
> >  {
> > -    if (ofp_stats->idle_age == ofp_stats->duration_sec) {
> > +    if (!ofp_stats->packet_count) {
>
> Here too.
>
> >          return;
> >      }
> >
>
> With that addressed:
>
> Acked-by: Dumitru Ceara <[email protected]>
>
> Regards,
> Dumitru
>

Hi Dumitru,

thank you for the review. That is definitely reasonable.
I applied the changes to main and backported them down to 25.09,
addressing those two points.

Regards,
Ales
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to