cipso_v4_validate(9)
π NAME π
Bestie, meet cipso_v4_validate β Validate a CIPSO option. This is the cipso_v4_validate(9) page from the Kernel API Manual, and it's here to do exactly that one job. π
β¨ SYNOPSIS β¨
Here's the signature, character for character, no edits:
int cipso_v4_validate (const struct sk_buff *skb , unsigned char
**option );
π«Ά ARGUMENTS π«Ά
Only two args, and they are doing very different jobs:
skbβ the packet. πΈoptionβ the start of the option; on error it is set to point to the error. π
π DESCRIPTION π
Okay so this routine is called to validate a CIPSO option: it checks all of the fields to make sure they're at least valid, and the draft snippet below is where the details live. π§
If the option is valid, then a zero value is returned and the value of option is unchanged. π If the option is invalid, then a non-zero value is returned and option is adjusted to point to the offending portion of the option. π
From the IETF draft ...
"If any field within the CIPSO options, such as the DOI identifier, is not recognized the IP datagram is discarded and an ICMP 'parameter problem' (type 12) is generated and returned. The ICMP code field is set to 'bad parameter' (code 0) and the pointer is set to the start of the CIPSO field that is unrecognized."
π SEE ALSO π
The kernel file ./net/ipv4/cipso_ipv4.c is the home base, and then the related-call guest list is long, bestie. Every single one is here:
cipso_v4_cache_entry_free(9)cipso_v4_map_cache_hash(9)cipso_v4_cache_init(9)cipso_v4_cache_invalidate(9)cipso_v4_cache_check(9)cipso_v4_cache_add(9)cipso_v4_doi_search(9)cipso_v4_doi_add(9)cipso_v4_doi_free(9)cipso_v4_doi_free_rcu(9)cipso_v4_doi_remove(9)cipso_v4_doi_getdef(9)cipso_v4_doi_putdef(9)cipso_v4_doi_walk(9)cipso_v4_map_lvl_valid(9)cipso_v4_map_lvl_hton(9)cipso_v4_map_lvl_ntoh(9)cipso_v4_map_cat_rbm_valid(9)cipso_v4_map_cat_rbm_hton(9)cipso_v4_map_cat_rbm_ntoh(9)cipso_v4_map_cat_enum_valid(9)cipso_v4_map_cat_enum_hton(9)cipso_v4_map_cat_enum_ntoh(9)cipso_v4_map_cat_rng_valid(9)cipso_v4_map_cat_rng_hton(9)cipso_v4_map_cat_rng_ntoh(9)cipso_v4_gentag_hdr(9)cipso_v4_gentag_rbm(9)cipso_v4_parsetag_rbm(9)cipso_v4_gentag_enum(9)cipso_v4_parsetag_enum(9)cipso_v4_gentag_rng(9)cipso_v4_parsetag_rng(9)cipso_v4_gentag_loc(9)cipso_v4_parsetag_loc(9)cipso_v4_optptr(9)cipso_v4_error(9)cipso_v4_genopt(9)cipso_v4_sock_setattr(9)cipso_v4_req_setattr(9)cipso_v4_delopt(9)cipso_v4_sock_delattr(9)cipso_v4_req_delattr(9)cipso_v4_getattr(9)cipso_v4_sock_getattr(9)cipso_v4_skbuff_setattr(9)cipso_v4_skbuff_delattr(9)cipso_v4_init(9)
Mwah π β source/version: ./net/ipv4; date: October 2026; manual page: cipso_v4_validate(9). Go validate something, bestie. πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms