Skip to content

File syn_autoip.c

FileList > net > syn_autoip.c

Go to the source code of this file

Zero-Heap Native RFC 3927 AutoIP Engine Implementation.

  • #include "syntropic/net/syn_autoip.h"
  • #include <string.h>

Public Functions

Type Name
SYN_Status syn_autoip_build_announce (SYN_AUTOIP * autoip, const uint8_t mac_addr, uint8_t * buf_out, size_t * len_out)
Build an ARP Announcement frame to announce claimed IP.
SYN_Status syn_autoip_build_probe (SYN_AUTOIP * autoip, const uint8_t mac_addr, uint8_t * buf_out, size_t * len_out)
Build an ARP Probe frame to verify IP availability.
SYN_Status syn_autoip_init (SYN_AUTOIP * autoip, const uint8_t mac_addr)
Initialize RFC 3927 AutoIP Engine Context.
SYN_Status syn_autoip_process_arp (SYN_AUTOIP * autoip, SYN_ETH * eth, const uint8_t * arp_frame, size_t len)
Process ARP response frame during probing.

Public Functions Documentation

function syn_autoip_build_announce

Build an ARP Announcement frame to announce claimed IP.

SYN_Status syn_autoip_build_announce (
    SYN_AUTOIP * autoip,
    const uint8_t mac_addr,
    uint8_t * buf_out,
    size_t * len_out
) 

Parameters:

  • autoip Pointer to AutoIP context.
  • mac_addr 6-byte client MAC address.
  • buf_out Output frame buffer (must hold at least 60 bytes).
  • len_out Pointer to receive length.

Returns:

SYN_OK on success.


function syn_autoip_build_probe

Build an ARP Probe frame to verify IP availability.

SYN_Status syn_autoip_build_probe (
    SYN_AUTOIP * autoip,
    const uint8_t mac_addr,
    uint8_t * buf_out,
    size_t * len_out
) 

Parameters:

  • autoip Pointer to AutoIP context.
  • mac_addr 6-byte client MAC address.
  • buf_out Output frame buffer (must hold at least 60 bytes).
  • len_out Pointer to receive length.

Returns:

SYN_OK on success.


function syn_autoip_init

Initialize RFC 3927 AutoIP Engine Context.

SYN_Status syn_autoip_init (
    SYN_AUTOIP * autoip,
    const uint8_t mac_addr
) 

Parameters:

  • autoip Pointer to AutoIP context.
  • mac_addr 6-byte client MAC address (used to seed candidate IP selection).

Returns:

SYN_OK on success.


function syn_autoip_process_arp

Process ARP response frame during probing.

SYN_Status syn_autoip_process_arp (
    SYN_AUTOIP * autoip,
    SYN_ETH * eth,
    const uint8_t * arp_frame,
    size_t len
) 

Parameters:

  • autoip Pointer to AutoIP context.
  • eth Pointer to Ethernet context (auto-updated when BOUND).
  • arp_frame Pointer to received frame.
  • len Length in bytes.

Returns:

SYN_OK when BOUND, SYN_BUSY if conflict detected and new candidate picked.



The documentation for this class was generated from the following file src/syntropic/net/syn_autoip.c