2017-11-18 17:09:20 +01:00
|
|
|
/* SPDX-License-Identifier: LGPL-2.1+ */
|
2016-06-09 18:55:16 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include <inttypes.h>
|
|
|
|
|
2018-05-22 13:10:17 +02:00
|
|
|
#include "conf-parser.h"
|
|
|
|
|
2016-06-09 18:55:16 +02:00
|
|
|
#define VLANID_MAX 4094
|
|
|
|
#define VLANID_INVALID UINT16_MAX
|
|
|
|
|
|
|
|
/* Note that we permit VLAN Id 0 here, as that is apparently OK by the Linux kernel */
|
|
|
|
static inline bool vlanid_is_valid(uint16_t id) {
|
|
|
|
return id <= VLANID_MAX;
|
|
|
|
}
|
|
|
|
|
|
|
|
int parse_vlanid(const char *p, uint16_t *ret);
|
2019-07-04 22:37:25 +02:00
|
|
|
int parse_vid_range(const char *p, uint16_t *vid, uint16_t *vid_end);
|
2016-06-09 18:55:16 +02:00
|
|
|
|
2018-05-22 13:10:17 +02:00
|
|
|
CONFIG_PARSER_PROTOTYPE(config_parse_default_port_vlanid);
|
|
|
|
CONFIG_PARSER_PROTOTYPE(config_parse_vlanid);
|