On 2012/12/21 20:11, Garrett Cooper wrote:
On Thu, Dec 6, 2012 at 6:22 PM, Kevin Lo <ke...@freebsd.org> wrote:
Author: kevlo
Date: Fri Dec  7 02:22:48 2012
New Revision: 243965
URL: http://svnweb.freebsd.org/changeset/base/243965

Log:
   - according to POSIX, make socket(2) return EAFNOSUPPORT rather than
     EPROTONOSUPPORT if the address family is not supported.
   - introduce pffinddomain() to find a domain by family and use it as
     appropriate.

   Reviewed by:  glebius
This commit broke netgraph (and potentially more things). I fixed
netgraph locally like so:

$ git diff lib/libnetgraph/
diff --git a/lib/libnetgraph/sock.c b/lib/libnetgraph/sock.c
index fca3900..5f9f563 100644
--- a/lib/libnetgraph/sock.c
+++ b/lib/libnetgraph/sock.c
@@ -71,10 +71,10 @@ NgMkSockNode(const char *name, int *csp, int *dsp)
                 name = NULL;

         /* Create control socket; this also creates the netgraph node.
-          If we get an EPROTONOSUPPORT then the socket node type is
+          If we get an EAFNOSUPPORT then the socket node type is
            not loaded, so load it and try again. */
         if ((cs = socket(AF_NETGRAPH, SOCK_DGRAM, NG_CONTROL)) < 0) {
-               if (errno == EPROTONOSUPPORT) {
+               if (errno == EAFNOSUPPORT) {
                         if (kldload(NG_SOCKET_KLD) < 0) {
                                 errnosv = errno;
                                 if (_gNgDebugLevel >= 1)

     Reproing the issue was trivial using the ether.bridge example
script setup with appropriate interfaces.
     I have the patch with the netgraph fix attached, along with other
potential fixes that needs to be more properly tested.

Ah, seems I forgot to commit the change. Thanks for the patch, Garrett,
I'll fix it right away.

Thanks,
-Garrett

    Kevin
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to