OpenVPN
vlan.h
Go to the documentation of this file.
1/*
2 * OpenVPN -- An application to securely tunnel IP networks
3 * over a single TCP/UDP port, with support for SSL/TLS-based
4 * session authentication and key exchange,
5 * packet encryption, packet authentication, and
6 * packet compression.
7 *
8 * Copyright (C) 2002-2025 OpenVPN Technologies, Inc. <sales@openvpn.net>
9 * Copyright (C) 2010 Fabian Knittel <fabian.knittel@lettink.de>
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2
13 * as published by the Free Software Foundation.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License along
21 * with this program; if not, see <https://www.gnu.org/licenses/>.
22 */
23
24#ifndef VLAN_H
25#define VLAN_H
26
27#include "buffer.h"
28#include "mroute.h"
29#include "openvpn.h"
30
31struct multi_context;
32struct multi_instance;
33
34int16_t vlan_decapsulate(const struct context *c, struct buffer *buf);
35
36bool vlan_is_tagged(const struct buffer *buf);
37
39
40#endif /* VLAN_H */
Wrapper structure for dynamically allocated memory.
Definition buffer.h:60
Contains all state information for one tunnel.
Definition openvpn.h:474
Main OpenVPN server state structure.
Definition multi.h:164
Server-mode state structure for one single VPN tunnel.
Definition multi.h:103
int16_t vlan_decapsulate(const struct context *c, struct buffer *buf)
Definition vlan.c:81
void vlan_process_outgoing_tun(struct multi_context *m, struct multi_instance *mi)
Definition vlan.c:291
bool vlan_is_tagged(const struct buffer *buf)
Definition vlan.c:261