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

Add UDP Broadcast Relay GUI package. Implement #10818 #1189

Closed
wants to merge 1 commit into from

Conversation

marcos-ng
Copy link
Collaborator

@marcos-ng marcos-ng commented Sep 15, 2022

@djonk
Copy link

djonk commented Sep 16, 2022

Thanks so much for pulling this together, great package. Will continue testing. Some quick improvement suggestions:

  • Check for duplicate instance IDs, give a warning or auto-suggest a new ID that is not used.
  • Enabling the package without instances will throw PHP errors.
  • There seems to be an error looping over a non-existent array on the detail page.
  • Would suggest to use the friendly recognizable interface names in the admin interface instance overview table.
  • The service will not start if the interface does not have an IP address, these errors are not visible in the UX (internal error ioctl(SIOCGIFADDR): Can't assign requested address); show the logs.
  • It would be awesome to include a couple of 'frequently used use-cases' as templates to choose from for easier configuration that set the right port, multi-cast ID, instance ID, etc. For example "mDNS / Multicast DNS (Chromecast Discovery + Bonjour + More)"
  • Should we check for duplicate instances (i.e., mainly check if the UDP port number is configured on a certain interface)

Screen Shot 2022-09-16 at 1 30 41 PM

Screen Shot 2022-09-16 at 1 32 26 PM

@marcos-ng
Copy link
Collaborator Author

Points 2 and 3 are solved by the second commit. I'll look into the rest. Great feedback!

@djonk
Copy link

djonk commented Sep 19, 2022

Thanks for the quick collaboration on this! Tried to install the latest commit and bumped into the post installation script error below.

[2.7.0-DEVELOPMENT][admin@XXXX]/root: pkg install pfSense-pkg-udpbroadcastrelay-1.0.pkg
Updating pfSense-core repository catalogue...
pfSense-core repository is up to date.
Updating pfSense repository catalogue...
pfSense repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	pfSense-pkg-udpbroadcastrelay: 1.0 [unknown-repository]

Number of packages to be installed: 1

Proceed with this action? [y/N]: y
[1/1] Installing pfSense-pkg-udpbroadcastrelay-1.0...
Extracting pfSense-pkg-udpbroadcastrelay-1.0: 100%
Saving updated package information...
done.
Loading package configuration... done.
Configuring package components...
Loading package instructions...
Custom commands...
Executing custom_php_resync_config_command()...
Fatal error: Uncaught Error: Call to undefined function config_get_path() in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc:41
Stack trace:
#0 /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc(79): udpbr_init_config()
#1 /etc/inc/pkg-utils.inc(802) : eval()'d code(1): udpbr_resync()
#2 /etc/inc/pkg-utils.inc(802): eval()
#3 /etc/inc/pkg-utils.inc(928): eval_once('udpbr_resync();')
#4 /etc/rc.packages(76): install_package_xml('udpbroadcastrel...')
#5 {main}
  thrown in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc on line 41
PHP ERROR: Type: 1, File: /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc, Line: 41, Message: Uncaught Error: Call to undefined function config_get_path() in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc:41
Stack trace:
#0 /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc(79): udpbr_init_config()
#1 /etc/inc/pkg-utils.inc(802) : eval()'d code(1): udpbr_resync()
#2 /etc/inc/pkg-utils.inc(802): eval()
#3 /etc/inc/pkg-utils.inc(928): eval_once('udpbr_resync();')
#4 /etc/rc.packages(76): install_package_xml('udpbroadcastrel...')
#5 {main}
  thrownpkg: POST-INSTALL script failed
[2.7.0-DEVELOPMENT][admin@XXXX]/root: 

@marcos-ng
Copy link
Collaborator Author

  • Check for duplicate instance IDs, give a warning or auto-suggest a new ID that is not used.
  • Should we check for duplicate instances (i.e., mainly check if the UDP port number is configured on a certain interface)

Any suggestions on doing this? Currently the instance ID is tied to the config item ID.

  • Enabling the package without instances will throw PHP errors.
  • There seems to be an error looping over a non-existent array on the detail page.
  • Would suggest to use the friendly recognizable interface names in the admin interface instance overview table.

Should be fixed now.

  • The service will not start if the interface does not have an IP address, these errors are not visible in the UX (internal error ioctl(SIOCGIFADDR): Can't assign requested address); show the logs.

Now only interfaces with IPv4 or IPv6 addresses are shown. Where was this error shown?

  • It would be awesome to include a couple of 'frequently used use-cases' as templates to choose from for easier configuration that set the right port, multi-cast ID, instance ID, etc. For example "mDNS / Multicast DNS (Chromecast Discovery + Bonjour + More)"

I was thinking about this as well, but I found it better to leave this as examples on the online docs.

Regarding the install issue on 2.7, you won't be able to install it there just yet. This is based on snapshots which are not yet public. I'll include an updated 2.6 pkg on the redmine with the latest fixes.

@djonk
Copy link

djonk commented Sep 19, 2022

Any suggestions on doing this? Currently the instance ID is tied to the config item ID.

Couple of ideas:

  1. Would likely just take the max() value +1 of the existing array with instances for any new record (i.e., $is_new_entry === true)
  2. On duplication, would in validation iterate over all other instances in the existing config and check if there is another instance listening on the same port; if that's the case, iterate to see if the interfaces overlap for these ports

Should be fixed now.

Thank you.

Now only interfaces with IPv4 or IPv6 addresses are shown. Where was this error shown?

Error was shown when you manually start the service through the command line. The problem is that it's currently not visible in the interface if for whatever reason one of the instances fails to start.

It would be great if we can somehow log the output of the rc.d script and show if something goes wrong (basically as soon as there is any output with the start command there is an issue).

I was thinking about this as well, but I found it better to leave this as examples on the online docs.

Understand; we may want to make a link to the docs from the config page? It's more of a generic question for pfsense how intuitive we want to make it :-)

Regarding the install issue on 2.7, you won't be able to install it there just yet. This is based on snapshots which are not yet public. I'll include an updated 2.6 pkg on the redmine with the latest fixes.

Makes sense, thanks.

@gzesku
Copy link

gzesku commented Sep 21, 2022

Thanks for the port!
Couldn't make it work yet (still can't cast youtube and netflix, maybe something on firewall is blocking me?) but found some bugs already:

  1. tickbox to select all configured instances doesn't work
  2. adding a new instance with different settings to the existing one doesn't work - pkg simply creates a copy of an existing instance instead (tried adding ID=1 for Chromecast and then ID=2 for SSDP but ended up with two ID=1 Chromecast instances)
  3. something's also wrong with deleting them - have two ID=1 instances on a list (can edit both and they have the same settings) but when I delete the one from the bottom list refreshes to show ID=2 instance
    Tested on 2.6 with 0.1_4 from https://redmine.pfsense.org/issues/10818#note-16

@marcos-ng
Copy link
Collaborator Author

marcos-ng commented Sep 21, 2022

That's odd since all of that worked when I checked. I'll check both versions. Thanks for testing.

Edit: All good now - didn't unset referenced value after foreach loop; test pkg on redmine has been updated.

@gzesku
Copy link

gzesku commented Sep 22, 2022

Thanks for the update!

With the latest update I can now see unique instances on a list however when I edit ID of any of them it doesn't change the existing one but creates a new entry instead - is this intentional?
Also, selecting all still doesn't work :)

@marcos-ng
Copy link
Collaborator Author

marcos-ng commented Sep 22, 2022

Hmm, selecting all and deleting has worked for me the entire time. If you edit the ID and that ID doesn't exist, it will indeed create a new entry. That part will be addressed once duplicate/conflicting entries are handled.

Edit: Clicking the select all checkbox works for me on both Chromium and Firefox.

@marcos-ng
Copy link
Collaborator Author

marcos-ng commented Sep 22, 2022

I've added duplicates checking based on instance ID and port numbers.

It would be great if we can somehow log the output of the rc.d script and show if something goes wrong (basically as soon as there is any output with the start command there is an issue).

There's /usr/bin/logger, but it would mean capturing the output and dealing with that complexity. I'm open to code suggestions :) For now at least, there's input validation for interfaces without addresses.

Understand; we may want to make a link to the docs from the config page?

All pages include a dynamic help link. In this case, it's /help.php?page=udpbroadcastrelay.php - the docs would go there.

@remkolems
Copy link

remkolems commented Sep 24, 2022

Can/May I help debug and thoroughly test this package?

I'm currently/actually as of this moment in the process of configuring all kinds of multicast and broadcast for various devices in my network (utter pain), including the ones in the documentation as well as Weatherflow (udp broadcast port 50222), Unifi Cloud Key Protect (udp broadcast port 10001) and a couple of others.

Previous experience
Package install was based on https://www.freshports.org/net/udpbroadcastrelay/

Up until now I tried to use two instances based upon the following shell commands ( source -> https://forum.netgate.com/topic/155698/how-can-i-get-this-udp-relay-package-for-casting-across-vlans/75?loggedin=true ):
/usr/bin/nohup /usr/local/sbin/udpbroadcastrelay --id 50222 --port 50222 --dev ixl0 --dev ixl0.30
/usr/bin/nohup /usr/local/sbin/udpbroadcastrelay --id 10001 --port 10001 --dev ixl0 --dev ixl0.40

ixl0 == main LAN
ixl0.n0 == VLANs

Only one instance seems to be valid at the moment and reboots of pfSense will not be survived.

Software details
Netgate pfSense Plus
22.05-RELEASE (amd64)
built on Wed Jun 22 18:56:13 UTC 2022
FreeBSD 12.3-STABLE
Intel(R) Xeon(R) CPU D-1521 @ 2.40GHz

@remkolems
Copy link

I installed pfSense-pkg-udpbroadcastrelay-0.1_5.pkg on pfSense Plus 22.05.

Configured as on the left. pfTop on the right.
image

Executed the following command (shell).
/usr/bin/nohup /usr/local/sbin/udpbroadcastrelay --id 50222 --port 50222 --dev ixl0 --dev ixl0.30

Watch pfTop.
image

I'm missing the entry within red with the pfSense-pkg-udpbroadcastrelay-0.1_5.pkg.

@marcos-ng
Copy link
Collaborator Author

marcos-ng commented Sep 24, 2022

I'm missing the entry within red with the pfSense-pkg-udpbroadcastrelay-0.1_5.pkg.

If you add -f at the end of the command, does the missing entry still show?

@djonk
Copy link

djonk commented Sep 25, 2022

Just installed the latest package on a fresh install of DEVEL branch on FreeBSD 14. Configuration through the interface works without any issues. The /usr/local/etc/rc.d/udpbroadcastrelay.sh is not generated with config changes.

This is the configuration.

                <udpbroadcastrelay>
                        <config>
                                <enable>yes</enable>
                                <carpstatusvid>none</carpstatusvid>
                                <item>
                                        <id>1</id>
                                        <description><![CDATA[mDNS]]></description>
                                        <port>5353</port>
                                        <interfaces>opt1,opt2</interfaces>
                                        <spoof>1</spoof>
                                        <multicast>224.0.0.251</multicast>
                                        <enable>yes</enable>
                                </item>
                                <item>
                                        <id>2</id>
                                        <description><![CDATA[SSDP]]></description>
                                        <port>1900</port>
                                        <interfaces>opt1,opt2</interfaces>
                                        <spoof>0</spoof>
                                        <multicast>239.255.255.250</multicast>
                                        <enable>yes</enable>
                                </item>
                                <item>
                                        <id>4</id>
                                        <description><![CDATA[IoT broadcast]]></description>
                                        <port>9999</port>
                                        <interfaces>opt1,opt2,opt3</interfaces>
                                        <spoof>0</spoof>
                                        <multicast></multicast>
                                        <enable>yes</enable>
                                </item>
                        </config>
                </udpbroadcastrelay>

Screen Shot 2022-09-25 at 9 41 32 AM

@marcos-ng
Copy link
Collaborator Author

The /usr/local/etc/rc.d/udpbroadcastrelay.sh is not generated with config changes.

Thanks! Copy/paste typo - should be good now.

@djonk
Copy link

djonk commented Sep 25, 2022

Thanks! Copy/paste typo - should be good now.

Thanks! The latest version on Redmine still has this issue - did you already publish a new package? https://redmine.pfsense.org/attachments/4449

@marcos-ng
Copy link
Collaborator Author

marcos-ng commented Sep 25, 2022

Yes - the name is still the same so make sure to replace the old file. The change was on this line which now uses $instance:
https://github.com/pfsense/FreeBSD-ports/pull/1189/files#diff-879e9c4c8b2c9f7672ba39ce5862eaecfd159617871a24fd0c320e0c7c0b2795R220

if (udpbr_validate_config($instance, true, true, false, $available_interfaces)) {

I tried both 22.05 and 22.11 and the file was created correctly.

@djonk
Copy link

djonk commented Sep 25, 2022

I tried both 22.05 and 22.11 and the file was created correctly.

Excellent, confirmed to work on 22.11 (did not try 22.05).

@remkolems
Copy link

Confirmed working on 22.05 (pfSense Plus). I'm happy, thank you!

Also solved (it is running)
image

Final touches request
Entry under System | Package Manager | Installed Packages with version of this package

@remkolems
Copy link

remkolems commented Sep 28, 2022

Just saw version 1.0 over at Redmine and I get the following error when (uninstalled previous version 0.1.5 first):

Update: made sure that there were no previous configs or any remnant left over files. Still same error is thrown as show below.

[22.05-RELEASE][admin@pfsense]/tmp/udpbroadcastrelay: pkg install pfSense-pkg-udpbroadcastrelay-1.0.pkg
Updating pfSense-core repository catalogue...
pfSense-core repository is up to date.
Updating pfSense repository catalogue...
pfSense repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        pfSense-pkg-udpbroadcastrelay: 1.0 [unknown-repository]
        udpbroadcastrelay: 0.3.b [pfSense]

Number of packages to be installed: 2

Proceed with this action? [y/N]: y
[1/1] Installing udpbroadcastrelay-0.3.b...
Extracting udpbroadcastrelay-0.3.b: 100%
[1/2] Installing pfSense-pkg-udpbroadcastrelay-1.0...
[1/2] Extracting pfSense-pkg-udpbroadcastrelay-1.0: 100%
Saving updated package information...
done.
Loading package configuration... done.
Configuring package components...
Loading package instructions...
Custom commands...
Executing custom_php_resync_config_command()...
Fatal error: Uncaught Error: Call to undefined function config_path_enabled() in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc:440
Stack trace:
#0 /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc(214): udpbr_get_settings(true)
#1 /etc/inc/pkg-utils.inc(810) : eval()'d code(1): udpbr_resync()
#2 /etc/inc/pkg-utils.inc(810): eval()
#3 /etc/inc/pkg-utils.inc(936): eval_once('udpbr_resync();')
#4 /etc/rc.packages(76): install_package_xml('udpbroadcastrel...')
#5 {main}
  thrown in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc on line 440
PHP ERROR: Type: 1, File: /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc, Line: 440, Message: Uncaught Error: Call to undefined function config_path_enabled() in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc:440
Stack trace:
#0 /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc(214): udpbr_get_settings(true)
#1 /etc/inc/pkg-utils.inc(810) : eval()'d code(1): udpbr_resync()
#2 /etc/inc/pkg-utils.inc(810): eval()
#3 /etc/inc/pkg-utils.inc(936): eval_once('udpbr_resync();')
#4 /etc/rc.packages(76): install_package_xml('udpbroadcastrel...')
#5 {main}
  thrownpkg: POST-INSTALL script failed

whereas

[22.05-RELEASE][admin@pfsense]/tmp/udpbroadcastrelay: pkg install pfSense-pkg-udpbroadcastrelay-0.1_5.pkg 
Updating pfSense-core repository catalogue...
pfSense-core repository is up to date.
Updating pfSense repository catalogue...
pfSense repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        pfSense-pkg-udpbroadcastrelay: 0.1_5 [unknown-repository]
        udpbroadcastrelay: 0.3.b [pfSense]

Number of packages to be installed: 2

Proceed with this action? [y/N]: y
[1/1] Installing udpbroadcastrelay-0.3.b...
Extracting udpbroadcastrelay-0.3.b: 100%
[1/2] Installing pfSense-pkg-udpbroadcastrelay-0.1_5...
[1/2] Extracting pfSense-pkg-udpbroadcastrelay-0.1_5: 100%
Saving updated package information...
done.
Loading package configuration... done.
Configuring package components...
Loading package instructions...
Custom commands...
Executing custom_php_resync_config_command()...done.
Menu items... done.
Services... done.
Writing configuration... done.

@marcos-ng
Copy link
Collaborator Author

1.0 is only for dev branch.

@lars-0211
Copy link

1.0 is only for dev branch.

I'm actually getting the same error on 22.09-DEV.
Any idea what I'm doing wrong?
Trying this on a Netgate SG2100.

Thanks,
Lars

[22.09-DEVELOPMENT][admin@pfSense.xx]/root: pkg install /tmp/pfSense-pkg-udpbroadcastrelay-1.0.pkg
Updating pfSense-core repository catalogue...
pfSense-core repository is up to date.
Updating pfSense repository catalogue...
pfSense repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        pfSense-pkg-udpbroadcastrelay: 1.0 [unknown-repository]
        udpbroadcastrelay: 0.3.b [pfSense]

Number of packages to be installed: 2

Proceed with this action? [y/N]: y
[1/1] Installing udpbroadcastrelay-0.3.b...
Extracting udpbroadcastrelay-0.3.b: 100%
[1/2] Installing pfSense-pkg-udpbroadcastrelay-1.0...
[1/2] Extracting pfSense-pkg-udpbroadcastrelay-1.0: 100%
Saving updated package information...
done.
Loading package configuration... done.
Configuring package components...
Loading package instructions...
Custom commands...
Executing custom_php_resync_config_command()...
Fatal error: Uncaught Error: Call to undefined function config_get_path() in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc:443
Stack trace:
#0 /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc(211): udpbr_get_settings(true)
#1 /etc/inc/pkg-utils.inc(810) : eval()'d code(1): udpbr_resync()
#2 /etc/inc/pkg-utils.inc(810): eval()
#3 /etc/inc/pkg-utils.inc(936): eval_once('udpbr_resync();')
#4 /etc/rc.packages(76): install_package_xml('udpbroadcastrel...')
#5 {main}
  thrown in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc on line 443
PHP ERROR: Type: 1, File: /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc, Line: 443, Message: Uncaught Error: Call to undefined function config_get_path() in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc:443
Stack trace:
#0 /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc(211): udpbr_get_settings(true)
#1 /etc/inc/pkg-utils.inc(810) : eval()'d code(1): udpbr_resync()
#2 /etc/inc/pkg-utils.inc(810): eval()
#3 /etc/inc/pkg-utils.inc(936): eval_once('udpbr_resync();')
#4 /etc/rc.packages(76): install_package_xml('udpbroadcastrel...')
#5 {main}
  thrownpkg: POST-INSTALL script failed

@marcos-ng
Copy link
Collaborator Author

marcos-ng commented Oct 6, 2022

You must run dev 22.11, not 22.09.

@genhwe
Copy link

genhwe commented Oct 11, 2022

So glad you sirs are developing this. Thank you very much.

However, my only issue right now is I cant add wireguard interface. Any solution to this?

@GD-Dal
Copy link

GD-Dal commented Oct 21, 2022

Thanks for doing this.
But I cannot really tell if it works or not. My Google Nest hub (speaker?) still cannot speak to my Home Assistant server on another subnet.
Firewall rules are in place, but no.
I'm thinking it's because I use IPv6, and all devices always prefer IPv6 over IPv4 when given the opportunity.
Is IPv6 broadcast supported?
There is really no way to tell if this works or not.
So this are my suggestions:

  • Put in a hit counter for each instance, so it's easier to see if traffic hits the instance or not
  • Option to put both IPv4 and IPv6 into same instance / rule.
    Like this:
    <item> <id>1</id> <description><![CDATA[mDNS]]></description> <port>5353</port> <interfaces>opt1,opt2</interfaces> <spoof>1</spoof> <multicast>224.0.0.251, FF05::C</multicast> <enable>yes</enable> </item>

Thanks again

@GD-Dal
Copy link

GD-Dal commented Oct 21, 2022

Just installed the latest package on a fresh install of DEVEL branch on FreeBSD 14. Configuration through the interface works without any issues. The /usr/local/etc/rc.d/udpbroadcastrelay.sh is not generated with config changes.

This is the configuration.

                <udpbroadcastrelay>
                        <config>
                                <enable>yes</enable>
                                <carpstatusvid>none</carpstatusvid>
                                <item>
                                        <id>1</id>
                                        <description><![CDATA[mDNS]]></description>
                                        <port>5353</port>
                                        <interfaces>opt1,opt2</interfaces>
                                        <spoof>1</spoof>
                                        <multicast>224.0.0.251</multicast>
                                        <enable>yes</enable>
                                </item>
                                <item>
                                        <id>2</id>
                                        <description><![CDATA[SSDP]]></description>
                                        <port>1900</port>
                                        <interfaces>opt1,opt2</interfaces>
                                        <spoof>0</spoof>
                                        <multicast>239.255.255.250</multicast>
                                        <enable>yes</enable>
                                </item>
                                <item>
                                        <id>4</id>
                                        <description><![CDATA[IoT broadcast]]></description>
                                        <port>9999</port>
                                        <interfaces>opt1,opt2,opt3</interfaces>
                                        <spoof>0</spoof>
                                        <multicast></multicast>
                                        <enable>yes</enable>
                                </item>
                        </config>
                </udpbroadcastrelay>
Screen Shot 2022-09-25 at 9 41 32 AM

Does this mean I can configure all instances via /usr/local/etc/rc.d/udpbroadcastrelay.sh?
There is no udpbroadcastrelay.sh file there now even if I have 3 instances configured through the web interface.

Thanks

@marcos-ng
Copy link
Collaborator Author

marcos-ng commented Oct 21, 2022

However, my only issue right now is I cant add wireguard interface. Any solution to this?

I'll look into this. Edit: Wireguard interfaces do not support broadcast.

Is IPv6 broadcast supported?

I don't recall any mention of IPv6 multicast support. Edit: There is no IPv6 support.

Does this mean I can configure all instances via /usr/local/etc/rc.d/udpbroadcastrelay.sh?

No. Try running the command manually to see if/where it fails.

@marcos-ng
Copy link
Collaborator Author

marcos-ng commented Oct 31, 2022

@djonk
I tried capturing the error output but am not happy with how it works hence I have not added it. For example:

$run_command = udpbr_get_command($instance);
if (!empty($run_command)) {
    $run_script = <<<SSCRIPT
    commandoutput=\$({$run_command} 2>&1 >/dev/null)
    /usr/bin/logger -t udpbroadcastrelay "Starting instance {$instance['id']}: \${commandoutput}"
    SSCRIPT;

    $run_commands[] = $run_script;
}

This would log the ioctl error to the system log, but having an instance run successfully would result in an extra process:
15742 root 50 0 13M 3092K piperd 2 0:00 0.00% /bin/sh /usr/local/etc/rc.d/udpbroadcastrelay.sh start

Edit: I ended up using a temporary file to capture the message.

@Dash
Copy link

Dash commented Nov 1, 2022

On 2.6, where does one find the udpbroadcastrelay application package? Installing this package manually results in a missing dependency.

@String-656
Copy link

Following this thread, out of interest is it "good to go?" and just waiting merge / new release of PFsense? or is there still some items to test?

@deanjarnold
Copy link

Just put a comment on redmine. The 1.0 packaged worked well for me on 2.7.0/devel snapshots; initial and update configurations through UI.

Thank you for creating this package.

@marcos-ng marcos-ng closed this Dec 26, 2022
@marcos-ng marcos-ng deleted the udpbr branch December 26, 2022 00:15
@marcos-ng
Copy link
Collaborator Author

Keeping track of this in a separate internal MR to make things easier - closing this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
10 participants