Introduce some log messages in IPv6 Prefix delegation processing useful for debugging
Signed-off-by: Lorenzo Bianconi <[email protected]> --- controller/pinctrl.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/controller/pinctrl.c b/controller/pinctrl.c index a1fba3bdb..2ac227704 100644 --- a/controller/pinctrl.c +++ b/controller/pinctrl.c @@ -770,6 +770,13 @@ pinctrl_parse_dhcpv6_advt(struct rconn *swconn, const struct flow *ip_flow, pfd->state = PREFIX_REQUEST; + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(20, 40); + char ip6_s[INET6_ADDRSTRLEN + 1]; + if (ipv6_string_mapped(ip6_s, &ip_flow->ipv6_src)) { + VLOG_INFO_RL(&rl, "Received DHCPv6 advt from %s with aid %d" + " sending DHCPv6 request", ip6_s, aid); + } + uint64_t packet_stub[256 / 8]; struct dp_packet packet; @@ -938,6 +945,14 @@ pinctrl_parse_dhcpv6_reply(struct dp_packet *pkt_in, in_dhcpv6_data += opt_len; } if (status) { + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(20, 40); + char prefix[INET6_ADDRSTRLEN + 1]; + char ip6_s[INET6_ADDRSTRLEN + 1]; + if (ipv6_string_mapped(ip6_s, &ip_flow->ipv6_src) && + ipv6_string_mapped(prefix, &ipv6)) { + VLOG_INFO_RL(&rl, "Received DHCPv6 reply from %s with prefix %s/%d" + " aid %d", ip6_s, prefix, prefix_len, aid); + } pinctrl_prefixd_state_handler(ip_flow, ipv6, aid, eth->eth_src, in_ip->ip6_src, prefix_len, t1, t2, plife_time, vlife_time, uuid, uuid_len); @@ -1227,19 +1242,27 @@ fill_ipv6_prefix_state(struct ovsdb_idl_txn *ovnsb_idl_txn, pfd->prefix = in6addr_any; } } else if (pfd->state == PREFIX_PENDING && ovnsb_idl_txn) { + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(20, 40); char prefix_str[INET6_ADDRSTRLEN + 1] = {}; struct smap options; + if (!ipv6_string_mapped(prefix_str, &pfd->prefix)) { + goto out; + } + VLOG_INFO_RL(&rl, "updating port_binding for %s with prefix %s/%d" + " aid %d", pb->logical_port, prefix_str, pfd->plen, + pfd->aid); + pfd->state = PREFIX_DONE; pfd->last_complete = time_msec(); pfd->next_announce = pfd->last_complete + pfd->t1; - ipv6_string_mapped(prefix_str, &pfd->prefix); smap_clone(&options, &pb->options); smap_add_format(&options, "ipv6_ra_pd_list", "%d:%s/%d", pfd->aid, prefix_str, pfd->plen); sbrec_port_binding_set_options(pb, &options); smap_destroy(&options); } +out: pfd->last_used = time_msec(); destroy_lport_addresses(&c_addrs); } -- 2.31.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
