Detecting if kernel is ipv6 capable - Networking

This is a discussion on Detecting if kernel is ipv6 capable - Networking ; Hi all, I have an embedded system which we want to run some of the installed application like dhcp and ssh over ipv6. Is there a simple way to determine if the OS is ipv6 capable? We are tracking down ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: Detecting if kernel is ipv6 capable

  1. Detecting if kernel is ipv6 capable

    Hi all,

    I have an embedded system which we want to run some of the installed
    application like dhcp and ssh over ipv6. Is there a simple way to
    determine if the OS is ipv6 capable? We are tracking down the kernel
    sources to do 'make menuconfig' - but thought I'd ask if there is a
    way I can know for sure in just the shell.

    Robert


  2. Re: Detecting if kernel is ipv6 capable

    On May 24, 11:07 am, robert wrote:
    > Hi all,
    >
    > I have an embedded system which we want to run some of the installed
    > application like dhcp and ssh over ipv6. Is there a simple way to
    > determine if the OS is ipv6 capable? We are tracking down the kernel
    > sources to do 'make menuconfig' - but thought I'd ask if there is a
    > way I can know for sure in just the shell.
    >
    > Robert


    Check for the /proc/net/if_inet6 file. If it exists, kernel is IPv6
    capable. Contents of this file will tell you what layer 3 interfaces
    on your system support IPv6. Of course, I am assuming that your
    embedded system is running Linux :-).

    Thanks

    Tejas Kokje


  3. Re: Detecting if kernel is ipv6 capable

    In article <1180053168.805795.94060@n15g2000prd.googlegroups.c om>,
    Tejas Kokje wrote:

    > On May 24, 11:07 am, robert wrote:
    > > Hi all,
    > >
    > > I have an embedded system which we want to run some of the installed
    > > application like dhcp and ssh over ipv6. Is there a simple way to
    > > determine if the OS is ipv6 capable? We are tracking down the kernel
    > > sources to do 'make menuconfig' - but thought I'd ask if there is a
    > > way I can know for sure in just the shell.
    > >
    > > Robert

    >
    > Check for the /proc/net/if_inet6 file. If it exists, kernel is IPv6
    > capable. Contents of this file will tell you what layer 3 interfaces
    > on your system support IPv6. Of course, I am assuming that your
    > embedded system is running Linux :-).
    >
    > Thanks
    >
    > Tejas Kokje


    I generally execute (i.e. in a C program).

    struct in6_addr buf;
    inet_pton(AF_INET6, "::", buf);

    if inet_pton() returns 0, you've got an IPv6 capable kernel. If course,
    just because your kernel can do IPv6 doesn't always mean the whole box is
    set up (i.e. addresses assigned, DNS configured, etc, etc).

    But, you asked specifically about things you can do from the shell. In
    addition to the above, you might try "ping6 ::1".

  4. Re: Detecting if kernel is ipv6 capable

    Roy Smith wrote:
    > In article <1180053168.805795.94060@n15g2000prd.googlegroups.c om>,
    > Tejas Kokje wrote:
    >
    >> On May 24, 11:07 am, robert wrote:
    >>> Hi all,
    >>>
    >>> I have an embedded system which we want to run some of the installed
    >>> application like dhcp and ssh over ipv6. Is there a simple way to
    >>> determine if the OS is ipv6 capable? We are tracking down the kernel
    >>> sources to do 'make menuconfig' - but thought I'd ask if there is a
    >>> way I can know for sure in just the shell.
    >>>
    >>> Robert

    >> Check for the /proc/net/if_inet6 file. If it exists, kernel is IPv6
    >> capable. Contents of this file will tell you what layer 3 interfaces
    >> on your system support IPv6. Of course, I am assuming that your
    >> embedded system is running Linux :-).
    >>
    >> Thanks
    >>
    >> Tejas Kokje

    >
    > I generally execute (i.e. in a C program).
    >
    > struct in6_addr buf;
    > inet_pton(AF_INET6, "::", buf);


    That will tell you if you have an IPv6 capable C library, not an IPv6
    capable kernel!

    Robert

    >
    > if inet_pton() returns 0, you've got an IPv6 capable kernel. If course,
    > just because your kernel can do IPv6 doesn't always mean the whole box is
    > set up (i.e. addresses assigned, DNS configured, etc, etc).
    >
    > But, you asked specifically about things you can do from the shell. In
    > addition to the above, you might try "ping6 ::1".


  5. Re: Detecting if kernel is ipv6 capable

    robert wrote:

    > Hi all,
    >
    > I have an embedded system which we want to run some of the installed
    > application like dhcp and ssh over ipv6. Is there a simple way to
    > determine if the OS is ipv6 capable? We are tracking down the kernel
    > sources to do 'make menuconfig' - but thought I'd ask if there is a
    > way I can know for sure in just the shell.
    >
    > Robert


    You could try looking for some "tell-tales" in /proc, eg:

    /proc/net/if_inet6

    Problem is these are volatile and likely to be renamed whenever the linux
    dev guys feel like. That won;t be a problem unless you are writing a script
    that needs to run long term through random kernel upgrades. For a spot
    check it will tell you though.

    Another option is to as "ip", eg:

    ip addr ls | grep inet6

    Don;t overlook the fact that the kernel may be potentially IPv6 enabled, but
    that you might need to load some modules.

    HTH

    Tim

+ Reply to Thread