Hi,

When try to run ptp4l with unicast ipv6 mode, I get this warning.

ptp4l[517963.237]: port 1: unicast master transport mismatch

I am compiling linuxptp 2.0 with this patch

diff --git a/util.c b/util.c
index c617510..9ad23e0 100644
--- a/util.c
+++ b/util.c
@@ -80,13 +80,17 @@ int addreq(enum transport_type type, struct address *a, 
struct address *b)
   bufb = &b->sin.sin_addr;
   len = sizeof(a->sin);
   break;
+ case TRANS_UDP_IPV6:
+  bufa = &a->sin6.sin6_addr;
+  bufb = &b->sin6.sin6_addr;
+  len = sizeof(a->sin6);
+  break;
  case TRANS_IEEE_802_3:
   bufa = &a->sll.sll_addr;
   bufb = &b->sll.sll_addr;
   len = MAC_LEN;
   break;
  case TRANS_UDS:
- case TRANS_UDP_IPV6:
  case TRANS_DEVICENET:
  case TRANS_CONTROLNET:
  case TRANS_PROFINET:
@@ -171,12 +175,12 @@ int str2addr(enum transport_type type, const char *s, 
struct address *addr)
 {
  unsigned char mac[MAC_LEN];
  struct in_addr ipv4_addr;
+ struct in6_addr ipv6_addr;

  memset(addr, 0, sizeof(*addr));

  switch (type) {
  case TRANS_UDS:
- case TRANS_UDP_IPV6:
  case TRANS_DEVICENET:
  case TRANS_CONTROLNET:
  case TRANS_PROFINET:
@@ -191,6 +195,15 @@ int str2addr(enum transport_type type, const char *s, 
struct address *addr)
   addr->sin.sin_addr = ipv4_addr;
   addr->len = sizeof(addr->sin);
   break;
+ case TRANS_UDP_IPV6:
+  if (1 != inet_pton(AF_INET6, s, &ipv6_addr)) {
+   pr_err("bad IPv6 address");
+   return -1;
+  }
+  addr->sin6.sin6_family = AF_INET6;
+  addr->sin6.sin6_addr = ipv6_addr;
+  addr->len = sizeof(addr->sin6);
+  break;
  case TRANS_IEEE_802_3:
   if (str2mac(s, mac)) {
    pr_err("bad Layer-2 address");
Any idea what am I missing? This is how my config file looks like.

[ni6]
unicast_master_table          1
udp_ttl                       20
syncReceiptTimeout            2
logSyncInterval               0
logMinPdelayReqInterval       0
logMinDelayReqInterval        0
delay_mechanism               E2E
announceReceiptTimeout        4


[unicast_master_table]
table_id                      1
logQueryInterval              0
UDPv6                         FE80:CD00:0000:0CDE:1257:0000:211E:729C


[global]
verbose                       0
userDescription               ;
use_syslog                    1
unicast_req_duration          10
unicast_master_table          0
unicast_listen                1
uds_address                   /var/run/ptp4l
udp6_scope                    0x0E
tx_timestamp_timeout          1
twoStepFlag                   1
tsproc_mode                   filter
transportSpecific             0x0
time_stamping                 hardware
tc_spanning_tree              0
summary_interval              0
step_threshold                0.0
slaveOnly                     1
sanity_freq_limit             200000000
revisionData                  ;;
ptp_dst_mac                   01:1B:19:00:00:00
productDescription            ;;
pi_proportional_scale         0.0
pi_proportional_norm_max      0.70
pi_proportional_exponent      -0.3
pi_proportional_const         0.7
pi_integral_scale             0.0
pi_integral_norm_max          0.3
pi_integral_exponent          0.4
pi_integral_const             0.0
path_trace_enabled            0
p2p_dst_mac                   01:80:C2:00:00:0E
offsetScaledLogVariance       0xFFFF
ntpshm_segment                0
net_sync_monitor              1
neighborPropDelayThresh       20000000
max_frequency                 900000000
masterOnly                    0
manufacturerIdentity          00:00:00
logging_level                 6
logAnnounceInterval           1
kernel_leap                   1
inhibit_multicast_service     1
ingressLatency                0
hybrid_e2e                    0
freq_est_interval             1
free_running                  0
follow_up_info                0
first_step_threshold          0.00002
fault_reset_interval          4
egressLatency                 0
dscp_general                  63
dscp_event                    2
domainNumber                  0
delay_filter_length           10
delay_filter                  moving_median
delayAsymmetry                0


Thanks.

Best regards,
Jawad

_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users

Reply via email to