mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-04-10 12:39:53 +00:00
More bug fixing for AARCH64.
This commit is contained in:
parent
b65feeba85
commit
92f199ab98
@ -362,7 +362,7 @@ void LinuxNetLink::_routeDeleted(struct nlmsghdr *nlp)
|
||||
|
||||
void LinuxNetLink::_linkAdded(struct nlmsghdr *nlp)
|
||||
{
|
||||
char mac_bin[6] = {0};
|
||||
unsigned char mac_bin[6] = {0};
|
||||
unsigned int mtu = 0;
|
||||
char ifname[IFNAMSIZ] = {0};
|
||||
|
||||
@ -370,17 +370,16 @@ void LinuxNetLink::_linkAdded(struct nlmsghdr *nlp)
|
||||
struct rtattr *rtap = (struct rtattr *)IFLA_RTA(ifip);
|
||||
int ifil = RTM_PAYLOAD(nlp);
|
||||
|
||||
const char *ptr;
|
||||
unsigned char *ptr2;
|
||||
const char *ptr = (const char *)0;
|
||||
for(;RTA_OK(rtap, ifil);rtap=RTA_NEXT(rtap, ifil))
|
||||
{
|
||||
switch(rtap->rta_type) {
|
||||
case IFLA_ADDRESS:
|
||||
ptr2 = (unsigned char*)RTA_DATA(rtap);
|
||||
ptr = (const char *)RTA_DATA(rtap);
|
||||
memcpy(mac_bin, ptr, 6);
|
||||
break;
|
||||
case IFLA_IFNAME:
|
||||
ptr = (const char*)RTA_DATA(rtap);
|
||||
ptr = (const char *)RTA_DATA(rtap);
|
||||
memcpy(ifname, ptr, strlen(ptr));
|
||||
break;
|
||||
case IFLA_MTU:
|
||||
@ -394,7 +393,7 @@ void LinuxNetLink::_linkAdded(struct nlmsghdr *nlp)
|
||||
struct iface_entry &entry = _interfaces[ifip->ifi_index];
|
||||
entry.index = ifip->ifi_index;
|
||||
memcpy(entry.ifacename, ifname, sizeof(ifname));
|
||||
memcpy(entry.mac, mac, sizeof(mac));
|
||||
snprintf(entry.mac,sizeof(entry.mac),"%.02x:%.02x:%.02x:%.02x:%.02x:%.02x",(unsigned int)mac_bin[0],(unsigned int)mac_bin[1],(unsigned int)mac_bin[2],(unsigned int)mac_bin[3],(unsigned int)mac_bin[4],(unsigned int)mac_bin[5]);
|
||||
memcpy(entry.mac_bin, mac_bin, 6);
|
||||
entry.mtu = mtu;
|
||||
}
|
||||
@ -409,14 +408,10 @@ void LinuxNetLink::_linkDeleted(struct nlmsghdr *nlp)
|
||||
struct rtattr *rtap = (struct rtattr *)IFLA_RTA(ifip);
|
||||
int ifil = RTM_PAYLOAD(nlp);
|
||||
|
||||
const char *ptr;
|
||||
unsigned char *ptr2;
|
||||
const char *ptr = (const char *)0;
|
||||
for(;RTA_OK(rtap, ifil);rtap=RTA_NEXT(rtap, ifil))
|
||||
{
|
||||
switch(rtap->rta_type) {
|
||||
case IFLA_ADDRESS:
|
||||
ptr2 = (unsigned char*)RTA_DATA(rtap);
|
||||
break;
|
||||
case IFLA_IFNAME:
|
||||
ptr = (const char*)RTA_DATA(rtap);
|
||||
memcpy(ifname, ptr, strlen(ptr));
|
||||
|
Loading…
x
Reference in New Issue
Block a user