]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/network/netdev/geneve.h
networkd: Geneve add support configure IP don't fragment
[thirdparty/systemd.git] / src / network / netdev / geneve.h
index c201981e02110b62b270c06d5c2c19a73d8baa8c..5f2f27c9bb395f55f64d3cc2fa8b1e909df2a102 100644 (file)
@@ -10,6 +10,14 @@ typedef struct Geneve Geneve;
 
 #define GENEVE_VID_MAX (1u << 24) - 1
 
+typedef enum GeneveDF {
+        NETDEV_GENEVE_DF_NO = GENEVE_DF_UNSET,
+        NETDEV_GENEVE_DF_YES = GENEVE_DF_SET,
+        NETDEV_GENEVE_DF_INHERIT = GENEVE_DF_INHERIT,
+        _NETDEV_GENEVE_DF_MAX,
+        _NETDEV_GENEVE_DF_INVALID = -1
+} GeneveDF;
+
 struct Geneve {
         NetDev meta;
 
@@ -27,12 +35,17 @@ struct Geneve {
         bool udp6zerocsumtx;
         bool udp6zerocsumrx;
 
+        GeneveDF geneve_df;
         union in_addr_union remote;
 };
 
 DEFINE_NETDEV_CAST(GENEVE, Geneve);
 extern const NetDevVTable geneve_vtable;
 
+const char *geneve_df_to_string(GeneveDF d) _const_;
+GeneveDF geneve_df_from_string(const char *d) _pure_;
+
 CONFIG_PARSER_PROTOTYPE(config_parse_geneve_vni);
 CONFIG_PARSER_PROTOTYPE(config_parse_geneve_address);
 CONFIG_PARSER_PROTOTYPE(config_parse_geneve_flow_label);
+CONFIG_PARSER_PROTOTYPE(config_parse_geneve_df);