> For the complete documentation index, see [llms.txt](https://syslog-macos-testing.gitbook.io/syslog-macos-testing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://syslog-macos-testing.gitbook.io/syslog-macos-testing/modules/afsocket/unix-dgram-source-destination-driver.md).

# unix-dgram() Source/Destination Driver

The unix-dgram() source driver open an AF\_UNIX socket and start listening on it for messages. Whereas unix-dgram() destination driver send messages to a UNIX domain socket.

### Important Information

Unix-dgram() is used on BSDs and uses SOCK\_DGRAM semantics: this may result in lost local messages if the system is overloaded.&#x20;

In the official documentation, `/dev/log` is the default entry for system logging. This, in fact, is a **socket**, not a regular file or a pipe. MacOS, however, uses `/var/run/syslog`  for the same. This needs to be kept in mind while referring to the documentation.

### Status

| x86 | Works |
| :-: | :---: |
| ARM | Works |

### How to Test

To test the unix-dgram() drivers, we will run two instances of syslog-ng. One where we are transmitting data to a socket using the unix-dgram() destination driver that needs to be tested. And another that will listen for the data on the socket using the unix-stream() source driver.

***Source Configuration File***

```
@version: 3.31
@include "scl.conf"

options {
    stats-freq(10);
    time-reopen(10);
};

source s_dgram {
    unix-dgram("/var/run/syslog");
};

destination console{
    file(/dev/stdout);
};

log {
    source(s_dgram);
    destination(console);
};
```

> **Note: We need to run the source driver first as it will open the socket to which the destination driver connects to.**&#x20;

***Destination Configuration File***

```
@version: 3.31
@include "scl.conf"

options {
    stats-freq(10);
    time-reopen(10);
};

source custom {
    example-msg-generator(
        num(20)
        freq(5)
        template("Message to Default Socket")
    );
};

destination d_dgram {
    unix-dgram("/var/run/syslog");
};

log {
    source(custom);
    destination(d_dgram);
};
```

### **Proof**&#x20;

![unix-dgram() drivers tested on macOS (x86)](https://3267548193-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MaZdBoDvCx_0JwOUICk%2F-Mc0kUmM_jBLggsRWHOP%2F-Mc0kxmVMeNVP1l6UeEI%2FScreenshot%202021-06-12%20at%2010.47.07%20PM.png?alt=media\&token=cb9ec55c-7c6a-4b4c-8198-69ab06470a8e)

![unix-dgram() drivers tested on macOS (ARM)](https://3267548193-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MaZdBoDvCx_0JwOUICk%2F-Mc0lfB7obySWfE_myhA%2F-Mc0mn64Vq6ljzhnzx0k%2FScreenshot%202021-06-12%20at%2010.54.15%20PM.png?alt=media\&token=3d837077-7d75-431b-aaac-6b65b6103c72)
