Searched hist:209491 (Results 1 - 1 of 1) sorted by relevance

/freebsd-11-stable/sys/netinet/
H A Dip_divert.cdiff 318778 Wed May 24 09:12:19 MDT 2017 ae MFC r318399:
Set M_BCAST and M_MCAST flags on mbuf sent via divert socket.

r290383 has changed how mbufs sent by divert socket are handled.
Previously they are always handled by slow path processing in ip_input().
Now ip_tryforward() is invoked from ip_input() before in_broadcast() check.
Since diverted packet lost all mbuf flags, it passes the broadcast check
in ip_tryforward() due to missing M_BCAST flag. In the result the broadcast
packet is forwarded to the wire instead of be consumed by network stack.

Add in_broadcast() check to the div_output() function. And restore the
M_BCAST flag if destination address is broadcast for the given network
interface.

PR: 209491
diff 318778 Wed May 24 09:12:19 MDT 2017 ae MFC r318399:
Set M_BCAST and M_MCAST flags on mbuf sent via divert socket.

r290383 has changed how mbufs sent by divert socket are handled.
Previously they are always handled by slow path processing in ip_input().
Now ip_tryforward() is invoked from ip_input() before in_broadcast() check.
Since diverted packet lost all mbuf flags, it passes the broadcast check
in ip_tryforward() due to missing M_BCAST flag. In the result the broadcast
packet is forwarded to the wire instead of be consumed by network stack.

Add in_broadcast() check to the div_output() function. And restore the
M_BCAST flag if destination address is broadcast for the given network
interface.

PR: 209491

Completed in 481 milliseconds