Mike Pattrick <[email protected]> 于2022年11月9日周三 02:09写道:
> On Fri, Nov 4, 2022 at 2:46 AM Peng He <[email protected]> wrote: > > > > The tail of the struct dp_netdev_flow contains a whole netdev_flow_key > > struct. > > > > We need to first minus the size of netdev_flow_key then add back > > the real size of this netdev_flow_key. > > > > Signed-off-by: Peng He <[email protected]> > > --- > > lib/dpif-netdev.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c > > index 2c08a71c8..a8779a979 100644 > > --- a/lib/dpif-netdev.c > > +++ b/lib/dpif-netdev.c > > @@ -4072,7 +4072,8 @@ dp_netdev_flow_add(struct dp_netdev_pmd_thread > *pmd, > > && !FLOWMAP_HAS_FIELD(&mask.mf.map, regs)); > > > > /* Do not allocate extra space. */ > > - flow = xmalloc(sizeof *flow - sizeof flow->cr.flow.mf + mask.len); > > + flow = xmalloc(sizeof *flow - sizeof(flow->cr.flow) + > > I can confirm that the vlan limit test seems to be flaky, but > stylistically, it should be "sizeof flow->cr.flow" here, without the > parenthesis. > ok, I can change it to that. > > Cheers, > M > > > + offsetof(struct netdev_flow_key, mf) + mask.len); > > memset(&flow->stats, 0, sizeof flow->stats); > > atomic_init(&flow->netdev_flow_get_result, 0); > > memset(&flow->last_stats, 0, sizeof flow->last_stats); > > @@ -9744,7 +9745,8 @@ dpcls_create_subtable(struct dpcls *cls, const > struct netdev_flow_key *mask) > > > > /* Need to add one. */ > > subtable = xmalloc(sizeof *subtable > > - - sizeof subtable->mask.mf + mask->len); > > + - sizeof subtable->mask > > + + offsetof(struct netdev_flow_key, mf) + > mask->len); > > cmap_init(&subtable->rules); > > subtable->hit_cnt = 0; > > netdev_flow_key_clone(&subtable->mask, mask); > > -- > > 2.25.1 > > > > _______________________________________________ > > dev mailing list > > [email protected] > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > > > -- hepeng _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
