NUD_NOARP
ndm->ndm_state = is_dynamic ? NUD_REACHABLE : NUD_NOARP;
ndm->ndm_state = is_static ? NUD_NOARP : NUD_REACHABLE;
if (f->state & (NUD_PERMANENT | NUD_NOARP))
if (f->state & (NUD_PERMANENT | NUD_NOARP))
#define VXLAN_FDB_FLUSH_ALLOWED_NDM_STATES (NUD_PERMANENT | NUD_NOARP)
.state_mask = NUD_PERMANENT | NUD_NOARP,
n->nud_state = NUD_NOARP;
#define NUD_VALID (NUD_PERMANENT|NUD_NOARP|NUD_REACHABLE|NUD_PROBE|NUD_STALE|NUD_DELAY)
#define NUD_CONNECTED (NUD_PERMANENT|NUD_NOARP|NUD_REACHABLE)
{ NUD_NOARP, "noarp" }, \
if (source && !(state & NUD_PERMANENT) && !(state & NUD_NOARP) &&
} else if (state & NUD_NOARP) {
if (!(ndm->ndm_state & (NUD_PERMANENT|NUD_NOARP|NUD_REACHABLE))) {
if (ndm_state & NUD_NOARP)
return NUD_NOARP;
#define FDB_FLUSH_ALLOWED_NDM_STATES (NUD_PERMANENT | NUD_NOARP)
(old & (NUD_NOARP | NUD_PERMANENT)))
(n->nud_state == NUD_NOARP) ||
if (READ_ONCE(n->nud_state) & ~NUD_NOARP)
n->nud_state = NUD_NOARP;
ndm->ndm_state = is_static ? NUD_NOARP : NUD_REACHABLE;
if (READ_ONCE(neigh->nud_state) & NUD_NOARP) {
if (READ_ONCE(neigh->nud_state) & ~NUD_NOARP)
neigh->nud_state = NUD_NOARP;
neigh->nud_state = NUD_NOARP;
neigh->nud_state = NUD_NOARP;
neigh->nud_state = NUD_NOARP;
neigh->nud_state = NUD_NOARP;
neigh->nud_state = NUD_NOARP;
neigh->nud_state = NUD_NOARP;
neigh->nud_state = NUD_NOARP;