<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/src/conf_mode/interfaces-vxlan.py, branch feature/T9082-codeql-cpp</title>
<subtitle>VyOS command definitions, scripts, and utilities (mirror of https://github.com/vyos/vyos-1x.git)
</subtitle>
<id>https://git.amelek.net/vyos/vyos-1x.git/atom?h=feature%2FT9082-codeql-cpp</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-1x.git/atom?h=feature%2FT9082-codeql-cpp'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/'/>
<updated>2023-12-31T22:49:48+00:00</updated>
<entry>
<title>T5474: establish common file name pattern for XML conf mode commands</title>
<updated>2023-12-31T22:49:48+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2023-12-30T22:25:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=4ef110fd2c501b718344c72d495ad7e16d2bd465'/>
<id>urn:sha1:4ef110fd2c501b718344c72d495ad7e16d2bd465</id>
<content type='text'>
We will use _ as CLI level divider. The XML definition filename and also
the Python helper should match the CLI node.

Example:
set interfaces ethernet -&gt; interfaces_ethernet.xml.in
set interfaces bond -&gt; interfaces_bond.xml.in
set service dhcp-server -&gt; service_dhcp-server-xml.in
</content>
</entry>
<entry>
<title>vxlan: T5753: add support for VNI filtering</title>
<updated>2023-11-18T20:24:40+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2023-11-16T21:16:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=35f6033d21053fa420e837f157cd9377a4ccd26a'/>
<id>urn:sha1:35f6033d21053fa420e837f157cd9377a4ccd26a</id>
<content type='text'>
In a service provider network a service provider typically supports multiple
bridge domains with overlapping vlans. One bridge domain per customer. Vlans in
each bridge domain are mapped to globally unique VXLAN VNI ranges assigned to
each customer.

Without the ability of VNI filtering, we can not provide VXLAN tunnels
with multiple tenants all requiring e.g. VLAN 10.

To Test:

set interfaces vxlan vxlan987 parameters external
set interfaces vxlan vxlan987 source-interface eth0
set interfaces vxlan vxlan987 parameters vni-filter
set interfaces vxlan vxlan987 vlan-to-vni 50 vni 10050
set interfaces vxlan vxlan987 vlan-to-vni 51 vni 10051
set interfaces vxlan vxlan987 vlan-to-vni 52 vni 10052
set interfaces vxlan vxlan987 vlan-to-vni 53 vni 10053
set interfaces vxlan vxlan987 vlan-to-vni 54 vni 10054
set interfaces vxlan vxlan987 vlan-to-vni 60 vni 10060
set interfaces vxlan vxlan987 vlan-to-vni 69 vni 10069
set interfaces bridge br0 member interface vxlan987

Add new op-mode command: show bridge vni

Interface    VNI
-----------  -----------
vxlan987     10050-10054
vxlan987     10060
vxlan987     10069
</content>
</entry>
<entry>
<title>Merge pull request #2413 from c-po/t5668-vxlan</title>
<updated>2023-10-31T05:59:28+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2023-10-31T05:59:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=82a0067ca2d40456545befbbaa84b2a52a81ada2'/>
<id>urn:sha1:82a0067ca2d40456545befbbaa84b2a52a81ada2</id>
<content type='text'>
vxlan: T5668: add CLI knob to enable ARP/ND suppression</content>
</entry>
<entry>
<title>vxlan: T5699: migrate "external" CLI know to "parameters external"</title>
<updated>2023-10-30T15:31:54+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2023-10-30T15:23:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=cc7ba8824a5e9ec818f0bbe7fb85e1713a591527'/>
<id>urn:sha1:cc7ba8824a5e9ec818f0bbe7fb85e1713a591527</id>
<content type='text'>
As we have a bunch of options under "paramteres" already and "external" is
clearly one of them it should be migrated under that node as well.
</content>
</entry>
<entry>
<title>vxlan: T5668: add CLI knob to enable ARP/ND suppression</title>
<updated>2023-10-30T15:20:56+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2023-10-28T18:57:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=ec9a95502daa88b9632af12524e7cefebf86bab6'/>
<id>urn:sha1:ec9a95502daa88b9632af12524e7cefebf86bab6</id>
<content type='text'>
In order to minimize the flooding of ARP and ND messages in the VXLAN network,
EVPN includes provisions [1] that allow participating VTEPs to suppress such
messages in case they know the MAC-IP binding and can reply on behalf of the
remote host. In Linux, the above is implemented in the bridge driver using a
per-port option called "neigh_suppress" that was added in kernel version 4.15.

[1] https://www.rfc-editor.org/rfc/rfc7432#section-10
</content>
</entry>
<entry>
<title>vxlan: T5671: warn about changed default port number</title>
<updated>2023-10-22T16:41:47+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2023-10-22T16:40:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=719a3622f35a0596ffd8a0bd28c071fdaf930153'/>
<id>urn:sha1:719a3622f35a0596ffd8a0bd28c071fdaf930153</id>
<content type='text'>
</content>
</entry>
<entry>
<title>vxlan: T3700: support VLAN tunnel mapping of VLAN aware bridges</title>
<updated>2023-09-09T05:15:58+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2023-09-09T05:13:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=7f6624f5a6f8bd1749b54103ea5ec9f010adf778'/>
<id>urn:sha1:7f6624f5a6f8bd1749b54103ea5ec9f010adf778</id>
<content type='text'>
FRR supports a new way of configuring VLAN-to-VNI mappings for EVPN-VXLAN, when
working with the Linux kernel. In this new way, the mapping of a VLAN to a VNI
is configured against a container VXLAN interface which is referred to as a
'Single VXLAN device (SVD)'.

Multiple VLAN to VNI mappings can be configured against the same SVD. This
allows for a significant scaling of the number of VNIs since a separate VXLAN
interface is no longer required for each VNI.

Sample configuration of SVD with VLAN to VNI mappings is shown below.

set interfaces bridge br0 member interface vxlan0
set interfaces vxlan vxlan0 external
set interfaces vxlan vxlan0 source-interface 'dum0'
set interfaces vxlan vxlan0 vlan-to-vni 10 vni '10010'
set interfaces vxlan vxlan0 vlan-to-vni 11 vni '10011'
set interfaces vxlan vxlan0 vlan-to-vni 30 vni '10030'
set interfaces vxlan vxlan0 vlan-to-vni 31 vni '10031'
</content>
</entry>
<entry>
<title>vxlan: T5429: source-interface is not honored and throws config error</title>
<updated>2023-08-02T20:58:56+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2023-08-02T20:58:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=8f161eaae78769e5a1d573e43f00a0f439aadc28'/>
<id>urn:sha1:8f161eaae78769e5a1d573e43f00a0f439aadc28</id>
<content type='text'>
cpo@leaf-02# show interfaces vxlan
+vxlan vxlan1 {
+    mtu 1500
+    parameters {
+        nolearning
+    }
+    port 4789
+    source-interface dum1
+    vni 100
+}

cpo@leaf-02# commit
[ interfaces vxlan vxlan1 ]
Group, remote or source-address must be configured

[[interfaces vxlan vxlan1]] failed

Extend verify() check to also honor source-interface definition.
</content>
</entry>
<entry>
<title>T4897: Fix virtual interface rebuild checks</title>
<updated>2022-12-30T11:38:12+00:00</updated>
<author>
<name>Yuxiang Zhu</name>
<email>vfreex@gmail.com</email>
</author>
<published>2022-12-29T07:00:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=355db68b5a13ec56d1949066bc44bcf2d4261213'/>
<id>urn:sha1:355db68b5a13ec56d1949066bc44bcf2d4261213</id>
<content type='text'>
`leaf_node_changed` returns `[]` (empty list) after a leaf node is
added.

e.g. Setting `source-interface` doesn't work on an existing vxlan
interface.

Steps to reproduce:

- Add a vxlan interface without `source-address` or `source-interface` options set:

```
set interfaces vxlan vxlan999 vni 999
set interfaces vxlan vxlan999 remote 192.168.100.100
commit
```

- Then set `source-address` or `source-interface`:

```
set interfaces vxlan vxlan999 source-interface eth0
commit
```

Actual result:

Source address or source-interface are not set:
```
ip -d link show dev vxlan999
76: vxlan999: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1450 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 56:08:ba:4d:4e:a8 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 65535
    vxlan id 999 remote 192.168.100.100 srcport 0 0 dstport 8472 tos inherit ttl 16 ageing 300 udpcsum noudp6zerocsumtx noudp6zerocsumrx addrgenmode none numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
```

Expected result:

```
77: vxlan999: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1450 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 9e:05:d9:58:1a:af brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 65535
    vxlan id 999 remote 192.168.100.100 dev eth0 srcport 0 0 dstport 8472 tos inherit ttl 16 ageing 300 udpcsum noudp6zerocsumtx noudp6zerocsumrx addrgenmode none numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
```

All invocations of leaf_node_changed() should be migrated to is_node_changes() if you are only interested in if something changed and don‘t care what exactly changed (content).
</content>
</entry>
<entry>
<title>vxlan: T4570: Verify MTU for remote address if source not defined</title>
<updated>2022-07-28T10:00:17+00:00</updated>
<author>
<name>Viacheslav Hletenko</name>
<email>v.gletenko@vyos.io</email>
</author>
<published>2022-07-27T11:53:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=319102b7f9ea384127b685de7cfbef2a6ade52df'/>
<id>urn:sha1:319102b7f9ea384127b685de7cfbef2a6ade52df</id>
<content type='text'>
In some cases `source_address` can be not defined in the conf
So we should to check list of `remote` vxlanX addresses
If remote address is IPv6 - add overhead +20 bytes to default
overhead 50. I.e. +70 bytes for IPv6
</content>
</entry>
</feed>
