ifconfig showing ipv6 address while networksetup doesn't when using ipconfig utility, it's showing ipv6 address:


  inet6 fe80::1c00:23f2:b82e:fc8c%en0 prefixlen 64 secured scopeid 0x4


But when using 


  networksetup -getinfo %networ service name%


it returns:


  IPv6: Automatic
  
  IPv6 IP address: none
  
  IPv6 Router: none


Same when using ipconfig


  ipconfig getv6packet en0


it returns nothing. so do I have IPv6 address or not?
Your system does have an IPv6 address though it's not really usable for networking beyond the local subnet. fe80::1c00:23f2:b82e:fc8c is a fe80::/10 link-local unicast address


  Link-Local addresses are designed to be used for addressing on a
  single link for purposes such as automatic address configuration,
  neighbor discovery, or when no routers are present.
  
  Routers must not forward any packets with Link-Local source or
  destination addresses to other links.


so what you have is a sort of a bootstrap IP address, not something that can communicate with other systems on the Internet. If IPv6 was working, typically SLAAC or DHCPv6 would give additional IP addresses (and routes would be setup) for your system to use. These would not be fe80::/10 addresses.

On a SLAAC subnet, IPv6 configuration might look something like

$ ifconfig en0 | grep inet6
    inet6 fe80::4a69:97ff:fe77:a706%en0 prefixlen 64 scopeid 0x4 
    inet6 2607:...:4a69:97ff:fe77:a706 prefixlen 64 autoconf 
    inet6 2607:...:6061:4f35:9b95:c7d4 prefixlen 64 autoconf temporary
$ ipconfig getv6packet en0
$ 


getv6packet shows nothing as SLAAC is being used, and there is no DHCPv6 packet associated with that protocol. networksetup does not appear to print anything useful when SLAAC is in use (this is on a Mac OS X 10.11 system).

$ networksetup -getinfo Ethernet | grep IPv6
IPv6: Automatic
IPv6 IP address: none
IPv6 Router: none
$