Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discover dhcp camera outside subnet #819

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

hackel6
Copy link
Contributor

@hackel6 hackel6 commented Sep 8, 2023

When possible (running as root) uses SO_BINDTODEVICE to discover cameras outside the subnet.
I did not implement for Stream because the idea is that with this change you can now use arv-tool-0.8 (with root privelages) to re-address the camera and bring it back into communication for proper use.
I'm not sure if there's a better way that does not require root for SO_BINDTODEVICE.
https://aravis-project.discourse.group/t/discover-camera-in-dhcp-mode/598/4
#779

draft until i can test next week

@hackel6
Copy link
Contributor Author

hackel6 commented Sep 8, 2023

It was mentioned in #779 that SO_BINDTODEVICE is Linux only. I suppose I could surround with #ifdef statements; unless someone thinks there's a better way. If i have time i can experiment with other broadcast options.

@hackel6
Copy link
Contributor Author

hackel6 commented Sep 25, 2023

I was unable to get the response broadcast packets to be picked up by the receiving socket without SO_BINDTODEVICE. it's possible there is a linux kernel setting which will allow them to get through, but i was unable to figure it out. Reverse Path Filtering is turned off by default on the systems i'm testing with, so I'm kind of out of ideas and I suppose have to use the approach from this PR and run with root in order to use SO_BINDTODEVICE.

@hackel6 hackel6 marked this pull request as ready for review September 25, 2023 22:22
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.

None yet

2 participants