]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/network/netdev/geneve.h
tree-wide: drop copyright headers from frequent contributors
[thirdparty/systemd.git] / src / network / netdev / geneve.h
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
6598e046
SS
2#pragma once
3
6598e046
SS
4
5typedef struct Geneve Geneve;
6
7#include "in-addr-util.h"
8#include "netdev.h"
9#include "networkd-link.h"
10#include "networkd-network.h"
6598e046
SS
11
12#define GENEVE_VID_MAX (1u << 24) - 1
13
14struct Geneve {
15 NetDev meta;
16
17 uint32_t id;
18 uint32_t flow_label;
19
20 int remote_family;
21
22 uint8_t tos;
23 uint8_t ttl;
24
25 uint16_t dest_port;
26
27 bool udpcsum;
28 bool udp6zerocsumtx;
29 bool udp6zerocsumrx;
30
31 union in_addr_union remote;
32};
33
34DEFINE_NETDEV_CAST(GENEVE, Geneve);
35extern const NetDevVTable geneve_vtable;
36
37int config_parse_geneve_vni(const char *unit,
38 const char *filename,
39 unsigned line,
40 const char *section,
41 unsigned section_line,
42 const char *lvalue,
43 int ltype,
44 const char *rvalue,
45 void *data,
46 void *userdata);
47
6598e046
SS
48int config_parse_geneve_address(const char *unit,
49 const char *filename,
50 unsigned line,
51 const char *section,
52 unsigned section_line,
53 const char *lvalue,
54 int ltype,
55 const char *rvalue,
56 void *data,
57 void *userdata);
58
6598e046
SS
59int config_parse_geneve_flow_label(const char *unit,
60 const char *filename,
61 unsigned line,
62 const char *section,
63 unsigned section_line,
64 const char *lvalue,
65 int ltype,
66 const char *rvalue,
67 void *data,
68 void *userdata);