1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3 
4 #include <stdbool.h>
5 #include <inttypes.h>
6 
7 #include "conf-parser.h"
8 
9 #define VLANID_MAX 4094
10 #define VLANID_INVALID UINT16_MAX
11 
12 /* Note that we permit VLAN Id 0 here, as that is apparently OK by the Linux kernel */
vlanid_is_valid(uint16_t id)13 static inline bool vlanid_is_valid(uint16_t id) {
14         return id <= VLANID_MAX;
15 }
16 
17 int parse_vlanid(const char *p, uint16_t *ret);
18 int parse_vid_range(const char *p, uint16_t *vid, uint16_t *vid_end);
19 
20 CONFIG_PARSER_PROTOTYPE(config_parse_default_port_vlanid);
21 CONFIG_PARSER_PROTOTYPE(config_parse_vlanid);
22