Skip to content

Commit

Permalink
geneve: T5339: add option to use ipv4 instead of ethernet
Browse files Browse the repository at this point in the history
  • Loading branch information
fett0 authored Jul 5, 2023
1 parent 8afdb5a commit e47668d
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<!-- include start from interface/parameters-innerproto.xml.i -->
<leafNode name="innerproto">
<properties>
<help>Use IPv4 as inner protocol instead of Ethernet</help>
<valueless/>
</properties>
</leafNode>
<!-- include end -->
1 change: 1 addition & 0 deletions interface-definitions/interfaces-geneve.xml.in
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
#include <include/interface/parameters-df.xml.i>
#include <include/interface/parameters-tos.xml.i>
#include <include/interface/parameters-ttl.xml.i>
#include <include/interface/parameters-innerproto.xml.i>
</children>
</node>
<node name="ipv6">
Expand Down
1 change: 1 addition & 0 deletions python/vyos/ifconfig/geneve.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ def _create(self):
'parameters.ip.df' : 'df',
'parameters.ip.tos' : 'tos',
'parameters.ip.ttl' : 'ttl',
'parameters.ip.innerproto' : 'innerprotoinherit',
'parameters.ipv6.flowlabel' : 'flowlabel',
}

Expand Down
6 changes: 6 additions & 0 deletions smoketest/scripts/cli/test_interfaces_geneve.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ def test_geneve_parameters(self):

self.cli_set(self._base_path + [intf, 'parameters', 'ip', 'df', 'set'])
self.cli_set(self._base_path + [intf, 'parameters', 'ip', 'tos', tos])
self.cli_set(self._base_path + [intf, 'parameters', 'ip', 'innerproto'])
self.cli_set(self._base_path + [intf, 'parameters', 'ip', 'ttl', str(ttl)])
ttl += 10

Expand All @@ -67,6 +68,11 @@ def test_geneve_parameters(self):
label = options['linkinfo']['info_data']['label']
self.assertIn(f'parameters ipv6 flowlabel {label}', self._options[interface])

if any('innerproto' in s for s in self._options[interface]):
inner = options['linkinfo']['info_data']['innerproto']
self.assertIn(f'parameters ip {inner}', self._options[interface])


self.assertEqual('geneve', options['linkinfo']['info_kind'])
self.assertEqual('set', options['linkinfo']['info_data']['df'])
self.assertEqual(f'0x{tos}', options['linkinfo']['info_data']['tos'])
Expand Down

0 comments on commit e47668d

Please sign in to comment.