Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/ip_mroute.c
Show First 20 Lines • Show All 1,193 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
if (s) { | if (s) { | ||||
SOCKBUF_LOCK(&s->so_rcv); | SOCKBUF_LOCK(&s->so_rcv); | ||||
if (sbappendaddr_locked(&s->so_rcv, (struct sockaddr *)src, mm, | if (sbappendaddr_locked(&s->so_rcv, (struct sockaddr *)src, mm, | ||||
NULL) != 0) { | NULL) != 0) { | ||||
sorwakeup_locked(s); | sorwakeup_locked(s); | ||||
return 0; | return 0; | ||||
} | } | ||||
SOCKBUF_UNLOCK(&s->so_rcv); | soroverflow_locked(s); | ||||
} | } | ||||
m_freem(mm); | m_freem(mm); | ||||
return -1; | return -1; | ||||
} | } | ||||
/* | /* | ||||
* IP multicast forwarding function. This function assumes that the packet | * IP multicast forwarding function. This function assumes that the packet | ||||
* pointed to by "ip" has arrived on (or is about to be sent to) the interface | * pointed to by "ip" has arrived on (or is about to be sent to) the interface | ||||
▲ Show 20 Lines • Show All 1,760 Lines • Show Last 20 Lines |