On Sat, Dec 22, 2012 at 5:09 AM, Kimmo Paasiala <kpaasial_at_gmail.com> wrote: > On Sat, Dec 22, 2012 at 3:19 AM, Kimmo Paasiala <kpaasial_at_gmail.com> wrote: >> On Sat, Dec 22, 2012 at 1:38 AM, Łukasz Wąsikowski >> <lukasz_at_wasikowski.net> wrote: >>> W dniu 2012-12-21 13:23, Kimmo Paasiala pisze: >>>> On Fri, Dec 21, 2012 at 5:43 AM, Kimmo Paasiala <kpaasial_at_gmail.com> wrote: >>>>> On Thu, Dec 20, 2012 at 3:27 PM, Jilles Tjoelker <jilles_at_stack.nl> wrote: >>>>>> On Thu, Dec 20, 2012 at 01:04:34PM +0200, Kimmo Paasiala wrote: >>>>>>> A question related to this for those who have been doing work on the >>>>>>> rc(8) scripts. Can I assume that /usr/bin is available when >>>>>>> network.subr functions are used? Doing calculations on hexadecimal >>>>>>> numbers is going to be very awkward if I can't use for example bc(1). >>>>>> >>>>>> You cannot assume that /usr/bin is available when setting up the >>>>>> network. It may be that /usr is mounted via NFS. >>>>>> >>>>>> You can use hexadecimal numbers (prefixed with 0x) in $((...)) >>>>>> expressions. In FreeBSD 9.0 or newer, sh has a printf builtin you can >>>>>> use; in older versions you can use hexdigit and hexprint from >>>>>> network.subr. >>>>>> >>>>>> -- >>>>>> Jilles Tjoelker >>>>> >>>>> Thanks, I've rewitten my patch to support ranges. It is attached in >>>>> this message. >>>>> >>>>> Again it's against a very recent 9-STABLE, I still haven't found time >>>>> to see if it applies to CURRENT. >>>>> >>>>> It does allow you to do crazy stuff like >>>>> >>>>> ipv6_addrs_re0="2001:db8:1111:2222::1-ffff/64" >>>>> >>>>> However I didn't find anything to limit the number of aliases in the >>>>> ipv4 version of the function either. >>>>> >>>>> Please test it :) >>>>> >>>>> >>>>> Then a question about the PR >>>>> (http://www.freebsd.org/cgi/query-pr.cgi?pr=174225) I wrote, how can I >>>>> attach this new patch to it? The submit follow up -button fires up my >>>>> email client and I'm not so sure how to submit a new patch for the PR >>>>> in an email in such a way that it appears properly formatted in the >>>>> PR. >>>>> >>>>> Regards, >>>>> >>>>> Kimmo Paasiala >>>> >>>> PR updated with the new patch. >>> >>> Your patch applied cleanly, but it's not working or I am doing something >>> wrong. >>> >>> root_at_freebsd:~ # uname -a >>> FreeBSD freebsd 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #1 r244567: Fri >>> Dec 21 23:57:28 CET 2012 root_at_freebsd:/usr/obj/usr/src/sys/GENERIC >>> amd64 >>> >>> root_at_freebsd:~ # grep -Ev '^[[:space:]]*#|^$' /etc/rc.conf >>> hostname="freebsd" >>> ifconfig_em0="up" >>> ipv4_addrs_em0="192.168.168.20-24/24" >>> defaultrouter="192.168.168.1" >>> ipv6_activate_all_interfaces="YES" >>> ipv6_addrs_em0="2001:6a0:1cb::1-6/64" >>> ipv6_defaultrouter="2001:6a0:1cb::ffff" >>> sshd_enable="YES" >>> dumpdev="NO" >>> named_enable="YES" >>> >>> root_at_freebsd:~ # ifconfig >>> em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 >>> options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> >>> ether 08:00:27:02:83:71 >>> inet6 fe80::a00:27ff:fe02:8371%em0 prefixlen 64 scopeid 0x1 >>> inet 192.168.168.20 netmask 0xffffff00 broadcast 192.168.168.255 >>> inet 192.168.168.21 netmask 0xffffffff broadcast 192.168.168.21 >>> inet 192.168.168.22 netmask 0xffffffff broadcast 192.168.168.22 >>> inet 192.168.168.23 netmask 0xffffffff broadcast 192.168.168.23 >>> inet 192.168.168.24 netmask 0xffffffff broadcast 192.168.168.24 >>> nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> >>> media: Ethernet autoselect (1000baseT <full-duplex>) >>> status: active >>> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 >>> options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6> >>> inet6 ::1 prefixlen 128 >>> inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 >>> inet 127.0.0.1 netmask 0xff000000 >>> nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> >>> >>> -- >>> best regards, >>> Lukasz Wasikowski >> >> You need to first add a single ipv6 address using the >> ifconfig_em0_ipv6 -syntax. >> >> ifconfig_em0_ipv6="2001:6a0:1cb::1/64" >> >> And then this should add the rest of the addresses >> >> ipv6_addrs_em0="2001:6a0:1cb::2-6/64" >> >> It looks like the reason for the difference to ipv4_addrs_IF is that >> the "alias" parameter for ifconfig(8) operates differently for IPv6 >> addresses, the first address of an interface can't be added with >> "alias", for IPv4 it does not care. I'll have to dig deeper but that's >> what the problem seems to be. >> >> -Kimmo > > The 'alias' parameter of ifconfig(8) is not the problem on the first > ipv6 address, I have verified that. However, there's probably > something in network.subr or /etc/rc.d/netif that I have overlooked > and causes my code to be skipped if there's no ifconfig_IF_ipv6 > variable defined in rc.conf(5). > > -Kimmo Yeah, this is problem in network.subr. An interface is not recognized as IPv6 capable if the interface is not in "ipv6_network_interfaces" and there's no "ifconfig_IF_ipv6" in rc.conf(5), bummer. For IPv4 it "just works" because the interface is always assumed to be IPv4 capable. -KimmoReceived on Sat Dec 22 2012 - 02:41:53 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:33 UTC