Skip to content

frr: add detail when failing to connect to grout - #569

Merged
rjarry merged 1 commit into
DPDK:mainfrom
david-marchand:frr-connect
Mar 25, 2026
Merged

frr: add detail when failing to connect to grout#569
rjarry merged 1 commit into
DPDK:mainfrom
david-marchand:frr-connect

Conversation

@david-marchand

@david-marchand david-marchand commented Mar 25, 2026

Copy link
Copy Markdown
Member

Currently, when trying to connect FRR from a edge container image and there is an issue on the socket or grout side, we only get the following logs:

ZEBRA: GROUT: grout_sync: waiting for grout at /run/grout.sock
ZEBRA: GROUT: grout_sync: waiting for grout at /run/grout.sock
ZEBRA: GROUT: grout_sync: waiting for grout at /run/grout.sock

Add more context so that we can more easily understand if this is a permission issue, a grout version check issue etc...

ZEBRA: GROUT: grout_sync: waiting for grout at /run/grout.sock: No such file or directory
...
ZEBRA: GROUT: grout_sync: waiting for grout at /run/grout.sock: Permission denied
...
ZEBRA: GROUT: grout_sync: waiting for grout at /run/grout.sock: Bad message

frr/zebra_dplane_grout.c

Modified grout_sync() to include the OS error text when connection to the grout socket fails. The log call at line 273 changed from logging "waiting for grout at %s" to "waiting for grout at %s: %s", passing strerror(errno) as the additional parameter. No other behavior changes: the function still schedules the next grout_sync timer on zrouter.master with the same 1-unit delay and returns when grout_ctx.sync_client is NULL. This makes logs show precise failures (e.g., "No such file or directory", "Permission denied", "Bad message") instead of repeating the same generic message.

@coderabbitai

coderabbitai Bot commented Mar 25, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 51cc16db-d8f6-4212-bfd9-ed335c3e5254

📥 Commits

Reviewing files that changed from the base of the PR and between 3f0b0bf and 674daf5.

📒 Files selected for processing (1)
  • frr/zebra_dplane_grout.c
✅ Files skipped from review due to trivial changes (1)
  • frr/zebra_dplane_grout.c

📝 Walkthrough

Walkthrough

In frr/zebra_dplane_grout.c, grout_sync() was changed so that when gr_api_client_connect(gr_sock_path) fails (grout_ctx.sync_client == NULL), the informational log now includes the OS error string via strerror(errno), changing the message from waiting for grout at %s to waiting for grout at %s: %s. The function still schedules the next grout_sync timer on zrouter.master with a 1-unit delay and then returns.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Currently, when trying to connect FRR from a edge container image
and there is an issue on the socket or grout side, we only get the
following logs:

ZEBRA: GROUT: grout_sync: waiting for grout at /run/grout.sock
ZEBRA: GROUT: grout_sync: waiting for grout at /run/grout.sock
ZEBRA: GROUT: grout_sync: waiting for grout at /run/grout.sock

Add more context so that we can more easily understand if this is a
permission issue, a grout version check issue etc...

ZEBRA: GROUT: grout_sync: waiting for grout at /run/grout.sock: No such file or directory
...
ZEBRA: GROUT: grout_sync: waiting for grout at /run/grout.sock: Permission denied
...
ZEBRA: GROUT: grout_sync: waiting for grout at /run/grout.sock: Bad message

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Robin Jarry <rjarry@redhat.com>
@rjarry
rjarry merged commit 47feb30 into DPDK:main Mar 25, 2026
6 checks passed
@david-marchand
david-marchand deleted the frr-connect branch March 26, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants