11612Stwisti/* $FreeBSD$ */ 25776Smikael 31612Stwisti/* 41612Stwisti * Copyright (C) 2012 by Darren Reed. 51612Stwisti * 61612Stwisti * See the IPFILTER.LICENCE file for details on licencing. 71612Stwisti * 81612Stwisti * Added redirect stuff and a variety of bug fixes. (mcn@EnGarde.com) 91612Stwisti */ 101612Stwisti#include "ipf.h" 111612Stwisti#include "kmem.h" 121612Stwisti 131612Stwisti#if !defined(lint) 141612Stwististatic const char rcsid[] = "@(#)$Id$"; 151612Stwisti#endif 161612Stwisti 171612Stwisti 181612Stwisti/* 191612Stwisti * Get a nat filter type given its kernel address. 201612Stwisti */ 211612Stwistichar * 221612Stwistigetnattype(nat) 231612Stwisti nat_t *nat; 241612Stwisti{ 251612Stwisti static char unknownbuf[20]; 261879Sstefank char *which; 271879Sstefank 281879Sstefank if (!nat) 291879Sstefank return "???"; 301879Sstefank 311879Sstefank switch (nat->nat_redir) 321612Stwisti { 331612Stwisti case NAT_MAP : 341612Stwisti which = "MAP"; 351612Stwisti break; 361612Stwisti case NAT_MAPBLK : 371612Stwisti which = "MAP-BLOCK"; 381612Stwisti break; 391612Stwisti case NAT_REDIRECT : 404009Stwisti which = "RDR"; 414009Stwisti break; 424009Stwisti case NAT_MAP|NAT_REWRITE : 434009Stwisti which = "RWR-MAP"; 444009Stwisti break; 454009Stwisti case NAT_REDIRECT|NAT_REWRITE : 463879Stwisti which = "RWR-RDR"; 471612Stwisti break; 481612Stwisti case NAT_BIMAP : 491612Stwisti which = "BIMAP"; 501612Stwisti break; 511612Stwisti case NAT_REDIRECT|NAT_DIVERTUDP : 521612Stwisti which = "DIV-RDR"; 531612Stwisti break; 541612Stwisti case NAT_MAP|NAT_DIVERTUDP : 551612Stwisti which = "DIV-MAP"; 561612Stwisti break; 571612Stwisti case NAT_REDIRECT|NAT_ENCAP : 581612Stwisti which = "ENC-RDR"; 591612Stwisti break; 601612Stwisti case NAT_MAP|NAT_ENCAP : 611612Stwisti which = "ENC-MAP"; 621612Stwisti break; 631612Stwisti default : 641612Stwisti sprintf(unknownbuf, "unknown(%04x)", 651612Stwisti nat->nat_redir & 0xffffffff); 661612Stwisti which = unknownbuf; 671612Stwisti break; 681612Stwisti } 691612Stwisti return which; 701612Stwisti} 711612Stwisti