Function prototypes for proxy.c
.
More...
Go to the source code of this file.
Functions | |
void | proxy (struct iface_t *ifaces) |
Main event loop. More... | |
Function prototypes for proxy.c
.
void proxy | ( | struct iface_t * | ifaces | ) |
Main event loop.
The loop flow approximates the following:
packet
) on a configured interface (iface
). packet
is an Ethernet frame containing an EAPOL MPDU and iface
is a network interface configured in the config file.packet
is the first EAPOL packet to be received on iface
, and any other interfaces are configured to have their MAC address set from the source MAC address of such a packet:packet
entirely and restart the loop.iface
has an ingress script defined matching the EAPOL Packet Type or EAP Code of packet
, execute the ingress script.iface
has an ingress filter defined matching packet
, apply the ingress filter (i.e. drop packet
entirely and restart the loop).eiface
):packet
(epacket
).eiface
has a dot1q option defined, add/change/remove the 802.1Q VLAN tag in epacket
.eiface
has an egress filter defined matching epacket
, apply the egress filter. epacket
entirely on eiface
and moving on to proxying packet
on the next egress interface.eiface
has an egress script defined matching epacket
, execute the egress script.epacket
on eiface
.ifaces | Pointer to a list of struct iface_t structures representing network interfaces |