pmlag

Poor man's link aggregation
git clone git://git.finwo.net/app/pmlag
Log | Files | Refs | README | LICENSE

commit 84ed296b712c9f7abace6cacc254a83a87df9c06
parent 44d51f2af494670e7dc34747aa6dbac3fb417984
Author: Yersa Nordman <yersa@finwo.nl>
Date:   Mon, 20 Mar 2023 22:25:57 +0100

Experiment sendto without saddr_ll

Diffstat:
Msrc/task/bond.c | 14++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/task/bond.c b/src/task/bond.c @@ -16,8 +16,8 @@ #include "iface.h" int task_bond_onpacket(struct pmlag_bond *bond, unsigned char *buffer, size_t buflen) { - struct sockaddr_ll saddr_ll; - saddr_ll.sll_halen = ETH_ALEN; + /* struct sockaddr_ll saddr_ll; */ + /* saddr_ll.sll_halen = ETH_ALEN; */ #ifdef DEBUG // Debug: print eth header @@ -45,8 +45,9 @@ int task_bond_onpacket(struct pmlag_bond *bond, unsigned char *buffer, size_t bu if (!iface) { iface_entry = bond->interfaces; while(iface_entry) { - saddr_ll.sll_ifindex = iface_entry->data->ifidx; - send_len = sendto(iface_entry->data->sockfd, buffer, buflen, 0, (const struct sockaddr*)&saddr_ll, sizeof(struct sockaddr_ll)); + // saddr_ll.sll_ifindex = iface_entry->data->ifidx; + send_len = sendto(iface_entry->data->sockfd, buffer, buflen, 0, NULL, 0); + // (const struct sockaddr*)&saddr_ll, sizeof(struct sockaddr_ll)); if(send_len != buflen) { perror("sendto"); return 1; @@ -57,8 +58,9 @@ int task_bond_onpacket(struct pmlag_bond *bond, unsigned char *buffer, size_t bu } // Forward packet to iface as-is - saddr_ll.sll_ifindex = iface->ifidx; - send_len = sendto(iface->sockfd, buffer, buflen, 0, (const struct sockaddr*)&saddr_ll, sizeof(struct sockaddr_ll)); + // saddr_ll.sll_ifindex = iface->ifidx; + send_len = sendto(iface->sockfd, buffer, buflen, 0, NULL, 0); + // (const struct sockaddr*)&saddr_ll, sizeof(struct sockaddr_ll)); if(send_len != buflen) { perror("sendto"); return 1;