X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fshared%2Fvirt.h;h=e7d1306f134bde39362aecb267604fe5b73e8031;hb=c0434076fbe643d3830b00de233900b8f828dbde;hp=f55c9a68fdd5bfee841e6f6df6aedf0edce75827;hpb=d7832d2c6e0ef5f2839a2296c1cc2fc85c7d9632;p=elogind.git diff --git a/src/shared/virt.h b/src/shared/virt.h index f55c9a68f..e7d1306f1 100644 --- a/src/shared/virt.h +++ b/src/shared/virt.h @@ -1,38 +1,66 @@ /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -#ifndef foovirthfoo -#define foovirthfoo - /*** 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 General Public License as published by - the Free Software Foundation; either version 2 of the License, or + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. systemd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License 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; -typedef enum Virtualization { - VIRTUALIZATION_NONE = 0, - VIRTUALIZATION_VM, - VIRTUALIZATION_CONTAINER, - _VIRTUALIZATION_MAX, - _VIRTUALIZATION_INVALID = -1 -} Virtualization; + bool learning; + bool arp_proxy; + bool route_short_circuit; + bool l2miss; + bool l3miss; + bool udpcsum; + bool udp6zerocsumtx; + bool udp6zerocsumrx; +}; -Virtualization detect_virtualization(const char **id); +extern const NetDevVTable vxlan_vtable; -#endif +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);