Hello,
With the disappearance of the trunk(4), we have lost the
loadbalance/roundrobin options. Since the upstream we are seeing our
router send all its trafic only on one interface.
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?
With regards,
Samuel