基于hisi3536实现的,ubuntu下只要找到对应的配置文件(ipv6_route)即可
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define PROCNET_ROUTE_PATH "/proc/net/route"
#define PROCNET_IFINET6_PATH "/proc/net/if_inet6"
#define PROCNET_ROUTE_IPV6_PATH "/proc/net/ipv6_route"
#define SCOPE_LINK_STR "fe80"
int net_get_ipv6_gateway2(char type, const char *ifname, char *addr, int length)
{
FILE *fp;
char addr6[46] = {0};
char tmpAdd6[8][5];
char tmpOther[9][64];
struct sockaddr_in6 sap = {0};
if (!ifname || !addr || length <= 0)
return -1;
fp = fopen(PROCNET_ROUTE_IPV6_PATH, "r");
if (!fp) return -1;
lockf(fileno(fp), F