Stuart Henderson, le lun. 02 nov. 2026 15:23:03 +0000, a ecrit:
> On 2026/11/02 16:15, Samuel Thibault wrote:
> > Stuart Henderson, le lun. 02 nov. 2026 13:20:19 +0000, a ecrit:
> > > On 2026-11-01, Samuel Thibault <[email protected]> wrote:
> > > > With the disappearance of the trunk(4), we have lost the
> > > > loadbalance/roundrobin options. Since the upgrade we are seeing our
> > > > router send all its trafic only on one interface.
> > >
> > > hmm? trunk(4) is still there for failover/loadbalance/roundrobin.
> > > The only thing that was removed is trunk(4)'s LACP mode.
> >
> > And we use that, so in the immediate term, we cannot use trunk any more.
>
> In that case, I don't understand why you said "we have lost the
> loadbalance/roundrobin options"?
Well, because we cannot use trunk any more with LACP?
To recap:
- if we use aggr(4), openbsd won't announce LACP, so the switch
fallsback to only one link, and thus will not enable any
failover/loadbalance on its side. Not having even failover is rather a
no-go.
- if we use trunk(4), we won't have the loadbalance option on the
openbsd side.
> > > > I see in aggr.c's aggr_transmit:
> > > >
> > > > if (ISSET(m->m_pkthdr.csum_flags, M_FLOWID))
> > > > flow = m->m_pkthdr.ph_flowid >> AGGR_FLOWID_SHIFT;
> > > >
> > > > ifp0 = map->m_ifp0s[flow % AGGR_MAX_PORTS];
> > > >
> > > > if (if_enqueue(ifp0, m) != 0)
> > > > counters_inc(ifp->if_counters, ifc_oerrors);
> > > >
> > > > So it seems it would at least follow ph_flowid. But I don't see how to
> > > > make it set to a hash of port/ip. In pf.c I can see:
> > > >
> > > > if (!ISSET(m->m_pkthdr.csum_flags, M_FLOWID)) {
> > > > m->m_pkthdr.ph_flowid =
> > > > st->key[PF_SK_WIRE]->hash;
> > > > SET(m->m_pkthdr.csum_flags, M_FLOWID);
> > > > }
> > > >
> > > > but as a router, we do not enable stateful pf... Isn't there a simple
> > > > way to make flowid set to such a hash?
> > >
> > > I don't _think_ aggr(4) supports that.
> >
> > So we are stuck between not using LACP (not sure how that'll fare with
> > our switch) and not having transmission load balance?
>
> with the code as it stands, I think it's either that, or enable pf,
> possibly with "keep state (sloppy)" if needed.
sloppy would be needed indeed, but it'll be heavy to track all states
just to fabricate a flow id...
Samuel