Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: recent -current changes broke stf(4) (?)



On Thu, May 15, 2008 at 12:23:56AM +0200, Markus W Kilbinger wrote:
> >>>>> "David" == David Young <dyoung%pobox.com@localhost> writes:
> 
>     David> stf(4) is working for me. How are you testing 6to4? Please
>     David> send your routing tables (netstat -rn -f inet ; netstat -rn
>     David> -f inet6) and stf(4) configuration.
> 
> I guess I've found the problem: My hf6to4 tries to set:
> 
>   ifconfig stf0 inet6 2002:xxxx:76ec:0001::1 prefixlen 16 alias
> 
> but the result is:
> 
>   ifconfig stf0                                           
>   stf0: flags=1<UP> mtu 1280
>         inet6 2002:xxxx:76ec:1::1 prefixlen 64
> 
> -> Is my ifconfig binary missing something?

I see the problem.  Try this patch.

Dave

-- 
David Young             OJC Technologies
dyoung%ojctech.com@localhost      Urbana, IL * (217) 278-3933 ext 24
Index: af_inetany.c
===================================================================
RCS file: /cvsroot/src/sbin/ifconfig/af_inetany.c,v
retrieving revision 1.7
diff -p -u -u -p -r1.7 af_inetany.c
--- af_inetany.c        12 May 2008 22:01:32 -0000      1.7
+++ af_inetany.c        14 May 2008 22:52:10 -0000
@@ -121,17 +121,16 @@ commit_address(prop_dictionary_t env, pr
         * TBD: handle preference
         */
        switch (flags & (IFF_BROADCAST|IFF_POINTOPOINT)) {
-       case 0:
-               break;
        case IFF_BROADCAST:
+               if (brd != NULL)
+                       loadbuf(&param->brd, brd);
+       case 0:
                if (mask != NULL)
                        loadbuf(&param->mask, mask);
                else if (param->defmask.buf != NULL) {
                        memcpy(param->mask.buf, param->defmask.buf,
                            MIN(param->mask.buflen, param->defmask.buflen));
                }
-               if (brd != NULL)
-                       loadbuf(&param->brd, brd);
                break;
        case IFF_POINTOPOINT:
                if (dst == NULL) {


Home | Main Index | Thread Index | Old Index