On Tue, Jul 01, 2025 at 04:11:14PM +0800, Wang Liang wrote: > ND_PRINTK with val > 1 only works when the ND_DEBUG was set in compilation > phase. Replace it with dynamic debug. Convert ND_PRINTK with val <= 1 to > net_{err,warn}_ratelimited, and convert the rest to net_dbg_ratelimited. One small comment below [...] > @@ -751,9 +747,8 @@ static void ndisc_solicit(struct neighbour *neigh, struct sk_buff *skb) > probes -= NEIGH_VAR(neigh->parms, UCAST_PROBES); > if (probes < 0) { > if (!(READ_ONCE(neigh->nud_state) & NUD_VALID)) { > - ND_PRINTK(1, dbg, > - "%s: trying to ucast probe in NUD_INVALID: %pI6\n", > - __func__, target); > + net_warn_ratelimited("%s: trying to ucast probe in NUD_INVALID: %pI6\n", > + __func__, target); Without getting into a philosophical discussion about the appropriate log level for this message, the purpose of this patch is to move ND_PRINTK(val > 1, ...) to net_dbg_ratelimited(), but for some reason this hunk promotes an existing net_dbg_ratelimited() to net_warn_ratelimited(). Why not keep it as net_dbg_ratelimited()? > } > ndisc_send_ns(dev, target, target, saddr, 0); > } else if ((probes -= NEIGH_VAR(neigh->parms, APP_PROBES)) < 0) {