Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Mar 2014 19:36:22 GMT
From:      Alan Somers <asomers@freebsd.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   bin/187551: ifconfig should change its process fib when configuring an interface with nondefault fib
Message-ID:  <201403131936.s2DJaMvO090920@cgiserv.freebsd.org>
Resent-Message-ID: <201403131940.s2DJe1MR033535@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         187551
>Category:       bin
>Synopsis:       ifconfig should change its process fib when configuring an interface with nondefault fib
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Mar 13 19:40:01 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Alan Somers
>Release:        11.0-CURRENT  r262867
>Organization:
Spectra Logic
>Environment:
FreeBSD alans-fbsd-head 11.0-CURRENT FreeBSD 11.0-CURRENT #39 r263109M: Thu Mar 13 11:31:56 MDT 2014     alans@ns1.eng.sldomain.com:/vmpool/obj/usr/home/alans/freebsd/head/sys/GENERIC  amd64
>Description:
When configuring an interface with a nondefault fib, ifconfig(8) should changes its process fib to match the interface fib.  If it does not, and the user does not think to, then the new interface's subnet route will appear in FIB 0.  Note that this only matters when net.add_addr_allfibs=0
>How-To-Repeat:
# ifconfig tap0 create
# ifconfig tap0 192.0.2.2/24 fib 2
# setfib 2 netstat -rn -f inet
Routing tables (fib: 2)
# setfib 0 netstat -rn -f inet
Routing tables

Internet:
Destination        Gateway            Flags    Netif Expire
default            10.1.0.1           UGS       em0
10.1.0.0/20        link#1             U         em0
10.1.3.220         link#1             UHS       lo0
127.0.0.1          link#2             UH        lo0
192.0.2.0/24       link#3             U        tap0
192.0.2.2          link#3             UHS       lo0

>Fix:
==== //SpectraBSD/stable/sbin/ifconfig/iffib.c#2 (text) ====

@@ -76,6 +76,8 @@
 
        strncpy(ifr.ifr_name, name, sizeof (ifr.ifr_name));
        ifr.ifr_fib = fib;
+       if (setfib(fib) != 0) 
+               warn("setfib");
        if (ioctl(s, SIOCSIFFIB, (caddr_t)&ifr) < 0)
                warn("ioctl (SIOCSIFFIB)");
 }

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403131936.s2DJaMvO090920>