]> git.feebdaed.xyz Git - linuxyz.git/commitdiff
sa kind
authorseantywork <seantywork@gmail.com>
Fri, 25 Jul 2025 02:05:32 +0000 (11:05 +0900)
committerseantywork <seantywork@gmail.com>
Fri, 25 Jul 2025 02:05:32 +0000 (11:05 +0900)
sock-netlink/xfrm.c

index 750933d0ea654191b75a52bc1b3fa855a4c30ff3..1225439c2c7ac541a64635a847eaaab9ab10175a 100644 (file)
@@ -52,9 +52,24 @@ static void netlink_xfrm_message_processor(struct nlm_resp *rsp)
        switch (rsp->n.nlmsg_type) {
 
     case XFRM_MSG_NEWSA:
+    case XFRM_MSG_UPDSA:
         printf("xfrm new sa\n");
+        struct xfrm_usersa_info* sainfo = (struct xfrm_usersa_info*) NLMSG_DATA(&rsp->n);
+
+        uint32_t spi_be = sainfo->id.spi;
+        uint32_t daddr_be = 0;
+        memcpy(&daddr_be, &sainfo->id.daddr, sizeof(uint32_t));
+        struct in_addr daddr = {
+            .s_addr = daddr_be
+        };
+        printf("spi: %4x\n", ntohl(spi_be));
+        printf("daddr: %s\n", inet_ntoa(daddr));
         break;
 
+       case XFRM_MSG_DELSA:
+               printf("xfrm del sa\n");
+               break;
+
        case XFRM_MSG_ACQUIRE:
                //netlink_acquire(&rsp->n, logger);
         printf("xfrm acquire\n");