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=0b6dc1a9bdf504148215d6164ca28561ac20d620;hb=c0434076fbe643d3830b00de233900b8f828dbde;hpb=5430f7f2bc7330f3088b894166bf3524a067e3d8 diff --git a/src/shared/virt.h b/src/shared/virt.h index 0b6dc1a9b..e7d1306f1 100644 --- a/src/shared/virt.h +++ b/src/shared/virt.h @@ -1,12 +1,9 @@ /*-*- 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 Lesser General Public License as published by @@ -22,17 +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; -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);