Hi, Assuming that all ports use the same MTU, in OVS2.8 and earlier, a single mempool of 256K buffers (MAX_NB_MBUF = 4096 * 64) will be created and shared by all the ports
With the OVS2.9 mempool patches, we have port specific allocation and the number of mbufs created for each port is based on the following formula (with a lower limit of MIN_NB_MBUF = 4096*4) n_mbufs = dev->requested_n_rxq * dev->requested_rxq_size + dev->requested_n_txq * dev->requested_txq_size + MIN(RTE_MAX_LCORE, dev->requested_n_rxq) * NETDEV_MAX_BURST + MIN_NB_MBUF; Using minimal value (1) for n_rxq and n_rxq and default value (2048) for requested_rxq_size and requested_txq_size, the above translates to n_mbufs = 1*2048 + 1*2048 + 1*32 + 4096*4 = 20512 Assuming all ports have the same MTU, this means that approximately 13 ports in OVS2.9 will consume as much memory as the single mempool shared by all ports in OVS2.8 (256*1024 / 20512) . When a node is upgraded from OVS2.8 to OVS2.9 it is quite possible that the memory set aside for OVS may be insufficient. I'm not sure if this aspect has been discussed previously and wanted to bring this up for discussion. Regards, Pradeep
_______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss