X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fvirt.h;h=e7d1306f134bde39362aecb267604fe5b73e8031;hp=aa6ad35ba9db58d6c094ec1adf6a862a8e28f97b;hb=c0434076fbe643d3830b00de233900b8f828dbde;hpb=c2f1db8f83618e60dcded8303d14656d7d26b436 diff --git a/src/shared/virt.h b/src/shared/virt.h index aa6ad35ba..e7d1306f1 100644 --- a/src/shared/virt.h +++ b/src/shared/virt.h @@ -1,11 +1,9 @@ /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -#pragma once - /*** This file is part of systemd. - Copyright 2011 Lennart Poettering + Copyright 2014 Tom Gundersen systemd is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -21,15 +19,48 @@ along with systemd; If not, see . ***/ -int detect_vm(const char **id); -int detect_container(const char **id); +#pragma once + +typedef struct VxLan VxLan; + +#include "networkd-netdev.h" + +#include "in-addr-util.h" + +#define VXLAN_VID_MAX (1u << 24) - 1 + +struct VxLan { + NetDev meta; + + uint64_t id; + + int family; + union in_addr_union group; + + unsigned tos; + unsigned ttl; + + usec_t fdb_ageing; + + bool learning; + bool arp_proxy; + bool route_short_circuit; + bool l2miss; + bool l3miss; + bool udpcsum; + bool udp6zerocsumtx; + bool udp6zerocsumrx; +}; -typedef enum Virtualization { - VIRTUALIZATION_NONE = 0, - VIRTUALIZATION_VM, - VIRTUALIZATION_CONTAINER, - _VIRTUALIZATION_MAX, - _VIRTUALIZATION_INVALID = -1 -} Virtualization; +extern const NetDevVTable vxlan_vtable; -Virtualization detect_virtualization(const char **id); +int config_parse_vxlan_group_address(const char *unit, + const char *filename, + unsigned line, + const char *section, + unsigned section_line, + const char *lvalue, + int ltype, + const char *rvalue, + void *data, + void *userdata);