Refactor tun_if.h

Use a common function for generating interface name. Use full interface
name in tun_if.h functions.
This commit is contained in:
Bartosz Podrygajlo
2025-02-07 12:25:35 +01:00
parent 0053a3d0f4
commit e61bf5132d
8 changed files with 123 additions and 94 deletions
+11 -5
View File
@@ -855,14 +855,18 @@ static void process_pdu_session_addr(pdu_session_establishment_accept_msg_t *msg
case PDU_SESSION_TYPE_IPV4: {
char ip[20];
capture_ipv4_addr(&addr[0], ip, sizeof(ip));
tun_config(1, ip, NULL, "oaitun_ue");
setup_ue_ipv4_route(1, ip, "oaitun_ue");
char ifname[IFNAMSIZ];
tun_generate_ifname(ifname, "oaitun_ue", 0);
tun_config(ifname, ip, NULL);
setup_ue_ipv4_route(ifname, 0, ip);
} break;
case PDU_SESSION_TYPE_IPV6: {
char ipv6[40];
capture_ipv6_addr(addr, ipv6, sizeof(ipv6));
tun_config(1, NULL, ipv6, "oaitun_ue");
char ifname[IFNAMSIZ];
tun_generate_ifname(ifname, "oaitun_ue", 0);
tun_config(ifname, NULL, ipv6);
} break;
case PDU_SESSION_TYPE_IPV4V6: {
@@ -870,8 +874,10 @@ static void process_pdu_session_addr(pdu_session_establishment_accept_msg_t *msg
capture_ipv6_addr(addr, ipv6, sizeof(ipv6));
char ipv4[20];
capture_ipv4_addr(&addr[IPv6_INTERFACE_ID_LENGTH], ipv4, sizeof(ipv4));
tun_config(1, ipv4, ipv6, "oaitun_ue");
setup_ue_ipv4_route(1, ipv4, "oaitun_ue");
char ifname[IFNAMSIZ];
tun_generate_ifname(ifname, "oaitun_ue", 0);
tun_config(ifname, ipv4, ipv6);
setup_ue_ipv4_route(ifname, 0, ipv4);
} break;
default:
+4 -2
View File
@@ -207,8 +207,10 @@ int esm_ebr_context_create(
char *ip_addr = pdn->ip_addr;
snprintf(ip, sizeof(ip), "%d.%d.%d.%d", ip_addr[0], ip_addr[1], ip_addr[2], ip_addr[3]);
const char *ifn = get_softmodem_params()->nsa ? "oaitun_nru" : "oaitun_ue";
tun_config(1, ip, NULL, ifn);
setup_ue_ipv4_route(1, ip, ifn);
char ifname[IFNAMSIZ];
tun_generate_ifname(ifname, ifn, 0);
tun_config(ifname, ip, NULL);
setup_ue_ipv4_route(ifname, 0, ip);
} break;
case NET_PDN_TYPE_IPV6: