From: Roy Marples <r...@marples.name>

SO_RERROR indicates that receive buffer overflows should be handled as
errors. Historically receive buffer overflows have been ignored and
programs could not tell if they missed messages or messages had been
truncated because of overflows. Since programs historically do not
expect to get receive overflow errors, this behavior is not the
default.

This is really really important for programs that use route(4) to keep
in sync with the system. If we loose a message then we need to reload
the full system state, otherwise the behaviour from that point is
undefined and can lead to chasing bogus bug reports.

Reviewed by:    philip (network), kbowling (transport), gbe (manpages)
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D26652
---
 newlib/libc/sys/rtems/include/sys/socket.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/newlib/libc/sys/rtems/include/sys/socket.h 
b/newlib/libc/sys/rtems/include/sys/socket.h
index 4079b3e91..54cd0be93 100644
--- a/newlib/libc/sys/rtems/include/sys/socket.h
+++ b/newlib/libc/sys/rtems/include/sys/socket.h
@@ -139,6 +139,7 @@ typedef     __uintptr_t     uintptr_t;
 #define        SO_NO_OFFLOAD   0x00004000      /* socket cannot be offloaded */
 #define        SO_NO_DDP       0x00008000      /* disable direct data 
placement */
 #define        SO_REUSEPORT_LB 0x00010000      /* reuse with load balancing */
+#define        SO_RERROR       0x00020000      /* keep track of receive errors 
*/
 
 /*
  * Additional options, not kept in so_options.
-- 
2.35.3

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to