Repository : ssh://git@diktynna/doc
On branch : master
commit d62f12e73cd541c14927791221d2b8ad2dec01e6 Merge: 865a89b 9b667d8 Author: Sven Eckelmann sven@narfation.org Date: Sat Jun 6 10:26:03 2020 +0200
Merge branch 'backup-redmine/2020-06-06'
d62f12e73cd541c14927791221d2b8ad2dec01e6 open-mesh/Contribute.rst | 2 +- open-mesh/Kernel_hacking_Debian_image.rst | 6 ++++-- open-mesh/MailingList.rst | 2 +- open-mesh/Wbmv6-batmandev-agenda.rst | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-)
diff --cc open-mesh/Contribute.rst index ceafbf1,0000000..4d8ebb1 mode 100644,000000..100644 --- a/open-mesh/Contribute.rst +++ b/open-mesh/Contribute.rst @@@ -1,124 -1,0 +1,124 @@@ +.. SPDX-License-Identifier: GPL-2.0 + +How to Contribute +================= + +Thanks for using B.A.T.M.A.N.! If you have suggestions, comments, want +to tell us about your experiences or discuss problems the best thing is +always to use the :doc:`Mailing List <MailingList>` You can always contact +us via :doc:`IRC <IRC>`. + +If you like this project and you want to take part and/or give something +back, here is a short list of starting points: + +Reporting Bugs +-------------- + +If you find a bug, please see if the problem is already known in the by +Reading the Tickets: + +- for `batman-adv </projects/batman-adv/issues>`__ +- for `batctl </projects/batctl/issues>`__ +- for `alfred </projects/alfred/issues>`__ +- for `batmand </projects/batmand/issues>`__ +- for `vis </projects/vis/issues>`__ + +If not, please add a new Ticket: + +- for `batman-adv </projects/batman-adv/issues/new>`__ +- for `batctl </projects/batctl/issues/new>`__ +- for `alfred </projects/alfred/issues/new>`__ +- for `batmand </projects/batmand/issues/new>`__ +- for `vis </projects/vis/issues/new>`__ + +Please add as much information as possible. In particular interesting +are: + +- Which branch (batman, batctl, batman-adv) +- Which version (0.X, git revision number) +- kernel version, distribution (and version) +- machine type (PC, Linksys WRT, Fon, NS2, ...) +- command line parameters used +- iptables/firewall rules +- :doc:`get a coredump </batmand/Coredump>` if you experience a segfault +- your guess what triggered the problem. ;) + +Documentation / Feedback +------------------------ + +Write an article about your experience with B.A.T.M.A.N. and have it +published here or ask us to link to your site: + +- How did you find us ? +- How does you setup look like ? +- Where are you building your mesh ? +- What problems did you encounter ? +- How did you debug / solve them ? +- What did you like / not like ? +- How can B.A.T.M.A.N. improve ? + +There's lots of people that want to know about B.A.T.M.A.N. - help us to +spread the word! You also can create a wiki account and improve the +documentation. + +Research +-------- + +B.A.T.M.A.N. gives much room for research, especially the layer 2 +implementation in the kernel. Get in touch with us to share your ideas. +If you write papers we are happy to publish them here or link to your +page. If you are looking for the right topic or mentorship feel free to +contact us. We have more ideas than time to implement them. + +Development +----------- + +You looked in the code ? Fixed bugs ? Added a cool new function ? +Integrated B.A.T.M.A.N. in a distribution ? Don't hesitate to let us and +others know! We can avoid duplicated work by publishing it here or +linking to your page. Patches are always welcome and can be posted on +the :doc:`mailing list <MailingList>` to get integrated. We also hand out +git access to people that want to get involved. + +Submitting patches +------------------ + +If you intend to send us patches, please consider the following +guidelines: + +* Prefer small & digestible over long "all in one" patches. +* No MIME, no links, no compression, no attachments. Just plain text + (patches are to be sent inline). +* Patches sent to the mailing list should include "PATCH" in the + subject to make it easier to distinguish between patches and + discussions. +* The mail's subject will become the first line in the commit message. + The body contains the longer patch description and the patch (unified + format) itself. Please also specify the target branch (e.g. batctl, + batman-adv, etc) at the beginning of the subject line. +* Add a "Signed-off-by: Your Name you@example.com" line to the patch + message to make the ownership of the patch clear. +* Patches for B.A.T.M.A.N. Advanced need to follow the linux kernel + coding style closely (use checkpatch.pl to verify your patch) as well as + the linux "how to submit patches" guidelines (search for the term + SubmitPatches to find thorough documentation). +* Check it using static analysis tools like + `sparse https://sparse.wiki.kernel.org/`__ (cgcc) and + `cppcheck http://cppcheck.sourceforge.net/`__ +* Patches against the batman-adv master branch must be formatted using + +:: + + git format-patch $BASECOMMIT + +- README, manpage and sysfs-class-net-* must be updated together with + the related source change +- Add or update kerneldoc to functions and structures you add or + modify. +- batman-adv changes affecting batctl have to be send with the batctl + patches in the same patchset +- it is recommended to use `git send-email` to send the mails to the + mailinglist +- An exemplary good submission you may want to look at can be found + here: - https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2009-December/002033.html ++ https://patchwork.open-mesh.org/project/b.a.t.m.a.n./patch/1261051915-13960-... diff --cc open-mesh/Kernel_hacking_Debian_image.rst index fd12b6a,0000000..b03350d mode 100644,000000..100644 --- a/open-mesh/Kernel_hacking_Debian_image.rst +++ b/open-mesh/Kernel_hacking_Debian_image.rst @@@ -1,438 -1,0 +1,440 @@@ +.. SPDX-License-Identifier: GPL-2.0 + +Kernel hacking Debian image +=========================== + +The :doc:`OpenWrt image <OpenWrt_in_QEMU>` is an easy way to start multiple +virtual instances. But these instances usually don���t provide the +required infrastructure to test kernel modules extensively. And it also +depends on special toolchains to prepare the used tools/modules which +should tested. + +It is often easier to use the same operating system in the virtual +environment and on the host. Only the kernel is modified here to provide +the necessary helpers for in-kernel development. + +An interested reader might even extend this further to only provide a +modified kernel and use the currently running rootfs also in the virtual +environment. Such an approach is used in `hostap���s test +vm https://w1.fi/cgit/hostap/tree/tests/hwsim/vm`__ but it is out of +scope for this document. + +Create an Image +--------------- + +The debian root filesystem is used here to a minimal system to boot and +run the test programs. It is a simple ext4 filesystem with only +userspace components from Debian. The configuration is changed to: + +* automatically mount the shared folder +* automatically set up a static IPv4 address and hostname on bootup +* start a test-init.sh script from the shared folder on bootup +* disable root password +* prefer batctl binary from shared folder���s batctl subdirectory instead + of virtual environment binary + +The installation is also cleaned up at the end to reduce the required +storage space + +.. code-block:: sh + + qemu-img create debian.img 8G + sudo mkfs.ext4 -O '^has_journal' -F debian.img + sudo mkdir debian + sudo mount -o loop debian.img debian + sudo debootstrap buster debian + sudo chroot debian apt update + sudo chroot debian apt install --no-install-recommends build-essential vim openssh-server less \ + pkg-config libnl-3-dev libnl-genl-3-dev libcap-dev tcpdump rng-tools5 \ + trace-cmd flex bison libelf-dev libdw-dev binutils-dev libunwind-dev libssl-dev libslang2-dev liblzma-dev libperl-dev + + sudo mkdir debian/root/.ssh/ + ssh-add -L | sudo tee debian/root/.ssh/authorized_keys + + sudo mkdir debian/host + sudo sh -c 'cat > debian/etc/fstab << EOF + host /host 9p trans=virtio,version=9p2000.L 0 0 + EOF' + + sudo sh -c 'cat > debian/etc/rc.local << "EOF" + #!/bin/sh -e + + MAC_PART="$(ip link show enp0s1 | awk "/ether/ {print $2}"| sed -e "s/.*://" -e "s/[\n\ ].*//"|awk "{print ("0x"$1)*1 }")" + IP_PART="$(echo $MAC_PART|awk "{ print $1+50 }")" + NODE_NR="$(echo $MAC_PART|awk "{ printf("%02d", $1) }")" + ip addr add 192.168.251.${IP_PART}/24 dev enp0s1 + ip link set up dev enp0s1 + hostname "node"$NODE_NR + ip link set up dev lo + [ ! -x /host/test-init.sh ] || /host/test-init.sh + exit 0 + EOF' + sudo chmod a+x debian/etc/rc.local + + sudo sed -i 's/^root:[^:]*:/root::/' debian/etc/shadow + + ## optionally: allow ssh logins without passwords + # sudo sed -i 's/^#PermitRootLogin.*/PermitRootLogin yes/' debian/etc/ssh/sshd_config + # sudo sed -i 's/^#PermitEmptyPasswords.*/PermitEmptyPasswords yes/' debian/etc/ssh/sshd_config + # sudo sed -i 's/^UsePAM.*/UsePAM no/' debian/etc/ssh/sshd_config + + ## optionally: enable autologin for user root + #sudo mkdir debian/etc/systemd/system/serial-getty@hvc0.service.d/ + #sudo sh -c 'cat > debian/etc/systemd/system/serial-getty@hvc0.service.d/autologin.conf << EOF + #[Service] + #ExecStart= + #ExecStart=-/sbin/agetty --autologin root -s %I 115200,38400,9600 vt102 + #EOF' + + sudo sh -c 'echo '''PATH="/host/batctl/:$PATH"''' >> debian/etc/profile' + sudo rm debian/var/cache/apt/archives/*.deb + sudo rm debian/var/lib/apt/lists/* + sudo e4defrag -v debian/ + sudo umount debian + sudo fsck.ext4 -fD debian.img + sudo zerofree -v debian.img + sudo fallocate --dig-holes debian.img + + + ## optionally: convert image to qcow2 + #sudo qemu-img convert -c -f raw -O qcow2 debian.img debian.qcow2 + #sudo mv debian.qcow2 debian.img + +Kernel compile +-------------- + +Any recent kernel can be used for the setup. We will use linux-next here +to get the most recent development kernels. It is also assumed that the +sources are copied to the same directory as the debian.img and a x86_64 +image will be used. + +The kernel will be build to enhance the virtualization and debugging +experience. It is configured with: + +* basic kernel features +* support for necessary drivers +* kernel hacking helpers +* kernel address + undefined sanitizers +* support for hwsim + +.. code-block:: sh + + # make sure that libelf-dev is installed or module build will fail with something like "No rule to make target 'net/batman-adv/bat_algo.o'" + + git clone git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git + cd linux-next + + make allnoconfig + cat >> .config << EOF + + # small configuration + CONFIG_SMP=y + CONFIG_EMBEDDED=n + # CONFIG_EXPERT is not set + CONFIG_MODULES=y + CONFIG_MODULE_UNLOAD=y + CONFIG_MODVERSIONS=y + CONFIG_MODULE_SRCVERSION_ALL=y + CONFIG_64BIT=y + CONFIG_X86_VSYSCALL_EMULATION=n + CONFIG_IA32_EMULATION=n + CONFIG_VOP_BUS=y + CONFIG_VOP=y + CONFIG_HW_RANDOM_VIRTIO=y + CONFIG_NET_9P_VIRTIO=y + CONFIG_VIRTIO_MENU=y + CONFIG_SCSI_VIRTIO=y + CONFIG_VIRTIO_BALLOON=y + CONFIG_VIRTIO_BLK=y + CONFIG_VIRTIO_CONSOLE=y + CONFIG_VIRTIO_INPUT=y + CONFIG_VIRTIO_NET=y + CONFIG_VIRTIO_PCI=y + CONFIG_VIRTIO_PCI_LEGACY=y + CONFIG_VIRTIO_BALLOON=y + CONFIG_VIRTIO_BLK_SCSI=y + CONFIG_VIRTIO_INPUT=y + CONFIG_VIRTIO_MMIO=y + CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y + CONFIG_RPMSG_VIRTIO=y + CONFIG_VSOCKETS=y + CONFIG_VIRTIO_VSOCKETS=y + CONFIG_DRM=y + CONFIG_DRM_VIRTIO_GPU=y + CONFIG_CAIF=y + CONFIG_CAIF_VIRTIO=y + CONFIG_CRYPTO_DEV_VIRTIO=y + CONFIG_FUSE_FS=y + CONFIG_VIRTIO_FS=y + CONFIG_IOMMU_SUPPORT=y + CONFIG_VIRTIO_IOMMU=y + CONFIG_LIBNVDIMM=y + CONFIG_VIRTIO_PMEM=y + CONFIG_CRC16=y + CONFIG_LIBCRC32C=y + CONFIG_CRYPTO_SHA512=y + CONFIG_NET=y + CONFIG_INET=y + CONFIG_DEBUG_FS=y + CONFIG_IPV6=y + CONFIG_BRIDGE=y + CONFIG_VLAN_8021Q=y + CONFIG_WIRELESS=n + CONFIG_NET_9P=y + CONFIG_NETWORK_FILESYSTEMS=y + CONFIG_9P_FS=y + CONFIG_9P_FS_POSIX_ACL=y + CONFIG_9P_FS_SECURITY=y + CONFIG_BLOCK=y + CONFIG_BLK_DEV=y + CONFIG_EXT4_FS=y + CONFIG_EXT4_USE_FOR_EXT23=y + CONFIG_TTY=y + CONFIG_HW_RANDOM=y + CONFIG_VHOST_RING=y + CONFIG_GENERIC_ALLOCATOR=y + CONFIG_SCSI_LOWLEVEL=y + CONFIG_SCSI=y + CONFIG_NETDEVICES=y + CONFIG_NET_CORE=y + CONFIG_DEVTMPFS=y + CONFIG_HYPERVISOR_GUEST=y + CONFIG_PVH=y + CONFIG_PARAVIRT=y + CONFIG_PARAVIRT_TIME_ACCOUNTING=y + CONFIG_PARAVIRT_SPINLOCKS=y + CONFIG_KVM_GUEST=y + CONFIG_BINFMT_ELF=y + CONFIG_BINFMT_SCRIPT=y + CONFIG_BINFMT_MISC=y + CONFIG_PCI=y + CONFIG_SYSVIPC=y + CONFIG_POSIX_MQUEUE=y + CONFIG_CROSS_MEMORY_ATTACH=y + CONFIG_UNIX=y + CONFIG_TMPFS=y + CONFIG_CGROUPS=y + CONFIG_BLK_CGROUP=y + CONFIG_CGROUP_CPUACCT=y + CONFIG_CGROUP_DEVICE=y + CONFIG_CGROUP_FREEZER=y + CONFIG_CGROUP_HUGETLB=y + CONFIG_CGROUP_NET_CLASSID=y + CONFIG_CGROUP_NET_PRIO=y + CONFIG_CGROUP_PERF=y + CONFIG_CGROUP_SCHED=y + CONFIG_DEVPTS_MULTIPLE_INSTANCES=y + CONFIG_INOTIFY_USER=y + CONFIG_FHANDLE=y + CONFIG_CFG80211=y + CONFIG_DUMMY=y + CONFIG_PACKET=y + CONFIG_VETH=y + CONFIG_IP_MULTICAST=y + CONFIG_NET_IPGRE_DEMUX=y + CONFIG_NET_IP_TUNNEL=y + CONFIG_NET_IPGRE=y + CONFIG_NET_IPGRE_BROADCAST=y + # CONFIG_LEGACY_PTYS is not set + CONFIG_NO_HZ_IDLE=y + CONFIG_CPU_IDLE_GOV_HALTPOLL=y + CONFIG_PVPANIC=y + + # makes boot a lot slower but required for shutdown + CONFIG_ACPI=y + + + #debug stuff + CONFIG_CC_STACKPROTECTOR_STRONG=y + CONFIG_LOCKUP_DETECTOR=y + CONFIG_DETECT_HUNG_TASK=y + CONFIG_SCHED_STACK_END_CHECK=y + CONFIG_DEBUG_RT_MUTEXES=y + CONFIG_DEBUG_SPINLOCK=y + CONFIG_DEBUG_MUTEXES=y + CONFIG_PROVE_LOCKING=y + CONFIG_LOCK_STAT=y + CONFIG_DEBUG_LOCKDEP=y + CONFIG_DEBUG_ATOMIC_SLEEP=y + CONFIG_DEBUG_LIST=y + CONFIG_DEBUG_PI_LIST=y + CONFIG_DEBUG_SG=y + CONFIG_DEBUG_NOTIFIERS=y + CONFIG_PROVE_RCU_REPEATEDLY=y + CONFIG_SPARSE_RCU_POINTER=y + CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y + CONFIG_X86_VERBOSE_BOOTUP=y + CONFIG_DEBUG_RODATA=y + CONFIG_DEBUG_RODATA_TEST=n + CONFIG_DEBUG_SET_MODULE_RONX=y + CONFIG_PAGE_EXTENSION=y + CONFIG_DEBUG_PAGEALLOC=y + CONFIG_DEBUG_OBJECTS=y + CONFIG_DEBUG_OBJECTS_FREE=y + CONFIG_DEBUG_OBJECTS_TIMERS=y + CONFIG_DEBUG_OBJECTS_WORK=y + CONFIG_DEBUG_OBJECTS_RCU_HEAD=y + CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y + CONFIG_DEBUG_KMEMLEAK=y + CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=8000 + CONFIG_DEBUG_STACK_USAGE=y + CONFIG_DEBUG_STACKOVERFLOW=y + CONFIG_DEBUG_INFO=y + CONFIG_DEBUG_INFO_DWARF4=y + CONFIG_GDB_SCRIPTS=y + CONFIG_READABLE_ASM=y + CONFIG_STACK_VALIDATION=y + CONFIG_WQ_WATCHDOG=y + CONFIG_DEBUG_KOBJECT_RELEASE=y + CONFIG_DEBUG_WQ_FORCE_RR_CPU=y + CONFIG_OPTIMIZE_INLINING=y + CONFIG_ENABLE_MUST_CHECK=y + CONFIG_ENABLE_WARN_DEPRECATED=y + CONFIG_DEBUG_SECTION_MISMATCH=y + CONFIG_UNWINDER_ORC=y + CONFIG_FTRACE=y + CONFIG_FUNCTION_TRACER=y + CONFIG_FUNCTION_GRAPH_TRACER=y + CONFIG_FTRACE_SYSCALLS=y + CONFIG_TRACER_SNAPSHOT=y + CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP=y + CONFIG_STACK_TRACER=y + CONFIG_UPROBE_EVENTS=y + CONFIG_DYNAMIC_FTRACE=y + CONFIG_FUNCTION_PROFILER=y + CONFIG_HIST_TRIGGERS=y + CONFIG_SYMBOLIC_ERRNAME=y + CONFIG_DYNAMIC_DEBUG=y + CONFIG_PRINTK_TIME=y + CONFIG_PRINTK_CALLER=y + CONFIG_DEBUG_MISC=y + CONFIG_PROVE_RCU_LIST=y + + # for GCC 5+ + CONFIG_KASAN=y + CONFIG_KASAN_INLINE=y + CONFIG_UBSAN_SANITIZE_ALL=y + CONFIG_UBSAN=y + CONFIG_UBSAN_NULL=y + EOF + make olddefconfig + + cat >> .config << EOF + # allow to use unsigned regdb with hwsim + CONFIG_EXPERT=y + CONFIG_CFG80211_CERTIFICATION_ONUS=y + # CONFIG_CFG80211_REQUIRE_SIGNED_REGDB is not set + EOF + make olddefconfig + + make all -j$(nproc || echo 1) + +Build the BIOS +-------------- + +The (sea)bios used by qemu is nice to boot all kind of legacy images but +reduces the performance for booting a paravirtualized Linux system. +Something like qboot works better for this purpose: + +.. code-block:: sh + + git clone https://github.com/bonzini/qboot.git - make -C qboot ++ cd qboot ++ meson build && ninja -C build ++ cd .. + +.. _open-mesh-kernel-hacking-debian-image-building-the-batman-adv-module: + +Building the batman-adv module +------------------------------ + +The kernel module can be build outside the virtual environment and +shared over the 9p mount. The path to the kernel sources have to be +provided to the make process + +.. code-block:: sh + + make KERNELPATH="$(pwd)/../linux-next" + +The kernel module can also be compiled in a way which creates better +stack traces and increases the usability with (k)gdb: + +.. code-block:: sh + + make EXTRA_CFLAGS="-fno-inline -Og -fno-optimize-sibling-calls" KERNELPATH="$(pwd)/../linux-next" V=1 + +Start of the environment +------------------------ + +virtual network initialization +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The +:ref:`virtual-network.sh from the OpenWrt environment <open-mesh-openwrt-in-qemu-virtual-network-initialization>` +can be reused again. + +VM instances bringup +~~~~~~~~~~~~~~~~~~~~ + +The +:ref:`run.sh from the OpenWrt environment <open-mesh-openwrt-in-qemu-vm-instances-bringup>` +can mostly be reused. There are only minimal +adjustments required. + +The BASE_IMG is of course no longer the same because a new image +���debian.img��� was created for our new environment. The image also doesn���t +contain a bootloader or kernel anymore. The kernel must now be supplied +manually to qemu. + +.. code-block:: sh + + BASE_IMG=debian.img - BOOTARGS+=("-bios" "qboot/bios.bin") ++ BOOTARGS+=("-bios" "qboot/build/bios.bin") + BOOTARGS+=("-kernel" "linux-next/arch/x86/boot/bzImage") + BOOTARGS+=("-append" "root=/dev/vda rw console=hvc0 nokaslr tsc=reliable no_timer_check noreplace-smp rootfstype=ext4 rcupdate.rcu_expedited=1 reboot=t pci=lastbus=0 i8042.direct=1 i8042.dumbkbd=1 i8042.nopnp=1 i8042.noaux=1") + BOOTARGS+=("-device" "virtconsole,chardev=charconsole0,id=console0") + +It is also recommended to use linux-next/vmlinux instead of bzImage with +qemu 4.0.0 (or later) + +Automatic test initialization +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The +:ref:`test-init.sh from the OpenWrt environment <open-mesh-openwrt-in-qemu-automatic-test-initialization>` +is always test specific. But its main +functionality is still the same as before. A simple example would be: + +.. code-block:: sh + + cat > test-init.sh << "EOF" + #! /bin/sh + + set -e + + ## get internet access + dhclient enp0s2 + + ## Simple batman-adv setup + + # ip link add dummy0 type dummy + ip link set up dummy0 + + rmmod batman-adv || true + insmod /host/batman-adv/net/batman-adv/batman-adv.ko + /host/batctl/batctl routing_algo BATMAN_IV + /host/batctl/batctl if add dummy0 + /host/batctl/batctl it 5000 + /host/batctl/batctl if add enp0s1 + ip link set up dev enp0s1 + ip link set up dev bat0 + EOF + + chmod +x test-init.sh + +Start +----- + +The startup method +:ref:`from the OpenWrt environment <open-mesh-openwrt-in-qemu-start>` +should be used here. diff --cc open-mesh/MailingList.rst index 15d4b4a,0000000..8939fdc mode 100644,000000..100644 --- a/open-mesh/MailingList.rst +++ b/open-mesh/MailingList.rst @@@ -1,16 -1,0 +1,16 @@@ +.. SPDX-License-Identifier: GPL-2.0 + +Mailing List +============ + +You can subscribe to our Mailing Lists +`here https://lists.open-mesh.org/`__. You can also send an E-Mail +without subscription to b.a.t.m.a.n@lists.open-mesh.org, but keep in +mind that this message will have to be accepted manually (and this can +take some time). + +*Note*: HTML email will be rejected - just plain text is allowed (this +cuts the rate of SPAM mails dramatically). + +Old messages can be read in the `B.A.T.M.A.N. - archives https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/`__. ++archives https://lists.open-mesh.org/mailman3/hyperkitty/list/b.a.t.m.a.n@lists.open-mesh.org/`__. diff --cc open-mesh/Wbmv6-batmandev-agenda.rst index 62bf8d1,0000000..751258b mode 100644,000000..100644 --- a/open-mesh/Wbmv6-batmandev-agenda.rst +++ b/open-mesh/Wbmv6-batmandev-agenda.rst @@@ -1,68 -1,0 +1,68 @@@ +.. SPDX-License-Identifier: GPL-2.0 + +Wbmv6-batmandev-agenda +====================== + +Celebration! +------------ + +Find something to celebrate (something different from last year). + +Would be good if we do +---------------------- + +- Big Compat Dump, consisting in integration of: + + - TVLV + - FRAGv2 + - CRC32 in TT + - Improve packet format design to avoid __packed (?) + - bandwidth meter packet format integration (? not sure if this does + really hurt since bw meter uses icmp) + +Testing +------- + +- Catwoman (Throughput test) + +Concept discussion +------------------ + +* B.A.T.M.A.N. V (which includes bandwidth aware ELP and OGMv2) +* OGMv3 (no-tt OGM) +* Multicast (evolution) support inclusion +* `Howto to optimise the Bandwidth based GW - selection https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2013-January/008964.html`__ ++ selection https://lists.open-mesh.org/mailman3/hyperkitty/list/b.a.t.m.a.n@lists.open-mesh.org/message/5FJF5RSSYJVX4R3TLCIZ2A3Z2BTXENHH/`__ +* Multiple L3 border Gateways to the same network: how to choose the + best one assuming each of them has a different (L3) cost to the + destination +* Some notes were taken in the past about possible improvements to the + GW feature. We may want to consider them: + +:: + + - Multiple gw for multiple networks + Tag the GW so that you can choose the best among a single class and keep a + list of the best gws (one per class). + Each class can connect the mesh to a different network, therefore we would + want to communicate to several gw at the same time, not in mutual exclusion. + +- mac80211 like DebugFS structure +- Fragmentation v2: advertise MTUs to avoid re-fragmentation? + +Talk +---- + +- Catwoman II (aka Fox) + +Others +------ + +- [STRIKEOUT:GSOC 2013] + + - [STRIKEOUT:decide mentors availability] + - [STRIKEOUT:think about possible projects] + +- Maint release cycle (i.e. Stable versions) +- Compat code maintenance (split kernel-module and out-of-the-kernel + package development?)