Lines Matching refs:tlv
229 struct tlv_hdr *tlv = (struct tlv_hdr *)buf;
236 if (n != ntohs(tlv->len))
239 if (ntohs(tlv->type) != CMD_ECHO)
342 struct tlv_hdr *tlv = (struct tlv_hdr *)buf;
346 if (len != ntohs(tlv->len) || len < sizeof(*tlv))
350 len -= sizeof(*tlv);
354 memcpy(val, tlv->data, len);
388 struct tlv_hdr *tlv = (struct tlv_hdr *)buf;
394 switch (ntohs(tlv->type)) {
409 tlv->type = htons(CMD_ACK);
410 tlv->len = htons(sizeof(*tlv));
411 err = send(ctrl_sockfd, buf, sizeof(*tlv), 0);
425 tlv->type = htons(CMD_ACK);
426 tlv->len = htons(sizeof(*tlv));
427 err = send(ctrl_sockfd, buf, sizeof(*tlv), 0);
443 tlv->type = htons(CMD_ACK);
444 n = sizeof(*tlv) + sizeof(opts.feature_flags);
445 tlv->len = htons(n);
448 memcpy(tlv->data, &val, sizeof(val));
468 tlv->type = htons(CMD_ACK);
469 n = sizeof(*tlv) + sizeof(val);
470 tlv->len = htons(n);
473 memcpy(tlv->data, &val, sizeof(val));
532 struct tlv_hdr *tlv = (struct tlv_hdr *)buf;
535 tlv->type = htons(cmd);
536 tlv->len = htons(sizeof(*tlv));
538 err = send(sockfd, buf, sizeof(*tlv), 0);
546 return ntohs(tlv->type) == CMD_ACK ? 0 : -EINVAL;
552 struct tlv_hdr *tlv = (struct tlv_hdr *)buf;
563 tlv->type = htons(CMD_ECHO);
564 tlv->len = htons(sizeof(*tlv));
566 n = sendto(sockfd, buf, sizeof(*tlv), MSG_NOSIGNAL | MSG_CONFIRM,
570 return n == ntohs(tlv->len) ? 0 : -EINVAL;