Commit e1cc21b2 authored by Alessandro Rubini's avatar Alessandro Rubini Committed by Aurelio Colosimo

initialization: fix clockId setup

parent 740f97e0
...@@ -209,13 +209,13 @@ int posix_open_ch(struct pp_instance *ppi, char *ifname, int chtype) ...@@ -209,13 +209,13 @@ int posix_open_ch(struct pp_instance *ppi, char *ifname, int chtype)
return -1; return -1;
} }
memcpy(NP(ppi)->ch[chtype].addr, ifr.ifr_hwaddr.sa_data, 6);
if (ioctl(sock, SIOCGIFADDR, &ifr) < 0) { if (ioctl(sock, SIOCGIFADDR, &ifr) < 0) {
pp_diag_error_str2(ppi, "SIOCGIFADDR", strerror(errno)); pp_diag_error_str2(ppi, "SIOCGIFADDR", strerror(errno));
return -1; return -1;
} }
memcpy(NP(ppi)->ch[chtype].addr, ifr.ifr_hwaddr.sa_data, 6);
iface_addr.s_addr = iface_addr.s_addr =
((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr; ((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr;
......
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
int pp_initializing(struct pp_instance *ppi, unsigned char *pkt, int plen) int pp_initializing(struct pp_instance *ppi, unsigned char *pkt, int plen)
{ {
unsigned char *id, *mac;
pp_net_shutdown(ppi); pp_net_shutdown(ppi);
if (pp_net_init(ppi) < 0) if (pp_net_init(ppi) < 0)
...@@ -19,10 +21,18 @@ int pp_initializing(struct pp_instance *ppi, unsigned char *pkt, int plen) ...@@ -19,10 +21,18 @@ int pp_initializing(struct pp_instance *ppi, unsigned char *pkt, int plen)
/* Initialize default data set */ /* Initialize default data set */
DSDEF(ppi)->twoStepFlag = PP_TWO_STEP_FLAG; DSDEF(ppi)->twoStepFlag = PP_TWO_STEP_FLAG;
pp_memcpy(DSDEF(ppi)->clockIdentity, NP(ppi)->ch[PP_NP_GEN].addr, /* Clock identity comes from mac address with 0xff:0xfe intermixed */
PP_CLOCK_IDENTITY_LENGTH); id = DSDEF(ppi)->clockIdentity;
DSDEF(ppi)->clockIdentity[3] = 0xff; mac = NP(ppi)->ch[PP_NP_GEN].addr;
DSDEF(ppi)->clockIdentity[4] = 0xfe; id[0] = mac[0];
id[1] = mac[1];
id[2] = mac[2];
id[3] = 0xff;
id[4] = 0xfe;
id[5] = mac[3];
id[6] = mac[4];
id[7] = mac[5];
DSDEF(ppi)->numberPorts = 1; DSDEF(ppi)->numberPorts = 1;
pp_memcpy(&DSDEF(ppi)->clockQuality, &OPTS(ppi)->clock_quality, pp_memcpy(&DSDEF(ppi)->clockQuality, &OPTS(ppi)->clock_quality,
sizeof(ClockQuality)); sizeof(ClockQuality));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment