Dear all,
please find below the meeting minute of today's meeting.
# Monday the 24th of June 2024 at 13:00 UTC (15:00 CEST, 10:00 ART).
## People
Javier Jorge, Ilario, Nemael, Cri
## Topics
* Publication of old meeting logs
* GSoC New Pirania release
* GSoC Cable purpose autodetection
### Publication of old meeting logs
Cri made a lot of editing to the logs and uploaded them on the website
https://libremesh.org/communication.html#report_of_our_meetings
Ilario: Do you think we should do something similar for the mailing list?
Nemael: it is difficult to search the email from the Mailman archive.
It has no search function.
https://lists.autistici.org/list/libremesh.en.html
Cri: I used the archive link in a search engine with the prompt
"site:
https://lists.autistici.org/list/libremesh.en.html come si
cucinano gli scampi"
Nemael: I tried but did not give me anything
Ilario: I would suggest to create a file archive of all the emails and
to upload it on the website. So that people could download the big
file and import it in a local mail client (Mozilla Thunderbird)
Nemael: It is not urgent. One could forward all the emails.
Cri: we can investigate how to make it and define what to do in a
following meeting. We can also ask to the mailing list server.
Jorge:
https://lists.autistici.org/splash/index.en.html here it has a
search function! -> problem solved
### GSoC Cable purpose autodetection
Nemael:
Sent an email with some comments:
https://lists.inventati.org/message/20240624.052254.7baf61e9.en.html
Virtualization was a challenge, to get everything working and bridges
between interfaces and how Ansible and qEmu work together. Gained a
lot of understanding.
There is a lot to learn here.
Jorge: There are sooo many small details for having things working,
you can find amazing technical solutions in this project.
Nemael: Understanding how to make a package and having it work with
the rest of the code. For now on qEmu.
Javier: a small tip, we usually create an image for development, and
then import the new script into the virtual machines just copying it,
without compiling every time the whole thing. Gio compiles more
frequently but he has a server for compiling. I can share the script
to Nemael.
#### Discussion of previous emails in the mailing list
Ilario: Gio presented an interesting situation, when you use an access
point in your network that does not run LibreMesh. It could be
possible to filter the DHCP offers, because you can see if they are
obviously wrong because LibreMesh has his own DHCP server.
Lime-proto-anygw is the package that manage the dhcp server, and it
could include more rules that would filter. A firewall rule is a
solution to filter those DHCP.
https://lists.inventati.org/message/20240621.154512.993eef6b.en.html
Nemael: At the beginning of GSoC communication was more scarce. It
would be good to go through the code with someone and ask questions.
Also there are a lot of technical vocabulary.
Ilario: It would be useful to do and record it to make it watchable later
Javier: This would be a great help to onboard people.
Ilario: In the past there was stuff uploaded here, we could do the
same
https://communitynetworks.group/t/traffic-control-on-openwrt-and-libremesh/822
https://videos.apc.org/u/nicopace/m/openwrt-libremesh-image-building-learning-group/
Jorge: Until now there is no frontend nor backend for notifications in
lime-app, at some point will happen. A protoype of the backend would
be useful. Maybe it will be a daemon collecting notifications and use
ubus to ask for notifications, or shared-state for spreading the info.
The most important part is the detection.
Ilario: the ARP spoofing solution proposed in the email works but it
would be maybe too aggressive, it is basically an attack towards the
local network
https://lists.inventati.org/message/20240621.154512.993eef6b.en.html
Javier: I also don't understand what the CPU ports are used for, but
they are present in commercial routers. It happens in situations where
you have "5" ethernet ports, and 4 of them are connected to a switch
and one single port in the 'back-end'
example of board.json?
https://lxr.openwrt.org/source/netifd/config/board.json
Ilario: I vaguely remember that if a port is listed in all the
interfaces, it is the CPU port. For example in the link above it would
be lan1
Jorge: I sent Nemael the scripts for updating the files in a running
image. They are useful only for development.
board.json from Pony email
https://lists.inventati.org/message/20240621.153757.1eab7dbb.en.html
config switch_vlan
option device 'switch0'
option vlan '1'
option ports '1 2 3 0t'
Ilario: The CPU poirt is labelled "0t"
Ilario: The board.json file gets generated from the info in
/etc/board.d/... present for each target (family of routers), like
this:
https://github.com/robimarko/openwrt/blob/master/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
as you can see, the interfaces could have arbitrary names like
ethblack and ethblue.
Those files in /etc/board.d/ get executed by:
https://github.com/openwrt/openwrt/blob/main/package/base-files/files/bin/board_detect
And the board.json file gets generated using the functions in this file:
https://github.com/openwrt/openwrt/blob/main/package/base-files/files/lib/functions/uci-defaults.sh